f17fd9555ce0e51a9dcc7ee84c3a2c6cb382812f
[gnulib.git] / ChangeLog
1 2009-12-26  Bruno Haible  <bruno@clisp.org>
2
3         javacomp: Portability fix.
4         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
5         that it also works on Solaris.
6
7 2009-12-26  Bruno Haible  <bruno@clisp.org>
8
9         localename: Fix storage allocation of gl_locale_name_thread's result.
10         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
11         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
12         all platforms that have 'uselocale'.
13         (gl_locale_name_thread_unsafe): New function, extracted from
14         gl_locale_name_thread.
15         (gl_locale_name_thread): Call struniq on all platforms that have
16         'uselocale'.
17         * tests/test-localename.c (test_locale_name_thread): Check that the
18         resulting strings are permanently allocated.
19         * modules/localename-tests (Depends-on): Add strdup.
20
21 2009-12-26  Bruno Haible  <bruno@clisp.org>
22
23         * tests/test-localename.c (categories): Fill in the strings.
24
25 2009-12-26  Jim Meyering  <meyering@redhat.com>
26
27         isdir: complete the removal of m4/isdir.m4
28         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
29
30         isdir: clean up, since at least grep still uses it
31         * lib/isdir.c: Include "isdir.h".
32         (S_ISDIR): Remove now-unneeded definition.
33         * modules/isdir (Files): Add lib/isdir.h.
34         * lib/isdir.h: New file, with declaration.
35         * m4/isdir.m4: Remove file -- unneeded.
36
37 2009-12-25  Bruno Haible  <bruno@clisp.org>
38
39         selinux-h: Make generated .h files standalone.
40         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
41         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
42         * lib/se-selinux.in.h: Likewise.
43         * modules/selinux-h (Depends-on): Add unused-parameter.
44         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
45         selinux/selinux.h and selinux/context.h.
46         Suggested by Eric Blake.
47
48 2009-12-25  Bruno Haible  <bruno@clisp.org>
49
50         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
51         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
52         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
53         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
54         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
55
56 2009-12-24  Bruno Haible  <bruno@clisp.org>
57
58         openat: Fix warning.
59         * lib/openat-proc.c: Include <unistd.h>.
60
61 2009-12-24  Bruno Haible  <bruno@clisp.org>
62
63         New module 'unused-parameter'.
64         * build-aux/unused-parameter.h: New file, extracted from earlier
65         gnulib-common.m4.
66         * modules/unused-parameter: New file.
67         * lib/unistr.h: Include unused-parameter.h.
68         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
69         _GL_UNUSED.
70         * modules/unistr/base (Depends-on): Add unused-parameter.
71
72 2009-12-24  Bruno Haible  <bruno@clisp.org>
73
74         Add missing dependencies to 'extensions' module.
75         * m4/extensions.m4: Add comment.
76         * modules/accept4 (Depends-on): Add extensions.
77         * modules/dup3 (Depends-on): Likewise.
78         * modules/fcntl (Depends-on): Likewise.
79         * modules/futimens (Depends-on): Likewise.
80         * modules/mknod (Depends-on): Likewise.
81         * modules/pipe2 (Depends-on): Likewise.
82         * modules/stat-time (Depends-on): Likewise.
83         * modules/strcasestr-simple (Depends-on): Likewise.
84         * modules/strsignal (Depends-on): Likewise.
85         * modules/utimensat (Depends-on): Likewise.
86         * modules/localcharset (Depends-on): Likewise. Needed because of
87         gl_FCNTL_O_FLAGS.
88         * modules/wcrtomb (Depends-on): Likewise. Needed because of
89         AC_TYPE_MBSTATE_T.
90         * modules/wcsnrtombs (Depends-on): Likewise.
91         * modules/wcsrtombs (Depends-on): Likewise.
92
93 2009-12-24  Bruno Haible  <bruno@clisp.org>
94
95         binary-io: Avoid gcc warning due to SET_BINARY.
96         * lib/binary-io.h (SET_BINARY): Cast the result to void.
97         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
98
99 2009-12-24  Bruno Haible  <bruno@clisp.org>
100
101         Avoid future namespace pollution on glibc systems.
102         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
103         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
104         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
105         glibc systems.
106
107 2009-12-24  Bruno Haible  <bruno@clisp.org>
108
109         Refactor common macros used in tests.
110         * tests/macros.h: New file.
111         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
112         and/or <stdlib.h>, if appropriate.
113         (ASSERT, SIZEOF): Remove macros.
114         * tests/test-areadlink-with-size.c: Likewise.
115         * tests/test-areadlinkat.c: Likewise.
116         * tests/test-areadlinkat-with-size.c: Likewise.
117         * tests/test-argmatch.c: Likewise.
118         * tests/test-argv-iter.c: Likewise.
119         * tests/test-array-mergesort.c: Likewise.
120         * tests/test-array_list.c: Likewise.
121         * tests/test-array_oset.c: Likewise.
122         * tests/test-avltree_list.c: Likewise.
123         * tests/test-avltree_oset.c: Likewise.
124         * tests/test-avltreehash_list.c: Likewise.
125         * tests/test-base64.c: Likewise.
126         * tests/test-binary-io.c: Likewise.
127         * tests/test-bitrotate.c: Likewise.
128         * tests/test-btowc.c: Likewise.
129         * tests/test-byteswap.c: Likewise.
130         * tests/test-c-ctype.c: Likewise.
131         * tests/test-c-stack.c: Likewise.
132         * tests/test-c-strcasecmp.c: Likewise.
133         * tests/test-c-strcasestr.c: Likewise.
134         * tests/test-c-strncasecmp.c: Likewise.
135         * tests/test-c-strstr.c: Likewise.
136         * tests/test-canonicalize-lgpl.c: Likewise.
137         * tests/test-canonicalize.c: Likewise.
138         * tests/test-carray_list.c: Likewise.
139         * tests/test-ceilf1.c: Likewise.
140         * tests/test-ceilf2.c: Likewise.
141         * tests/test-ceill.c: Likewise.
142         * tests/test-chown.c: Likewise.
143         * tests/test-cloexec.c: Likewise.
144         * tests/test-copy-acl.c: Likewise.
145         * tests/test-copy-file.c: Likewise.
146         * tests/test-count-one-bits.c: Likewise.
147         * tests/test-dprintf-posix.c: Likewise.
148         * tests/test-dup2.c: Likewise.
149         * tests/test-dup3.c: Likewise.
150         * tests/test-duplocale.c: Likewise.
151         * tests/test-fbufmode.c: Likewise.
152         * tests/test-fchdir.c: Likewise.
153         * tests/test-fchownat.c: Likewise.
154         * tests/test-fcntl-safer.c: Likewise.
155         * tests/test-fcntl.c: Likewise.
156         * tests/test-fdopendir.c: Likewise.
157         * tests/test-fdutimensat.c: Likewise.
158         * tests/test-fflush2.c: Likewise.
159         * tests/test-file-has-acl.c: Likewise.
160         * tests/test-filevercmp.c: Likewise.
161         * tests/test-flock.c: Likewise.
162         * tests/test-floorf1.c: Likewise.
163         * tests/test-floorf2.c: Likewise.
164         * tests/test-floorl.c: Likewise.
165         * tests/test-fnmatch.c: Likewise.
166         * tests/test-fopen.h: Likewise.
167         * tests/test-fpending.c: Likewise.
168         * tests/test-fprintf-posix.c: Likewise.
169         * tests/test-fpurge.c: Likewise.
170         * tests/test-freadable.c: Likewise.
171         * tests/test-freadahead.c: Likewise.
172         * tests/test-freading.c: Likewise.
173         * tests/test-freadptr.c: Likewise.
174         * tests/test-freadptr2.c: Likewise.
175         * tests/test-freadseek.c: Likewise.
176         * tests/test-freopen.c: Likewise.
177         * tests/test-frexp.c: Likewise.
178         * tests/test-frexpl.c: Likewise.
179         * tests/test-fseek.c: Likewise.
180         * tests/test-fseeko.c: Likewise.
181         * tests/test-fstatat.c: Likewise.
182         * tests/test-fstrcmp.c: Likewise.
183         * tests/test-fsync.c: Likewise.
184         * tests/test-ftell.c: Likewise.
185         * tests/test-ftello.c: Likewise.
186         * tests/test-func.c: Likewise.
187         * tests/test-futimens.c: Likewise.
188         * tests/test-fwritable.c: Likewise.
189         * tests/test-fwriting.c: Likewise.
190         * tests/test-getcwd.c: Likewise.
191         * tests/test-getdate.c: Likewise.
192         * tests/test-getdelim.c: Likewise.
193         * tests/test-getdtablesize.c: Likewise.
194         * tests/test-getgroups.c: Likewise.
195         * tests/test-getline.c: Likewise.
196         * tests/test-getndelim2.c: Likewise.
197         * tests/test-glob.c: Likewise.
198         * tests/test-hash.c: Likewise.
199         * tests/test-i-ring.c: Likewise.
200         * tests/test-iconv-utf.c: Likewise.
201         * tests/test-iconv.c: Likewise.
202         * tests/test-idpriv-drop.c: Likewise.
203         * tests/test-idpriv-droptemp.c: Likewise.
204         * tests/test-inet_ntop.c: Likewise.
205         * tests/test-inet_pton.c: Likewise.
206         * tests/test-isblank.c: Likewise.
207         * tests/test-isfinite.c: Likewise.
208         * tests/test-isinf.c: Likewise.
209         * tests/test-isnan.c: Likewise.
210         * tests/test-isnand.h: Likewise.
211         * tests/test-isnanf.h: Likewise.
212         * tests/test-isnanl.h: Likewise.
213         * tests/test-lchown.c: Likewise.
214         * tests/test-ldexpl.c: Likewise.
215         * tests/test-link.c: Likewise.
216         * tests/test-linkat.c: Likewise.
217         * tests/test-linked_list.c: Likewise.
218         * tests/test-linkedhash_list.c: Likewise.
219         * tests/test-localename.c: Likewise.
220         * tests/test-lseek.c: Likewise.
221         * tests/test-lstat.c: Likewise.
222         * tests/test-mbmemcasecmp.c: Likewise.
223         * tests/test-mbmemcasecoll.c: Likewise.
224         * tests/test-mbrtowc.c: Likewise.
225         * tests/test-mbscasecmp.c: Likewise.
226         * tests/test-mbscasestr1.c: Likewise.
227         * tests/test-mbscasestr2.c: Likewise.
228         * tests/test-mbscasestr3.c: Likewise.
229         * tests/test-mbscasestr4.c: Likewise.
230         * tests/test-mbschr.c: Likewise.
231         * tests/test-mbscspn.c: Likewise.
232         * tests/test-mbsinit.c: Likewise.
233         * tests/test-mbsncasecmp.c: Likewise.
234         * tests/test-mbsnrtowcs.c: Likewise.
235         * tests/test-mbspbrk.c: Likewise.
236         * tests/test-mbspcasecmp.c: Likewise.
237         * tests/test-mbsrchr.c: Likewise.
238         * tests/test-mbsrtowcs.c: Likewise.
239         * tests/test-mbsspn.c: Likewise.
240         * tests/test-mbsstr1.c: Likewise.
241         * tests/test-mbsstr2.c: Likewise.
242         * tests/test-mbsstr3.c: Likewise.
243         * tests/test-memchr.c: Likewise.
244         * tests/test-memchr2.c: Likewise.
245         * tests/test-memcmp.c: Likewise.
246         * tests/test-memmem.c: Likewise.
247         * tests/test-memrchr.c: Likewise.
248         * tests/test-mkdir.c: Likewise.
249         * tests/test-mkdirat.c: Likewise.
250         * tests/test-mkfifo.c: Likewise.
251         * tests/test-mkfifoat.c: Likewise.
252         * tests/test-mknod.c: Likewise.
253         * tests/test-nanosleep.c: Likewise.
254         * tests/test-nl_langinfo.c: Likewise.
255         * tests/test-obstack-printf.c: Likewise.
256         * tests/test-open.c: Likewise.
257         * tests/test-openat.c: Likewise.
258         * tests/test-pipe-filter-gi1.c: Likewise.
259         * tests/test-pipe-filter-gi2-main.c: Likewise.
260         * tests/test-pipe-filter-ii1.c: Likewise.
261         * tests/test-pipe-filter-ii2-main.c: Likewise.
262         * tests/test-pipe2.c: Likewise.
263         * tests/test-popen.h: Likewise.
264         * tests/test-posixtm.c: Likewise.
265         * tests/test-pread.c: Likewise.
266         * tests/test-printf-frexp.c: Likewise.
267         * tests/test-printf-frexpl.c: Likewise.
268         * tests/test-printf-posix.c: Likewise.
269         * tests/test-priv-set.c: Likewise.
270         * tests/test-quotearg.c: Likewise.
271         * tests/test-random_r.c: Likewise.
272         * tests/test-rawmemchr.c: Likewise.
273         * tests/test-rbtree_list.c: Likewise.
274         * tests/test-rbtree_oset.c: Likewise.
275         * tests/test-rbtreehash_list.c: Likewise.
276         * tests/test-readlink.c: Likewise.
277         * tests/test-remove.c: Likewise.
278         * tests/test-rename.c: Likewise.
279         * tests/test-renameat.c: Likewise.
280         * tests/test-rmdir.c: Likewise.
281         * tests/test-round1.c: Likewise.
282         * tests/test-roundf1.c: Likewise.
283         * tests/test-roundl.c: Likewise.
284         * tests/test-safe-alloc.c: Likewise.
285         * tests/test-sameacls.c: Likewise.
286         * tests/test-set-mode-acl.c: Likewise.
287         * tests/test-setenv.c: Likewise.
288         * tests/test-sigaction.c: Likewise.
289         * tests/test-signbit.c: Likewise.
290         * tests/test-sleep.c: Likewise.
291         * tests/test-snprintf-posix.c: Likewise.
292         * tests/test-snprintf.c: Likewise.
293         * tests/test-sprintf-posix.c: Likewise.
294         * tests/test-stat-time.c: Likewise.
295         * tests/test-stat.c: Likewise.
296         * tests/test-strcasestr.c: Likewise.
297         * tests/test-strchrnul.c: Likewise.
298         * tests/test-strerror.c: Likewise.
299         * tests/test-striconv.c: Likewise.
300         * tests/test-striconveh.c: Likewise.
301         * tests/test-striconveha.c: Likewise.
302         * tests/test-strsignal.c: Likewise.
303         * tests/test-strstr.c: Likewise.
304         * tests/test-strtod.c: Likewise.
305         * tests/test-strverscmp.c: Likewise.
306         * tests/test-symlink.c: Likewise.
307         * tests/test-symlinkat.c: Likewise.
308         * tests/test-trunc1.c: Likewise.
309         * tests/test-trunc2.c: Likewise.
310         * tests/test-truncf1.c: Likewise.
311         * tests/test-truncf2.c: Likewise.
312         * tests/test-truncl.c: Likewise.
313         * tests/test-uname.c: Likewise.
314         * tests/test-unlink.c: Likewise.
315         * tests/test-unlinkat.c: Likewise.
316         * tests/test-unsetenv.c: Likewise.
317         * tests/test-usleep.c: Likewise.
318         * tests/test-utimens.c: Likewise.
319         * tests/test-utimensat.c: Likewise.
320         * tests/test-vasnprintf-posix.c: Likewise.
321         * tests/test-vasnprintf-posix2.c: Likewise.
322         * tests/test-vasnprintf.c: Likewise.
323         * tests/test-vasprintf-posix.c: Likewise.
324         * tests/test-vasprintf.c: Likewise.
325         * tests/test-vdprintf-posix.c: Likewise.
326         * tests/test-vfprintf-posix.c: Likewise.
327         * tests/test-vprintf-posix.c: Likewise.
328         * tests/test-vsnprintf-posix.c: Likewise.
329         * tests/test-vsnprintf.c: Likewise.
330         * tests/test-vsprintf-posix.c: Likewise.
331         * tests/test-wcrtomb.c: Likewise.
332         * tests/test-wcsnrtombs.c: Likewise.
333         * tests/test-wcsrtombs.c: Likewise.
334         * tests/test-wctype.c: Likewise.
335         * tests/test-wcwidth.c: Likewise.
336         * tests/test-xfprintf-posix.c: Likewise.
337         * tests/test-xmemdup0.c: Likewise.
338         * tests/test-xprintf-posix.c: Likewise.
339         * tests/test-xvasprintf.c: Likewise.
340         * tests/unicase/test-locale-language.c: Likewise.
341         * tests/unicase/test-mapping-part1.h: Likewise.
342         * tests/unicase/test-predicate-part1.h: Likewise.
343         * tests/unicase/test-u8-casecmp.c: Likewise.
344         * tests/unicase/test-u8-casecoll.c: Likewise.
345         * tests/unicase/test-u8-casefold.c: Likewise.
346         * tests/unicase/test-u8-is-cased.c: Likewise.
347         * tests/unicase/test-u8-is-casefolded.c: Likewise.
348         * tests/unicase/test-u8-is-lowercase.c: Likewise.
349         * tests/unicase/test-u8-is-titlecase.c: Likewise.
350         * tests/unicase/test-u8-is-uppercase.c: Likewise.
351         * tests/unicase/test-u8-tolower.c: Likewise.
352         * tests/unicase/test-u8-totitle.c: Likewise.
353         * tests/unicase/test-u8-toupper.c: Likewise.
354         * tests/unicase/test-u16-casecmp.c: Likewise.
355         * tests/unicase/test-u16-casecoll.c: Likewise.
356         * tests/unicase/test-u16-casefold.c: Likewise.
357         * tests/unicase/test-u16-is-cased.c: Likewise.
358         * tests/unicase/test-u16-is-casefolded.c: Likewise.
359         * tests/unicase/test-u16-is-lowercase.c: Likewise.
360         * tests/unicase/test-u16-is-titlecase.c: Likewise.
361         * tests/unicase/test-u16-is-uppercase.c: Likewise.
362         * tests/unicase/test-u16-tolower.c: Likewise.
363         * tests/unicase/test-u16-totitle.c: Likewise.
364         * tests/unicase/test-u16-toupper.c: Likewise.
365         * tests/unicase/test-u32-casecmp.c: Likewise.
366         * tests/unicase/test-u32-casecoll.c: Likewise.
367         * tests/unicase/test-u32-casefold.c: Likewise.
368         * tests/unicase/test-u32-is-cased.c: Likewise.
369         * tests/unicase/test-u32-is-casefolded.c: Likewise.
370         * tests/unicase/test-u32-is-lowercase.c: Likewise.
371         * tests/unicase/test-u32-is-titlecase.c: Likewise.
372         * tests/unicase/test-u32-is-uppercase.c: Likewise.
373         * tests/unicase/test-u32-tolower.c: Likewise.
374         * tests/unicase/test-u32-totitle.c: Likewise.
375         * tests/unicase/test-u32-toupper.c: Likewise.
376         * tests/unicase/test-ulc-casecmp.c: Likewise.
377         * tests/unicase/test-ulc-casecoll.c: Likewise.
378         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
379         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
380         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
381         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
382         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
383         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
384         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
385         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
386         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
387         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
388         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
389         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
390         * tests/unictype/test-bidi_byname.c: Likewise.
391         * tests/unictype/test-bidi_name.c: Likewise.
392         * tests/unictype/test-bidi_of.c: Likewise.
393         * tests/unictype/test-bidi_test.c: Likewise.
394         * tests/unictype/test-block_list.c: Likewise.
395         * tests/unictype/test-block_of.c: Likewise.
396         * tests/unictype/test-block_test.c: Likewise.
397         * tests/unictype/test-categ_and.c: Likewise.
398         * tests/unictype/test-categ_and_not.c: Likewise.
399         * tests/unictype/test-categ_byname.c: Likewise.
400         * tests/unictype/test-categ_name.c: Likewise.
401         * tests/unictype/test-categ_none.c: Likewise.
402         * tests/unictype/test-categ_of.c: Likewise.
403         * tests/unictype/test-categ_or.c: Likewise.
404         * tests/unictype/test-categ_test_withtable.c: Likewise.
405         * tests/unictype/test-combining.c: Likewise.
406         * tests/unictype/test-decdigit.c: Likewise.
407         * tests/unictype/test-digit.c: Likewise.
408         * tests/unictype/test-mirror.c: Likewise.
409         * tests/unictype/test-numeric.c: Likewise.
410         * tests/unictype/test-pr_byname.c: Likewise.
411         * tests/unictype/test-pr_test.c: Likewise.
412         * tests/unictype/test-predicate-part1.h: Likewise.
413         * tests/unictype/test-scripts.c: Likewise.
414         * tests/unictype/test-sy_c_ident.c: Likewise.
415         * tests/unictype/test-sy_java_ident.c: Likewise.
416         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
417         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
418         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
419         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
420         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
421         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
422         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
423         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
424         * tests/uninorm/test-canonical-decomposition.c: Likewise.
425         * tests/uninorm/test-compat-decomposition.c: Likewise.
426         * tests/uninorm/test-composition.c: Likewise.
427         * tests/uninorm/test-decomposing-form.c: Likewise.
428         * tests/uninorm/test-decomposition.c: Likewise.
429         * tests/uninorm/test-u8-nfc.c: Likewise.
430         * tests/uninorm/test-u8-nfd.c: Likewise.
431         * tests/uninorm/test-u8-nfkc.c: Likewise.
432         * tests/uninorm/test-u8-nfkd.c: Likewise.
433         * tests/uninorm/test-u8-normcmp.c: Likewise.
434         * tests/uninorm/test-u8-normcoll.c: Likewise.
435         * tests/uninorm/test-u16-nfc.c: Likewise.
436         * tests/uninorm/test-u16-nfd.c: Likewise.
437         * tests/uninorm/test-u16-nfkc.c: Likewise.
438         * tests/uninorm/test-u16-nfkd.c: Likewise.
439         * tests/uninorm/test-u16-normcmp.c: Likewise.
440         * tests/uninorm/test-u16-normcoll.c: Likewise.
441         * tests/uninorm/test-u32-nfc.c: Likewise.
442         * tests/uninorm/test-u32-nfd.c: Likewise.
443         * tests/uninorm/test-u32-nfkc.c: Likewise.
444         * tests/uninorm/test-u32-nfkd.c: Likewise.
445         * tests/uninorm/test-u32-normalize-big.c: Likewise.
446         * tests/uninorm/test-u32-normcmp.c: Likewise.
447         * tests/uninorm/test-u32-normcoll.c: Likewise.
448         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
449         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
450         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
451         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
452         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
453         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
454         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
455         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
456         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
457         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
458         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
459         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
460         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
461         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
462         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
463         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
464         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
465         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
466         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
467         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
468         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
469         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
470         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
471         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
472         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
473         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
474         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
475         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
476         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
477         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
478         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
479         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
480         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
481         * tests/uniwidth/test-u8-strwidth.c: Likewise.
482         * tests/uniwidth/test-u8-width.c: Likewise.
483         * tests/uniwidth/test-u16-strwidth.c: Likewise.
484         * tests/uniwidth/test-u16-width.c: Likewise.
485         * tests/uniwidth/test-u32-strwidth.c: Likewise.
486         * tests/uniwidth/test-u32-width.c: Likewise.
487         * tests/uniwidth/test-uc_width.c: Likewise.
488         * tests/uniwidth/test-uc_width2.c: Likewise.
489         * modules/acl-tests (Files): Add tests/macros.h.
490         * modules/areadlink-tests (Files): Likewise.
491         * modules/areadlink-with-size-tests (Files): Likewise.
492         * modules/areadlinkat-tests (Files): Likewise.
493         * modules/areadlinkat-with-size-tests (Files): Likewise.
494         * modules/argmatch-tests (Files): Likewise.
495         * modules/argv-iter-tests (Files): Likewise.
496         * modules/array-list-tests (Files): Likewise.
497         * modules/array-mergesort-tests (Files): Likewise.
498         * modules/array-oset-tests (Files): Likewise.
499         * modules/avltree-list-tests (Files): Likewise.
500         * modules/avltree-oset-tests (Files): Likewise.
501         * modules/avltreehash-list-tests (Files): Likewise.
502         * modules/base64-tests (Files): Likewise.
503         * modules/binary-io-tests (Files): Likewise.
504         * modules/bitrotate-tests (Files): Likewise.
505         * modules/btowc-tests (Files): Likewise.
506         * modules/byteswap-tests (Files): Likewise.
507         * modules/c-ctype-tests (Files): Likewise.
508         * modules/c-stack-tests (Files): Likewise.
509         * modules/c-strcase-tests (Files): Likewise.
510         * modules/c-strcasestr-tests (Files): Likewise.
511         * modules/c-strstr-tests (Files): Likewise.
512         * modules/canonicalize-lgpl-tests (Files): Likewise.
513         * modules/canonicalize-tests (Files): Likewise.
514         * modules/carray-list-tests (Files): Likewise.
515         * modules/ceilf-tests (Files): Likewise.
516         * modules/ceill-tests (Files): Likewise.
517         * modules/chown-tests (Files): Likewise.
518         * modules/cloexec-tests (Files): Likewise.
519         * modules/copy-file-tests (Files): Likewise.
520         * modules/count-one-bits-tests (Files): Likewise.
521         * modules/dprintf-posix-tests (Files): Likewise.
522         * modules/dup2-tests (Files): Likewise.
523         * modules/dup3-tests (Files): Likewise.
524         * modules/duplocale-tests (Files): Likewise.
525         * modules/fbufmode-tests (Files): Likewise.
526         * modules/fchdir-tests (Files): Likewise.
527         * modules/fcntl-safer-tests (Files): Likewise.
528         * modules/fcntl-tests (Files): Likewise.
529         * modules/fdopendir-tests (Files): Likewise.
530         * modules/fdutimensat-tests (Files): Likewise.
531         * modules/fflush-tests (Files): Likewise.
532         * modules/filevercmp-tests (Files): Likewise.
533         * modules/flock-tests (Files): Likewise.
534         * modules/floorf-tests (Files): Likewise.
535         * modules/floorl-tests (Files): Likewise.
536         * modules/fnmatch-tests (Files): Likewise.
537         * modules/fopen-safer-tests (Files): Likewise.
538         * modules/fopen-tests (Files): Likewise.
539         * modules/fpending-tests (Files): Likewise.
540         * modules/fprintf-posix-tests (Files): Likewise.
541         * modules/fpurge-tests (Files): Likewise.
542         * modules/freadable-tests (Files): Likewise.
543         * modules/freadahead-tests (Files): Likewise.
544         * modules/freading-tests (Files): Likewise.
545         * modules/freadptr-tests (Files): Likewise.
546         * modules/freadseek-tests (Files): Likewise.
547         * modules/freopen-tests (Files): Likewise.
548         * modules/frexp-nolibm-tests (Files): Likewise.
549         * modules/frexp-tests (Files): Likewise.
550         * modules/frexpl-nolibm-tests (Files): Likewise.
551         * modules/frexpl-tests (Files): Likewise.
552         * modules/fseek-tests (Files): Likewise.
553         * modules/fseeko-tests (Files): Likewise.
554         * modules/fstrcmp-tests (Files): Likewise.
555         * modules/fsync-tests (Files): Likewise.
556         * modules/ftell-tests (Files): Likewise.
557         * modules/ftello-tests (Files): Likewise.
558         * modules/func-tests (Files): Likewise.
559         * modules/futimens-tests (Files): Likewise.
560         * modules/fwritable-tests (Files): Likewise.
561         * modules/fwriting-tests (Files): Likewise.
562         * modules/getcwd-tests (Files): Likewise.
563         * modules/getdate-tests (Files): Likewise.
564         * modules/getdelim-tests (Files): Likewise.
565         * modules/getdtablesize-tests (Files): Likewise.
566         * modules/getgroups-tests (Files): Likewise.
567         * modules/getline-tests (Files): Likewise.
568         * modules/getndelim2-tests (Files): Likewise.
569         * modules/glob-tests (Files): Likewise.
570         * modules/hash-tests (Files): Likewise.
571         * modules/i-ring-tests (Files): Likewise.
572         * modules/iconv-tests (Files): Likewise.
573         * modules/iconv_open-utf-tests (Files): Likewise.
574         * modules/idpriv-drop-tests (Files): Likewise.
575         * modules/idpriv-droptemp-tests (Files): Likewise.
576         * modules/inet_ntop-tests (Files): Likewise.
577         * modules/inet_pton-tests (Files): Likewise.
578         * modules/isblank-tests (Files): Likewise.
579         * modules/isfinite-tests (Files): Likewise.
580         * modules/isinf-tests (Files): Likewise.
581         * modules/isnan-tests (Files): Likewise.
582         * modules/isnand-nolibm-tests (Files): Likewise.
583         * modules/isnand-tests (Files): Likewise.
584         * modules/isnanf-nolibm-tests (Files): Likewise.
585         * modules/isnanf-tests (Files): Likewise.
586         * modules/isnanl-nolibm-tests (Files): Likewise.
587         * modules/isnanl-tests (Files): Likewise.
588         * modules/lchown-tests (Files): Likewise.
589         * modules/ldexpl-tests (Files): Likewise.
590         * modules/link-tests (Files): Likewise.
591         * modules/linkat-tests (Files): Likewise.
592         * modules/linked-list-tests (Files): Likewise.
593         * modules/linkedhash-list-tests (Files): Likewise.
594         * modules/localename-tests (Files): Likewise.
595         * modules/lseek-tests (Files): Likewise.
596         * modules/lstat-tests (Files): Likewise.
597         * modules/mbmemcasecmp-tests (Files): Likewise.
598         * modules/mbmemcasecoll-tests (Files): Likewise.
599         * modules/mbrtowc-tests (Files): Likewise.
600         * modules/mbscasecmp-tests (Files): Likewise.
601         * modules/mbscasestr-tests (Files): Likewise.
602         * modules/mbschr-tests (Files): Likewise.
603         * modules/mbscspn-tests (Files): Likewise.
604         * modules/mbsinit-tests (Files): Likewise.
605         * modules/mbsncasecmp-tests (Files): Likewise.
606         * modules/mbsnrtowcs-tests (Files): Likewise.
607         * modules/mbspbrk-tests (Files): Likewise.
608         * modules/mbspcasecmp-tests (Files): Likewise.
609         * modules/mbsrchr-tests (Files): Likewise.
610         * modules/mbsrtowcs-tests (Files): Likewise.
611         * modules/mbsspn-tests (Files): Likewise.
612         * modules/mbsstr-tests (Files): Likewise.
613         * modules/memchr-tests (Files): Likewise.
614         * modules/memchr2-tests (Files): Likewise.
615         * modules/memcmp-tests (Files): Likewise.
616         * modules/memmem-tests (Files): Likewise.
617         * modules/memrchr-tests (Files): Likewise.
618         * modules/mkdir-tests (Files): Likewise.
619         * modules/mkfifo-tests (Files): Likewise.
620         * modules/mkfifoat-tests (Files): Likewise.
621         * modules/mknod-tests (Files): Likewise.
622         * modules/nanosleep-tests (Files): Likewise.
623         * modules/nl_langinfo-tests (Files): Likewise.
624         * modules/obstack-printf-tests (Files): Likewise.
625         * modules/open-tests (Files): Likewise.
626         * modules/openat-tests (Files): Likewise.
627         * modules/pipe-filter-gi-tests (Files): Likewise.
628         * modules/pipe-filter-ii-tests (Files): Likewise.
629         * modules/pipe2-tests (Files): Likewise.
630         * modules/popen-safer-tests (Files): Likewise.
631         * modules/popen-tests (Files): Likewise.
632         * modules/posixtm-tests (Files): Likewise.
633         * modules/pread-tests (Files): Likewise.
634         * modules/printf-frexp-tests (Files): Likewise.
635         * modules/printf-frexpl-tests (Files): Likewise.
636         * modules/printf-posix-tests (Files): Likewise.
637         * modules/priv-set-tests (Files): Likewise.
638         * modules/quotearg-tests (Files): Likewise.
639         * modules/random_r-tests (Files): Likewise.
640         * modules/rawmemchr-tests (Files): Likewise.
641         * modules/rbtree-list-tests (Files): Likewise.
642         * modules/rbtree-oset-tests (Files): Likewise.
643         * modules/rbtreehash-list-tests (Files): Likewise.
644         * modules/readlink-tests (Files): Likewise.
645         * modules/remove-tests (Files): Likewise.
646         * modules/rename-tests (Files): Likewise.
647         * modules/renameat-tests (Files): Likewise.
648         * modules/rmdir-tests (Files): Likewise.
649         * modules/round-tests (Files): Likewise.
650         * modules/roundf-tests (Files): Likewise.
651         * modules/roundl-tests (Files): Likewise.
652         * modules/safe-alloc-tests (Files): Likewise.
653         * modules/setenv-tests (Files): Likewise.
654         * modules/sigaction-tests (Files): Likewise.
655         * modules/signbit-tests (Files): Likewise.
656         * modules/sleep-tests (Files): Likewise.
657         * modules/snprintf-posix-tests (Files): Likewise.
658         * modules/snprintf-tests (Files): Likewise.
659         * modules/sprintf-posix-tests (Files): Likewise.
660         * modules/stat-tests (Files): Likewise.
661         * modules/stat-time-tests (Files): Likewise.
662         * modules/strcasestr-tests (Files): Likewise.
663         * modules/strchrnul-tests (Files): Likewise.
664         * modules/strerror-tests (Files): Likewise.
665         * modules/striconv-tests (Files): Likewise.
666         * modules/striconveh-tests (Files): Likewise.
667         * modules/striconveha-tests (Files): Likewise.
668         * modules/strsignal-tests (Files): Likewise.
669         * modules/strstr-tests (Files): Likewise.
670         * modules/strtod-tests (Files): Likewise.
671         * modules/strverscmp-tests (Files): Likewise.
672         * modules/symlink-tests (Files): Likewise.
673         * modules/symlinkat-tests (Files): Likewise.
674         * modules/trunc-tests (Files): Likewise.
675         * modules/truncf-tests (Files): Likewise.
676         * modules/truncl-tests (Files): Likewise.
677         * modules/uname-tests (Files): Likewise.
678         * modules/unicase/cased-tests (Files): Likewise.
679         * modules/unicase/ignorable-tests (Files): Likewise.
680         * modules/unicase/locale-language-tests (Files): Likewise.
681         * modules/unicase/tolower-tests (Files): Likewise.
682         * modules/unicase/totitle-tests (Files): Likewise.
683         * modules/unicase/toupper-tests (Files): Likewise.
684         * modules/unicase/u8-casecmp-tests (Files): Likewise.
685         * modules/unicase/u8-casecoll-tests (Files): Likewise.
686         * modules/unicase/u8-casefold-tests (Files): Likewise.
687         * modules/unicase/u8-is-cased-tests (Files): Likewise.
688         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
689         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
690         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
691         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
692         * modules/unicase/u8-tolower-tests (Files): Likewise.
693         * modules/unicase/u8-totitle-tests (Files): Likewise.
694         * modules/unicase/u8-toupper-tests (Files): Likewise.
695         * modules/unicase/u16-casecmp-tests (Files): Likewise.
696         * modules/unicase/u16-casecoll-tests (Files): Likewise.
697         * modules/unicase/u16-casefold-tests (Files): Likewise.
698         * modules/unicase/u16-is-cased-tests (Files): Likewise.
699         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
700         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
701         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
702         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
703         * modules/unicase/u16-tolower-tests (Files): Likewise.
704         * modules/unicase/u16-totitle-tests (Files): Likewise.
705         * modules/unicase/u16-toupper-tests (Files): Likewise.
706         * modules/unicase/u32-casecmp-tests (Files): Likewise.
707         * modules/unicase/u32-casecoll-tests (Files): Likewise.
708         * modules/unicase/u32-casefold-tests (Files): Likewise.
709         * modules/unicase/u32-is-cased-tests (Files): Likewise.
710         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
711         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
712         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
713         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
714         * modules/unicase/u32-tolower-tests (Files): Likewise.
715         * modules/unicase/u32-totitle-tests (Files): Likewise.
716         * modules/unicase/u32-toupper-tests (Files): Likewise.
717         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
718         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
719         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
720         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
721         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
722         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
723         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
724         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
725         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
726         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
727         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
728         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
729         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
730         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
731         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
732         * modules/unictype/bidicategory-name-tests (Files): Likewise.
733         * modules/unictype/bidicategory-of-tests (Files): Likewise.
734         * modules/unictype/bidicategory-test-tests (Files): Likewise.
735         * modules/unictype/block-list-tests (Files): Likewise.
736         * modules/unictype/block-of-tests (Files): Likewise.
737         * modules/unictype/block-test-tests (Files): Likewise.
738         * modules/unictype/category-C-tests (Files): Likewise.
739         * modules/unictype/category-Cc-tests (Files): Likewise.
740         * modules/unictype/category-Cf-tests (Files): Likewise.
741         * modules/unictype/category-Cn-tests (Files): Likewise.
742         * modules/unictype/category-Co-tests (Files): Likewise.
743         * modules/unictype/category-Cs-tests (Files): Likewise.
744         * modules/unictype/category-L-tests (Files): Likewise.
745         * modules/unictype/category-Ll-tests (Files): Likewise.
746         * modules/unictype/category-Lm-tests (Files): Likewise.
747         * modules/unictype/category-Lo-tests (Files): Likewise.
748         * modules/unictype/category-Lt-tests (Files): Likewise.
749         * modules/unictype/category-Lu-tests (Files): Likewise.
750         * modules/unictype/category-M-tests (Files): Likewise.
751         * modules/unictype/category-Mc-tests (Files): Likewise.
752         * modules/unictype/category-Me-tests (Files): Likewise.
753         * modules/unictype/category-Mn-tests (Files): Likewise.
754         * modules/unictype/category-N-tests (Files): Likewise.
755         * modules/unictype/category-Nd-tests (Files): Likewise.
756         * modules/unictype/category-Nl-tests (Files): Likewise.
757         * modules/unictype/category-No-tests (Files): Likewise.
758         * modules/unictype/category-P-tests (Files): Likewise.
759         * modules/unictype/category-Pc-tests (Files): Likewise.
760         * modules/unictype/category-Pd-tests (Files): Likewise.
761         * modules/unictype/category-Pe-tests (Files): Likewise.
762         * modules/unictype/category-Pf-tests (Files): Likewise.
763         * modules/unictype/category-Pi-tests (Files): Likewise.
764         * modules/unictype/category-Po-tests (Files): Likewise.
765         * modules/unictype/category-Ps-tests (Files): Likewise.
766         * modules/unictype/category-S-tests (Files): Likewise.
767         * modules/unictype/category-Sc-tests (Files): Likewise.
768         * modules/unictype/category-Sk-tests (Files): Likewise.
769         * modules/unictype/category-Sm-tests (Files): Likewise.
770         * modules/unictype/category-So-tests (Files): Likewise.
771         * modules/unictype/category-Z-tests (Files): Likewise.
772         * modules/unictype/category-Zl-tests (Files): Likewise.
773         * modules/unictype/category-Zp-tests (Files): Likewise.
774         * modules/unictype/category-Zs-tests (Files): Likewise.
775         * modules/unictype/category-and-not-tests (Files): Likewise.
776         * modules/unictype/category-and-tests (Files): Likewise.
777         * modules/unictype/category-byname-tests (Files): Likewise.
778         * modules/unictype/category-name-tests (Files): Likewise.
779         * modules/unictype/category-none-tests (Files): Likewise.
780         * modules/unictype/category-of-tests (Files): Likewise.
781         * modules/unictype/category-or-tests (Files): Likewise.
782         * modules/unictype/category-test-withtable-tests (Files): Likewise.
783         * modules/unictype/combining-class-tests (Files): Likewise.
784         * modules/unictype/ctype-alnum-tests (Files): Likewise.
785         * modules/unictype/ctype-alpha-tests (Files): Likewise.
786         * modules/unictype/ctype-blank-tests (Files): Likewise.
787         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
788         * modules/unictype/ctype-digit-tests (Files): Likewise.
789         * modules/unictype/ctype-graph-tests (Files): Likewise.
790         * modules/unictype/ctype-lower-tests (Files): Likewise.
791         * modules/unictype/ctype-print-tests (Files): Likewise.
792         * modules/unictype/ctype-punct-tests (Files): Likewise.
793         * modules/unictype/ctype-space-tests (Files): Likewise.
794         * modules/unictype/ctype-upper-tests (Files): Likewise.
795         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
796         * modules/unictype/decimal-digit-tests (Files): Likewise.
797         * modules/unictype/digit-tests (Files): Likewise.
798         * modules/unictype/mirror-tests (Files): Likewise.
799         * modules/unictype/numeric-tests (Files): Likewise.
800         * modules/unictype/property-alphabetic-tests (Files): Likewise.
801         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
802         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
803         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
804         Likewise.
805         * modules/unictype/property-bidi-block-separator-tests (Files):
806         Likewise.
807         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
808         Likewise.
809         * modules/unictype/property-bidi-common-separator-tests (Files):
810         Likewise.
811         * modules/unictype/property-bidi-control-tests (Files): Likewise.
812         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
813         Likewise.
814         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
815         Likewise.
816         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
817         Likewise.
818         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
819         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
820         Likewise.
821         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
822         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
823         Likewise.
824         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
825         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
826         * modules/unictype/property-bidi-segment-separator-tests (Files):
827         Likewise.
828         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
829         * modules/unictype/property-byname-tests (Files): Likewise.
830         * modules/unictype/property-combining-tests (Files): Likewise.
831         * modules/unictype/property-composite-tests (Files): Likewise.
832         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
833         * modules/unictype/property-dash-tests (Files): Likewise.
834         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
835         * modules/unictype/property-default-ignorable-code-point-tests (Files):
836         Likewise.
837         * modules/unictype/property-deprecated-tests (Files): Likewise.
838         * modules/unictype/property-diacritic-tests (Files): Likewise.
839         * modules/unictype/property-extender-tests (Files): Likewise.
840         * modules/unictype/property-format-control-tests (Files): Likewise.
841         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
842         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
843         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
844         * modules/unictype/property-hex-digit-tests (Files): Likewise.
845         * modules/unictype/property-hyphen-tests (Files): Likewise.
846         * modules/unictype/property-id-continue-tests (Files): Likewise.
847         * modules/unictype/property-id-start-tests (Files): Likewise.
848         * modules/unictype/property-ideographic-tests (Files): Likewise.
849         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
850         * modules/unictype/property-ids-trinary-operator-tests (Files):
851         Likewise.
852         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
853         * modules/unictype/property-iso-control-tests (Files): Likewise.
854         * modules/unictype/property-join-control-tests (Files): Likewise.
855         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
856         * modules/unictype/property-line-separator-tests (Files): Likewise.
857         * modules/unictype/property-logical-order-exception-tests (Files):
858         Likewise.
859         * modules/unictype/property-lowercase-tests (Files): Likewise.
860         * modules/unictype/property-math-tests (Files): Likewise.
861         * modules/unictype/property-non-break-tests (Files): Likewise.
862         * modules/unictype/property-not-a-character-tests (Files): Likewise.
863         * modules/unictype/property-numeric-tests (Files): Likewise.
864         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
865         * modules/unictype/property-other-default-ignorable-code-point-tests
866         (Files): Likewise.
867         * modules/unictype/property-other-grapheme-extend-tests (Files):
868         Likewise.
869         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
870         * modules/unictype/property-other-id-start-tests (Files): Likewise.
871         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
872         * modules/unictype/property-other-math-tests (Files): Likewise.
873         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
874         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
875         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
876         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
877         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
878         * modules/unictype/property-private-use-tests (Files): Likewise.
879         * modules/unictype/property-punctuation-tests (Files): Likewise.
880         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
881         * modules/unictype/property-radical-tests (Files): Likewise.
882         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
883         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
884         * modules/unictype/property-space-tests (Files): Likewise.
885         * modules/unictype/property-terminal-punctuation-tests (Files):
886         Likewise.
887         * modules/unictype/property-test-tests (Files): Likewise.
888         * modules/unictype/property-titlecase-tests (Files): Likewise.
889         * modules/unictype/property-unassigned-code-value-tests (Files):
890         Likewise.
891         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
892         * modules/unictype/property-uppercase-tests (Files): Likewise.
893         * modules/unictype/property-variation-selector-tests (Files): Likewise.
894         * modules/unictype/property-white-space-tests (Files): Likewise.
895         * modules/unictype/property-xid-continue-tests (Files): Likewise.
896         * modules/unictype/property-xid-start-tests (Files): Likewise.
897         * modules/unictype/property-zero-width-tests (Files): Likewise.
898         * modules/unictype/scripts-tests (Files): Likewise.
899         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
900         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
901         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
902         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
903         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
904         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
905         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
906         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
907         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
908         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
909         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
910         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
911         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
912         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
913         * modules/uninorm/composition-tests (Files): Likewise.
914         * modules/uninorm/decomposing-form-tests (Files): Likewise.
915         * modules/uninorm/decomposition-tests (Files): Likewise.
916         * modules/uninorm/filter-tests (Files): Likewise.
917         * modules/uninorm/nfc-tests (Files): Likewise.
918         * modules/uninorm/nfd-tests (Files): Likewise.
919         * modules/uninorm/nfkc-tests (Files): Likewise.
920         * modules/uninorm/nfkd-tests (Files): Likewise.
921         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
922         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
923         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
924         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
925         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
926         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
927         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
928         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
929         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
930         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
931         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
932         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
933         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
934         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
935         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
936         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
937         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
938         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
939         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
940         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
941         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
942         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
943         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
944         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
945         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
946         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
947         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
948         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
949         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
950         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
951         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
952         * modules/uniwidth/u8-width-tests (Files): Likewise.
953         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
954         * modules/uniwidth/u16-width-tests (Files): Likewise.
955         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
956         * modules/uniwidth/u32-width-tests (Files): Likewise.
957         * modules/uniwidth/width-tests (Files): Likewise.
958         * modules/unlink-tests (Files): Likewise.
959         * modules/unsetenv-tests (Files): Likewise.
960         * modules/usleep-tests (Files): Likewise.
961         * modules/utimens-tests (Files): Likewise.
962         * modules/utimensat-tests (Files): Likewise.
963         * modules/vasnprintf-posix-tests (Files): Likewise.
964         * modules/vasnprintf-tests (Files): Likewise.
965         * modules/vasprintf-posix-tests (Files): Likewise.
966         * modules/vasprintf-tests (Files): Likewise.
967         * modules/vdprintf-posix-tests (Files): Likewise.
968         * modules/vfprintf-posix-tests (Files): Likewise.
969         * modules/vprintf-posix-tests (Files): Likewise.
970         * modules/vsnprintf-posix-tests (Files): Likewise.
971         * modules/vsnprintf-tests (Files): Likewise.
972         * modules/vsprintf-posix-tests (Files): Likewise.
973         * modules/wcrtomb-tests (Files): Likewise.
974         * modules/wcsnrtombs-tests (Files): Likewise.
975         * modules/wcsrtombs-tests (Files): Likewise.
976         * modules/wctype-tests (Files): Likewise.
977         * modules/wcwidth-tests (Files): Likewise.
978         * modules/xmemdup0-tests (Files): Likewise.
979         * modules/xprintf-posix-tests (Files): Likewise.
980         * modules/xvasprintf-tests (Files): Likewise.
981
982 2009-12-24  Eric Blake  <ebb9@byu.net>
983
984         test-nanosleep: fix typo
985         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
986         patch.
987         Reported by Bruno Haible.
988
989 2009-12-24  Bruno Haible  <bruno@clisp.org>
990
991         Reduce namespace pollution on glibc systems.
992         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
993         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
994         systems.
995         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
996         <getopt.h> on glibc systems.
997         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
998         systems.
999         * lib/fcntl.c: Include <unistd.h> here instead.
1000
1001 2009-12-24  Bruno Haible  <bruno@clisp.org>
1002
1003         * lib/stdlib.in.h (includes): Fix typo in today's commit.
1004
1005 2009-12-24  Eric Blake  <ebb9@byu.net>
1006
1007         tests: add signature checks
1008         * tests/signature.h (SIGNATURE_CHECK): New file.
1009         * modules/atexit-tests (Files): Use it.
1010         * modules/btowc-tests (Files): Likewise.
1011         * modules/canonicalize-lgpl-tests (Files): Likewise.
1012         * modules/ceilf-tests (Files): Likewise.
1013         * modules/ceill-tests (Files): Likewise.
1014         * modules/chown-tests (Files): Likewise.
1015         * modules/dprintf-posix-tests (Files): Likewise.
1016         * modules/dup2-tests (Files): Likewise.
1017         * modules/dup3-tests (Files): Likewise.
1018         * modules/duplocale-tests (Files): Likewise.
1019         * modules/fchdir-tests (Files): Likewise.
1020         * modules/fcntl-tests (Files): Likewise.
1021         * modules/fdopendir-tests (Files): Likewise.
1022         * modules/fflush-tests (Files): Likewise.
1023         * modules/flock-tests (Files): Likewise.
1024         * modules/floorf-tests (Files): Likewise.
1025         * modules/floorl-tests (Files): Likewise.
1026         * modules/fnmatch-tests (Files): Likewise.
1027         * modules/fopen-tests (Files): Likewise.
1028         * modules/fprintf-posix-tests (Files): Likewise.
1029         * modules/freopen-tests (Files): Likewise.
1030         * modules/frexp-nolibm-tests (Files): Likewise.
1031         * modules/frexp-tests (Files): Likewise.
1032         * modules/frexpl-nolibm-tests (Files): Likewise.
1033         * modules/frexpl-tests (Files): Likewise.
1034         * modules/fseek-tests (Files): Likewise.
1035         * modules/fseeko-tests (Files): Likewise.
1036         * modules/fsync-tests (Files): Likewise.
1037         * modules/ftell-tests (Files): Likewise.
1038         * modules/ftello-tests (Files): Likewise.
1039         * modules/futimens-tests (Files): Likewise.
1040         * modules/getaddrinfo-tests (Files): Likewise.
1041         * modules/getcwd-tests (Files): Likewise.
1042         * modules/getdelim-tests (Files): Likewise.
1043         * modules/getdtablesize-tests (Files): Likewise.
1044         * modules/getgroups-tests (Files): Likewise.
1045         * modules/gethostname-tests (Files): Likewise.
1046         * modules/getline-tests (Files): Likewise.
1047         * modules/getopt-posix-tests (Files): Likewise.
1048         * modules/gettimeofday-tests (Files): Likewise.
1049         * modules/glob-tests (Files): Likewise.
1050         * modules/iconv-tests (Files): Likewise.
1051         * modules/inet_ntop-tests (Files): Likewise.
1052         * modules/inet_pton-tests (Files): Likewise.
1053         * modules/isblank-tests (Files): Likewise.
1054         * modules/lchown-tests (Files): Likewise.
1055         * modules/ldexpl-tests (Files): Likewise.
1056         * modules/link-tests (Files): Likewise.
1057         * modules/linkat-tests (Files): Likewise.
1058         * modules/lseek-tests (Files): Likewise.
1059         * modules/lstat-tests (Files): Likewise.
1060         * modules/mbrtowc-tests (Files): Likewise.
1061         * modules/mbsinit-tests (Files): Likewise.
1062         * modules/mbsnrtowcs-tests (Files): Likewise.
1063         * modules/mbsrtowcs-tests (Files): Likewise.
1064         * modules/memchr-tests (Files): Likewise.
1065         * modules/memcmp-tests (Files): Likewise.
1066         * modules/memmem-tests (Files): Likewise.
1067         * modules/memrchr-tests (Files): Likewise.
1068         * modules/mkdir-tests (Files): Likewise.
1069         * modules/mkfifo-tests (Files): Likewise.
1070         * modules/mkfifoat-tests (Files): Likewise.
1071         * modules/mknod-tests (Files): Likewise.
1072         * modules/nanosleep-tests (Files): Likewise.
1073         * modules/nl_langinfo-tests (Files): Likewise.
1074         * modules/obstack-printf-tests (Files): Likewise.
1075         * modules/open-tests (Files): Likewise.
1076         * modules/openat-tests (Files): Likewise.
1077         * modules/perror-tests (Files): Likewise.
1078         * modules/pipe2-tests (Files): Likewise.
1079         * modules/poll-tests (Files): Likewise.
1080         * modules/popen-tests (Files): Likewise.
1081         * modules/posix_spawn-tests (Files): Likewise.
1082         * modules/posix_spawnp-tests (Files): Likewise.
1083         * modules/pread-tests (Files): Likewise.
1084         * modules/printf-posix-tests (Files): Likewise.
1085         * modules/pty-tests (Files): Likewise.
1086         * modules/random_r-tests (Files): Likewise.
1087         * modules/rawmemchr-tests (Files): Likewise.
1088         * modules/readlink-tests (Files): Likewise.
1089         * modules/remove-tests (Files): Likewise.
1090         * modules/rename-tests (Files): Likewise.
1091         * modules/renameat-tests (Files): Likewise.
1092         * modules/rmdir-tests (Files): Likewise.
1093         * modules/round-tests (Files): Likewise.
1094         * modules/roundf-tests (Files): Likewise.
1095         * modules/roundl-tests (Files): Likewise.
1096         * modules/select-tests (Files): Likewise.
1097         * modules/setenv-tests (Files): Likewise.
1098         * modules/sigaction-tests (Files): Likewise.
1099         * modules/sleep-tests (Files): Likewise.
1100         * modules/snprintf-posix-tests (Files): Likewise.
1101         * modules/snprintf-tests (Files): Likewise.
1102         * modules/sprintf-posix-tests (Files): Likewise.
1103         * modules/stat-tests (Files): Likewise.
1104         * modules/strcasestr-tests (Files): Likewise.
1105         * modules/strchrnul-tests (Files): Likewise.
1106         * modules/strerror-tests (Files): Likewise.
1107         * modules/strsignal-tests (Files): Likewise.
1108         * modules/strstr-tests (Files): Likewise.
1109         * modules/strtod-tests (Files): Likewise.
1110         * modules/strverscmp-tests (Files): Likewise.
1111         * modules/symlink-tests (Files): Likewise.
1112         * modules/symlinkat-tests (Files): Likewise.
1113         * modules/times-tests (Files): Likewise.
1114         * modules/trunc-tests (Files): Likewise.
1115         * modules/truncf-tests (Files): Likewise.
1116         * modules/truncl-tests (Files): Likewise.
1117         * modules/tsearch-tests (Files): Likewise.
1118         * modules/uname-tests (Files): Likewise.
1119         * modules/unlink-tests (Files): Likewise.
1120         * modules/unsetenv-tests (Files): Likewise.
1121         * modules/usleep-tests (Files): Likewise.
1122         * modules/utimensat-tests (Files): Likewise.
1123         * modules/vasprintf-tests (Files): Likewise.
1124         * modules/vdprintf-posix-tests (Files): Likewise.
1125         * modules/vfprintf-posix-tests (Files): Likewise.
1126         * modules/vprintf-posix-tests (Files): Likewise.
1127         * modules/vsnprintf-posix-tests (Files): Likewise.
1128         * modules/vsnprintf-tests (Files): Likewise.
1129         * modules/vsprintf-posix-tests (Files): Likewise.
1130         * modules/wcrtomb-tests (Files): Likewise.
1131         * modules/wcsnrtombs-tests (Files): Likewise.
1132         * modules/wcsrtombs-tests (Files): Likewise.
1133         * modules/wcwidth-tests (Files): Likewise.
1134         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
1135         * tests/test-isinf.c (isinf): Likewise.
1136         * tests/test-isnan.c (isnan): Likewise.
1137         * tests/test-signbit.c (signbit): Likewise.
1138         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
1139         declaration, either as macro or with correct signature.
1140         (select): Ensure function under test is declared with correct
1141         signature in correct header.
1142         * tests/test-atexit.c (atexit): Likewise.
1143         * tests/test-btowc.c (btowc): Likewise.
1144         * tests/test-canonicalize-lgpl.c (realpath)
1145         (canonicalize_file_name): Likewise.
1146         * tests/test-ceilf1.c (ceilf): Likewise.
1147         * tests/test-ceill.c (ceill): Likewise.
1148         * tests/test-chown.c (chown): Likewise.
1149         * tests/test-dprintf-posix.c (dprintf): Likewise.
1150         * tests/test-dup2.c (dup2): Likewise.
1151         * tests/test-dup3.c (dup3): Likewise.
1152         * tests/test-duplocale.c (duplocale): Likewise.
1153         * tests/test-fchdir.c (fchdir): Likewise.
1154         * tests/test-fchownat.c (fchownat): Likewise.
1155         * tests/test-fcntl.c (fcntl): Likewise.
1156         * tests/test-fdopendir.c (fdopendir): Likewise.
1157         * tests/test-fflush.c (fflush): Likewise.
1158         * tests/test-flock.c (flock): Likewise.
1159         * tests/test-floorf1.c (floorf): Likewise.
1160         * tests/test-floorl.c (floorl): Likewise.
1161         * tests/test-fnmatch.c (fnmatch): Likewise.
1162         * tests/test-fopen.c (fopen): Likewise.
1163         * tests/test-fprintf-posix.c (fprintf): Likewise.
1164         * tests/test-freopen.c (freopen): Likewise.
1165         * tests/test-frexp.c (frexp): Likewise.
1166         * tests/test-frexpl.c (frexpl): Likewise.
1167         * tests/test-fseek.c (fseek): Likewise.
1168         * tests/test-fseeko.c (fseeko): Likewise.
1169         * tests/test-fstatat.c (fstatat): Likewise.
1170         * tests/test-fsync.c (fsync): Likewise.
1171         * tests/test-ftell.c (ftell): Likewise.
1172         * tests/test-ftello.c (ftello): Likewise.
1173         * tests/test-futimens.c (futimens): Likewise.
1174         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
1175         (gai_strerror): Likewise.
1176         * tests/test-getcwd.c (getcwd): Likewise.
1177         * tests/test-getdelim.c (getdelim): Likewise.
1178         * tests/test-getdtablesize.c (getdtablesize): Likewise.
1179         * tests/test-getgroups.c (getgroups): Likewise.
1180         * tests/test-gethostname.c (gethostname): Likewise.
1181         * tests/test-getline.c (getline): Likewise.
1182         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
1183         Likewise.
1184         * tests/test-gettimeofday.c (gettimeofday): Likewise.
1185         * tests/test-glob.c (glob, globfree): Likewise.
1186         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
1187         * tests/test-inet_ntop.c (inet_ntop): Likewise.
1188         * tests/test-inet_pton.c (inet_pton): Likewise.
1189         * tests/test-isblank.c (isblank): Likewise.
1190         * tests/test-lchown.c (lchown): Likewise.
1191         * tests/test-ldexpl.c (ldexpl): Likewise.
1192         * tests/test-link.c (link): Likewise.
1193         * tests/test-linkat.c (linkat): Likewise.
1194         * tests/test-lseek.c (lseek): Likewise.
1195         * tests/test-lstat.c (lstat): Likewise.
1196         * tests/test-mbrtowc.c (mbrtowc): Likewise.
1197         * tests/test-mbsinit.c (mbsinit): Likewise.
1198         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
1199         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
1200         * tests/test-memchr.c (memchr): Likewise.
1201         * tests/test-memcmp.c (memcmp): Likewise.
1202         * tests/test-memmem.c (memmem): Likewise.
1203         * tests/test-memrchr.c (memrchr): Likewise.
1204         * tests/test-mkdir.c (mkdir): Likewise.
1205         * tests/test-mkdirat.c (mkdirat): Likewise.
1206         * tests/test-mkfifo.c (mkfifo): Likewise.
1207         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
1208         * tests/test-mknod.c (mknod): Likewise.
1209         * tests/test-nanosleep.c (nanosleep): Likewise.
1210         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
1211         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
1212         Likewise.
1213         * tests/test-open.c (open): Likewise.
1214         * tests/test-openat.c (openat): Likewise.
1215         * tests/test-perror.c (perror): Likewise.
1216         * tests/test-pipe2.c (pipe2): Likewise.
1217         * tests/test-poll.c (poll): Likewise.
1218         * tests/test-popen.c (popen, pclose): Likewise.
1219         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
1220         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
1221         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
1222         (posix_spawn_file_actions_destroy)
1223         (posix_spawn_file_actions_addclose)
1224         (posix_spawn_file_actions_addopen)
1225         (posix_spawn_file_actions_adddup2): Likewise.
1226         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
1227         * tests/test-pread.c (pread): Likewise.
1228         * tests/test-printf-posix.c (printf): Likewise.
1229         * tests/test-pty.c (openpty, forkpty): Likewise.
1230         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
1231         (random_r): Likewise.
1232         * tests/test-rawmemchr.c (rawmemchr): Likewise.
1233         * tests/test-readlink.c (readlink): Likewise.
1234         * tests/test-remove.c (remove): Likewise.
1235         * tests/test-rename.c (rename): Likewise.
1236         * tests/test-renameat.c (renameat): Likewise.
1237         * tests/test-rmdir.c (rmdir): Likewise.
1238         * tests/test-round1.c (round): Likewise.
1239         * tests/test-roundf1.c (roundf): Likewise.
1240         * tests/test-roundl.c (roundl): Likewise.
1241         * tests/test-setenv.c (setenv): Likewise.
1242         * tests/test-sigaction.c (sigaction): Likewise.
1243         * tests/test-sleep.c (sleep): Likewise.
1244         * tests/test-snprintf.c (snprintf): Likewise.
1245         * tests/test-sprintf-posix.c (sprintf): Likewise.
1246         * tests/test-stat.c (stat): Likewise.
1247         * tests/test-stpncpy.c (stpncpy): Likewise.
1248         * tests/test-strcasestr.c (strcasestr): Likewise.
1249         * tests/test-strchrnul.c (strchrnul): Likewise.
1250         * tests/test-strerror.c (strerror): Likewise.
1251         * tests/test-strsignal.c (strsignal): Likewise.
1252         * tests/test-strstr.c (strstr): Likewise.
1253         * tests/test-strtod.c (strtod): Likewise.
1254         * tests/test-strverscmp.c (strverscmp): Likewise.
1255         * tests/test-symlink.c (symlink): Likewise.
1256         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
1257         * tests/test-times.c (times): Likewise.
1258         * tests/test-trunc1.c (trunc): Likewise.
1259         * tests/test-truncf1.c (truncf): Likewise.
1260         * tests/test-truncl.c (truncl): Likewise.
1261         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
1262         Likewise.
1263         * tests/test-uname.c (uname): Likewise.
1264         * tests/test-unlink.c (unlink): Likewise.
1265         * tests/test-unlinkat.c (unlinkat): Likewise.
1266         * tests/test-unsetenv.c (unsetenv): Likewise.
1267         * tests/test-usleep.c (usleep): Likewise.
1268         * tests/test-utimensat.c (utimensat): Likewise.
1269         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
1270         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
1271         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
1272         * tests/test-vprintf-posix.c (vprintf): Likewise.
1273         * tests/test-vsnprintf.c (vsnprintf): Likewise.
1274         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
1275         * tests/test-wcrtomb.c (wcrtomb): Likewise.
1276         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
1277         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
1278         * tests/test-wcwidth.c (wcwidth): Likewise.
1279
1280         build: pull in conditional headers during GNULIB_POSIXCHECK
1281         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
1282         definitions from any conditionally-included headers.
1283         * lib/stdlib.in.h (includes): Likewise.
1284         * lib/unistd.in.h (includes): Likewise.
1285
1286 2009-12-24  Bruno Haible  <bruno@clisp.org>
1287
1288         * tests/test-argv-iter.c: Include header file being tested immediately
1289         after config.h.
1290         * tests/test-base64.c: Likewise.
1291         * tests/test-flock.c: Likewise.
1292         * tests/test-fsync.c: Likewise.
1293         * tests/test-getdate.c: Likewise.
1294         * tests/test-getndelim2.c: Likewise.
1295         * tests/test-isfinite.c: Likewise.
1296         * tests/test-isinf.c: Likewise.
1297         * tests/test-strerror.c: Likewise.
1298         * tests/test-strsignal.c: Likewise.
1299
1300 2009-12-23  Eric Blake  <ebb9@byu.net>
1301
1302         unistd: work around cygwin bug
1303         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
1304         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
1305         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
1306
1307 2009-12-23  Bruno Haible  <bruno@clisp.org>
1308
1309         localename: More tests.
1310         * tests/test-localename.c (SIZEOF): New macro.
1311         (categories): New variable.
1312         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
1313         test_locale_name_default): Add test w.r.t. thread locale.
1314         (test_locale_name_thread): New function.
1315         (main): Invoke it.
1316
1317         localename: Make aware of thread locale.
1318         * lib/localename.h (gl_locale_name_thread): New declaration.
1319         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
1320         behaviour with respect to thread locale.
1321         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
1322         <langinfo.h>, glthread/lock.h.
1323         (SIZE_BITS): New macro.
1324         (string_hash): New function.
1325         (struct hash_node): New type.
1326         (HASH_TABLE_SIZE): New macro.
1327         (struniq_hash_table, struniq_lock): New variables.
1328         (struniq): New function.
1329         (gl_locale_name_thread): New function.
1330         (gl_locale_name): Invoke it.
1331         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
1332         * modules/localename (Depends-on): Add lock.
1333         Reported by Mike Gran <spk121@yahoo.com>.
1334
1335 2009-12-23  Eric Blake  <ebb9@byu.net>
1336
1337         va-args: new module
1338         * modules/va-args: New file.
1339         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
1340         * MODULES.html.sh (Core language properties): Mention it.
1341
1342         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
1343         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
1344         named alias for __attribute__((__unused__)).
1345         * lib/chown.c: Update client.
1346         * lib/fchmodat.c: Likewise.
1347         * lib/fts.c: Likewise.
1348         * lib/getdate.y: Likewise.
1349         * lib/getgroups.c: Likewise.
1350         * lib/getopt.c: Likewise.
1351         * lib/getugroups.c: Likewise.
1352         * lib/mkdir.c: Likewise.
1353         * lib/mkfifo.c: Likewise.
1354         * lib/mkfifoat.c: Likewise.
1355         * lib/mknod.c: Likewise.
1356         * lib/mknodat.c: Likewise.
1357         * lib/readlink.c: Likewise.
1358         * lib/se-context.in.h: Likewise.
1359         * lib/se-selinux.in.h: Likewise.
1360         * lib/sockets.c: Likewise.
1361         * lib/symlink.c: Likewise.
1362         * lib/symlinkat.c: Likewise.
1363         * lib/unicodeio.c: Likewise.
1364         * lib/unistr.h: Likewise.
1365         * tests/test-areadlink.c: Likewise.
1366         * tests/test-areadlinkat.c: Likewise.
1367         * tests/test-filenamecat.c: Likewise.
1368         * tests/test-fseeko.c: Likewise.
1369         * tests/test-ftello.c: Likewise.
1370         * tests/test-getdate.c: Likewise.
1371         * tests/test-getgroups.c: Likewise.
1372         * tests/test-gethostname.c: Likewise.
1373         * tests/test-quotearg.c: Likewise.
1374         * tests/test-version-etc.c: Likewise.
1375         * tests/test-xalloc-die.c: Likewise.
1376         * tests/test-xfprintf-posix.c: Likewise.
1377         * tests/test-xprintf-posix.c: Likewise.
1378         * tests/test-xvasprintf.c: Likewise.
1379
1380         tests: avoid compiler warnings
1381         * tests/test-fcntl.c (main): Delete unused parameters.
1382         * tests/test-freopen-safer.c (main): Likewise.
1383         * tests/test-xalloc-die.c (main): Mark unused parameters.
1384         * tests/test-fseeko.c (main): Likewise.
1385         * tests/test-ftello.c (main): Likewise.
1386         * tests/test-nanosleep.c (main): Avoid declaration warning.
1387         * tests/test-sleep.c (main): Likewise.
1388         * tests/test-unsetenv.c (main): Silence warning about string
1389         literal.
1390         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
1391
1392 2009-12-23  Bruno Haible  <bruno@clisp.org>
1393
1394         * tests/test-localename.c (test_locale_name): New function, extracted
1395         from main. Also test mixed situations.
1396         (test_locale_name_posix, test_locale_name_environ,
1397         test_locale_name_default): New functions.
1398         (main): Invoke them all.
1399         * modules/localename-tests (configure.ac): Test for newlocale.
1400
1401 2009-12-23  Bruno Haible  <bruno@clisp.org>
1402
1403         unistd: Ensure getcwd gets declared before being overridden.
1404         * lib/unistd.in.h: Conditionally include <io.h>.
1405
1406 2009-12-22  Bruno Haible  <bruno@clisp.org>
1407
1408         wchar: Diagnose broken combination of glibc and gcc versions and flags.
1409         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
1410         (gl_WCHAR_H): Invoke it.
1411         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
1412         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
1413         Reported by Karl Berry <karl@freefriends.org>.
1414
1415 2009-12-22  Eric Blake  <ebb9@byu.net>
1416
1417         math, unistd: avoid redundant includes
1418         * lib/math.in.h (isnan): No need to re-include <math.h>.
1419         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
1420
1421         getsubopt: work around cygwin bug
1422         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
1423         avoid conflicting with system getsubopt.
1424         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
1425         bug.
1426
1427         getopt: synchronize from glibc
1428         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
1429         parameter order.  Adjust all callers.
1430         (_getopt_internal_r, main): Adjust quoting in error messages.
1431         Drop considerations for outdated POSIX 1003.2 error message.
1432         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
1433         callers.
1434         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
1435
1436         test-getopt: test stderr behavior
1437         * modules/getopt-posix-tests (Depends-on): Add dup2.
1438         * tests/test-getopt.c (ASSERT): Avoid stderr.
1439         (main): Move stderr to a temporary file.
1440         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
1441         Instead, add parameter to inform caller if output occurred.
1442         (test_getopt): Adjust all existing tests to expect silence, and
1443         add new tests of leading ":".
1444         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
1445         glibc shortcomings with leading "-:" or "+:" in optstring.
1446         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
1447         Likewise.
1448         * doc/posix-functions/getopt.texi (getopt): Likewise.
1449
1450         test-getopt: enhance test
1451         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
1452         supports optind=0.
1453         * tests/test-getopt.c (OPTIND_MIN): Move...
1454         * tests/test-getopt.h (OPTIND_MIN): ...here.
1455         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
1456         Require that optind=0 works, since modern BSD supports it in
1457         addition to optreset, and since coreutils expects it.
1458         (test_getopt_long_only): New test.
1459         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
1460         glibc shortcomings with 'W;', and enforcement of optind=0.
1461         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
1462         Likewise.
1463
1464 2009-12-21  Bruno Haible  <bruno@clisp.org>
1465
1466         localename: Improvements for MacOS X and Cygwin.
1467         * lib/localename.h (gl_locale_name_environ): New declaration.
1468         * lib/localename.c (gl_locale_name_environ): New function, extracted from
1469         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
1470         (gl_locale_name_posix): Invoke it.
1471         (gl_locale_name_default): Add comments. Use Windows native API also on
1472         Cygwin.
1473
1474 2009-12-21  Bruno Haible  <bruno@clisp.org>
1475
1476         Update list of Win32 locale ids.
1477         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
1478         (LANG_SAMI): Renamed from LANG_SAAMI.
1479         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
1480         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
1481         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
1482         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
1483         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
1484         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
1485         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
1486         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
1487         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
1488         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
1489         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
1490         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
1491         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
1492         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
1493         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
1494         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
1495         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
1496         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
1497         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
1498         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
1499         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
1500         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
1501         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
1502         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
1503         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
1504         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
1505         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
1506         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
1507         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
1508         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
1509         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
1510         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
1511         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
1512         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
1513         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
1514         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
1515         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
1516         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
1517         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
1518         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
1519         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
1520         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
1521         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
1522         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
1523         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
1524         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
1525         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
1526         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
1527         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
1528         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
1529         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
1530         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
1531         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
1532         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
1533         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
1534         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
1535         Add more languages and countries for Sami, Sorbian. Add more countries
1536         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
1537         for Pashto. Change country for Syriac, Tswana.
1538
1539 2009-12-21  Eric Blake  <ebb9@byu.net>
1540
1541         test-utimens: avoid spurious failure
1542         * tests/test-chown.h (nap): Factor...
1543         * tests/nap.h: ...into new file.
1544         * tests/test-lchown.h (nap): Avoid duplication.
1545         * tests/test-utimens-common.h (nap): Use shared implementation,
1546         necessary on file systems with 1-second resolution.
1547         * modules/chown-tests (Files): Include new file.
1548         * modules/fdutimensat-tests (Files): Likewise.
1549         * modules/futimens-tests (Files): Likewise.
1550         * modules/lchown-tests (Files): Likewise.
1551         * modules/openat-tests (Files): Likewise.
1552         * modules/utimens-tests (Files): Likewise.
1553         * modules/utimensat-tests (Files): Likewise.
1554
1555 2009-12-19  Eric Blake  <ebb9@byu.net>
1556
1557         futimens, utimensat: work around Linux bug
1558         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
1559         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
1560         * lib/utimensat.c (rpl_utimensat): Work around it.
1561         * lib/futimens.c (rpl_futimens): Adjust comment.
1562
1563         utimens: work around Linux ctime bug
1564         * lib/utimens.c (detect_ctime_bug): New helper function.
1565         (update_timespec): Differentiate between workaround needed for
1566         this bug vs. what is needed for systems that lack utimensat.
1567         (fdutimens, lutimens): Work around bug.
1568
1569         utimens: check for ctime update
1570         * tests/test-utimens-common.h (check_ctime): Define.
1571         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
1572         * tests/test-futimens.h (test_futimens): Likewise.
1573         * tests/test-lutimens.h (test_lutimens): Likewise.
1574         * doc/posix-functions/futimens.texi (futimens): Document the bug.
1575         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
1576
1577 2009-12-19  Bruno Haible  <bruno@clisp.org>
1578
1579         dprintf-posix: Check against memory leak fixed on 2009-12-15.
1580         * tests/test-dprintf-posix2.sh: New file.
1581         * tests/test-dprintf-posix2.c: New file.
1582         * modules/dprintf-posix-tests (Files): Add them.
1583         (configure.ac): Check for getrlimit and setrlimit.
1584         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
1585
1586 2009-12-19  Bruno Haible  <bruno@clisp.org>
1587
1588         fprintf-posix: Check against memory leak fixed on 2009-12-15.
1589         * tests/test-fprintf-posix3.sh: New file.
1590         * tests/test-fprintf-posix3.c: New file.
1591         * modules/fprintf-posix-tests (Files): Add them.
1592         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
1593
1594 2009-12-19  Eric Blake  <ebb9@byu.net>
1595
1596         dirfd: fix prototype
1597         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
1598         * lib/dirfd.c (dirfd): Likewise.
1599
1600         canonicalize: reduce memory usage
1601         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
1602         allocation to size.
1603         Reported by Solar Designer <solar@openwall.com>.
1604
1605 2009-12-19  Bruno Haible  <bruno@clisp.org>
1606
1607         New module attribute 'Applicability'.
1608         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
1609         * gnulib-tool: New option --extract-applicability.
1610         (func_usage): Document it.
1611         (sed_extract_prog): Recognize it.
1612         (func_get_applicability): New function.
1613         (func_import): Generalize handling of 'link-warning' module.
1614         * modules/link-warning (Applicability): New section.
1615         * modules/arg-nonnull (Applicability): New section.
1616         Repoted by Simon Josefsson <simon@josefsson.org>.
1617
1618 2009-12-19  Bruno Haible  <bruno@clisp.org>
1619
1620         fflush: tweak
1621         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
1622         * lib/fseeko.c (rpl_fseeko): Likewise.
1623
1624 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
1625
1626         * lib/gl_list.h: Fix typo in comment.
1627
1628 2009-12-16  Eric Blake  <ebb9@byu.net>
1629
1630         fcntl: use to simplify other modules
1631         * modules/cloexec (Depends-on): Add fcntl.
1632         * modules/fchdir (Depends-on): Likewise.
1633         * modules/fd-safer-flag (Depends-on): Likewise.
1634         * modules/unistd-safer (Depends-on): Likewise.
1635         * modules/dup3 (configure.ac): Set module indicator.
1636         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
1637         missing.
1638         * lib/fchdir.c (_gl_register_dup): Fix comment.
1639         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
1640         * lib/dup-safer.c (dup_safer): Likewise.
1641         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
1642         * lib/dup3.c (dup3): Likewise.
1643         * tests/test-fchdir.c (main): Enhance test.
1644         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
1645
1646         fcntl: port portions of fcntl to mingw
1647         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
1648         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
1649         replacement for mingw.
1650         * modules/fcntl (Description): Update.
1651         (Depends-on): Add dup2.
1652         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
1653         * modules/fcntl-h (Makefile.am): Substitute it.
1654         * lib/fcntl.in.h (fcntl): Update declaration.
1655         (F_DUPFD, F_GETFD): New macros, when needed.
1656         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
1657         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
1658         * tests/test-fcntl.c (check_flags, main): Enhance test for items
1659         we now guarantee.
1660
1661         fcntl: work around cygwin bug in F_DUPFD
1662         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
1663         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
1664         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
1665         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
1666         * doc/posix-functions/fcntl.texi (fcntl): Document it.
1667
1668         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
1669         * modules/fcntl (Files): List new files.
1670         (configure.ac): Run a test.
1671         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
1672         * lib/fcntl.c (rpl_fcntl): Likewise.
1673         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
1674         (gl_FCNTL_H): Always replace fcntl.h.
1675         * modules/fcntl-h (Makefile.am): Substitute witnesses.
1676         * lib/fcntl.in.h (fcntl): Declare replacement.
1677         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
1678         needed, plus a witness.
1679         * doc/posix-functions/fcntl.texi (fcntl): Document this.
1680         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
1681         * tests/test-fcntl.c: New file.
1682         * modules/fcntl-tests: Likewise.
1683
1684         binary-io: avoid potential compilation warning
1685         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
1686         directives.
1687
1688         fflush: avoid compilation error on NetBSD
1689         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
1690         between off_t and fpos_t, since the latter is sometimes a struct.
1691         * lib/fseeko.c (rpl_fseeko): Likewise.
1692         Reported by Alexander Nasonov <alnsn@yandex.ru>.
1693
1694 2009-12-15  Eric Blake  <ebb9@byu.net>
1695
1696         fcntl-h, stdio, sys_ioctl: fix declarations
1697         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
1698         function must not take arguments.
1699         * lib/sys_ioctl.in.h (ioctl): Likewise.
1700         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
1701         (open): Add a link warning.
1702
1703 2009-12-15  Jim Meyering  <meyering@redhat.com>
1704
1705         areadlink, areadlink-with-size: relax license to LGPLv2+
1706         * modules/areadlink (License): Relax to LGPLv2+.
1707         * modules/areadlink-with-size (License): Likewise.
1708
1709 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
1710             Bruno Haible  <bruno@clisp.org>
1711
1712         *printf: Fix memory leak.
1713         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
1714         * lib/vfprintf.c (vfprintf): Likewise.
1715         * lib/dprintf.c (dprintf): Likewise.
1716         * lib/vdprintf.c (vdprintf): Likewise.
1717
1718 2009-12-14  Eric Blake  <ebb9@byu.net>
1719
1720         accept4: adjust module dependencies
1721         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
1722
1723         utimens: one more try at avoiding compiler warning
1724         * lib/utimens.c (lutimens): Lower scope of result.
1725
1726 2009-12-13  Bruno Haible  <bruno@clisp.org>
1727
1728         Move the malloc checking from module 'list' to new module 'xlist'.
1729         * modules/xlist: New file.
1730         * lib/gl_xlist.h: New file.
1731         * lib/gl_xlist.c: New file.
1732         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
1733         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
1734         gl_list_add_last, gl_list_add_before, gl_list_add_after,
1735         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
1736         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
1737         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
1738         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
1739         gl_sortedlist_nx_add): New declarations.
1740         (struct gl_list_implementation): Rename and change methods accordingly.
1741         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
1742         (gl_list_nx_create): Renamed from gl_list_create.
1743         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
1744         (gl_list_nx_set_at): Renamed from gl_list_set_at.
1745         (gl_list_nx_add_first): Renamed from gl_list_add_first.
1746         (gl_list_nx_add_last): Renamed from gl_list_add_last.
1747         (gl_list_nx_add_before): Renamed from gl_list_add_before.
1748         (gl_list_nx_add_after): Renamed from gl_list_add_after.
1749         (gl_list_nx_add_at): Renamed from gl_list_add_at.
1750         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
1751         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
1752         gl_list_create_empty.
1753         (gl_list_nx_create): Renamed from gl_list_create.
1754         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
1755         (gl_list_nx_set_at): Renamed from gl_list_set_at.
1756         (gl_list_nx_add_first): Renamed from gl_list_add_first.
1757         (gl_list_nx_add_last): Renamed from gl_list_add_last.
1758         (gl_list_nx_add_before): Renamed from gl_list_add_before.
1759         (gl_list_nx_add_after): Renamed from gl_list_add_after.
1760         (gl_list_nx_add_at): Renamed from gl_list_add_at.
1761         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
1762         * lib/gl_array_list.c: Don't include xalloc.h.
1763         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
1764         NULL upon out-of-memory.
1765         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
1766         out-of-memory.
1767         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
1768         Change return type to 'int'.
1769         (gl_array_nx_set_at): Renamed from gl_array_set_at.
1770         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
1771         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
1772         upon out-of-memory.
1773         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
1774         upon out-of-memory.
1775         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
1776         upon out-of-memory.
1777         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
1778         upon out-of-memory.
1779         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
1780         out-of-memory.
1781         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
1782         Update.
1783         (gl_array_list_implementation): Update.
1784         * lib/gl_carray_list.c: Don't include xalloc.h.
1785         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
1786         Return NULL upon out-of-memory.
1787         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
1788         out-of-memory.
1789         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
1790         Change return type to 'int'.
1791         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
1792         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
1793         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
1794         upon out-of-memory.
1795         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
1796         upon out-of-memory.
1797         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
1798         out-of-memory.
1799         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
1800         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
1801         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
1802         Update.
1803         (gl_carray_list_implementation): Update.
1804         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
1805         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
1806         gl_linked_create_empty. Return NULL upon out-of-memory.
1807         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
1808         out-of-memory.
1809         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
1810         Change return type to 'int'. Return -1 upon out-of-memory.
1811         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
1812         out-of-memory.
1813         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
1814         upon out-of-memory.
1815         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
1816         upon out-of-memory.
1817         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
1818         NULL upon out-of-memory.
1819         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
1820         upon out-of-memory.
1821         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
1822         out-of-memory.
1823         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
1824         Update.
1825         * lib/gl_linked_list.c: Don't include xalloc.h.
1826         (gl_linked_list_implementation): Update.
1827         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
1828         (add_to_bucket): Change return type to 'int'.
1829         (gl_linkedhash_list_implementation): Update.
1830         * lib/gl_anytree_list1.h (free_subtree): New function.
1831         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
1832         gl_tree_create_empty. Return NULL upon out-of-memory.
1833         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
1834         Change return type to 'int'. Return -1 upon out-of-memory.
1835         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
1836         out-of-memory.
1837         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
1838         (gl_tree_remove_node): New function, moved here from
1839         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
1840         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
1841         Update.
1842         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
1843         malloc, not xmalloc. Return NULL upon out-of-memory.
1844         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
1845         out-of-memory.
1846         (gl_tree_remove_node_from_tree): New function, extracted from
1847         gl_tree_remove_node.
1848         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
1849         upon out-of-memory.
1850         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
1851         out-of-memory.
1852         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
1853         upon out-of-memory.
1854         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
1855         upon out-of-memory.
1856         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
1857         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
1858         not xmalloc. Return NULL upon out-of-memory.
1859         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
1860         out-of-memory.
1861         (gl_tree_remove_node_from_tree): New function, extracted from
1862         gl_tree_remove_node.
1863         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
1864         upon out-of-memory.
1865         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
1866         out-of-memory.
1867         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
1868         upon out-of-memory.
1869         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
1870         upon out-of-memory.
1871         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
1872         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
1873         gl_anytree_list1.h before gl_anyavltree_list2.h.
1874         (gl_avltree_list_implementation): Update.
1875         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
1876         gl_anytree_list1.h before gl_anyavltree_list2.h.
1877         (gl_rbtree_list_implementation): Update.
1878         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
1879         Change return type to 'int'. Return -1 upon out-of-memory. Use
1880         __builtin_expect.
1881         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
1882         (gl_avltreehash_list_implementation): Update.
1883         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
1884         (gl_rbtreehash_list_implementation): Update.
1885         * modules/array-list (Depends-on): Remove xalloc.
1886         * modules/carray-list (Depends-on): Likewise.
1887         * modules/linked-list (Depends-on): Likewise.
1888         * modules/linkedhash-list (Depends-on): Likewise.
1889         * modules/avltree-list (Depends-on): Likewise.
1890         * modules/rbtree-list (Depends-on): Likewise.
1891         * modules/avltreehash-list (Depends-on): Likewise.
1892         * modules/rbtreehash-list (Depends-on): Likewise.
1893
1894         * modules/xsublist: New file.
1895         * lib/gl_xsublist.h: New file.
1896         * lib/gl_xsublist.c: New file.
1897         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
1898         (gl_sublist_nx_create): New declaration.
1899         * lib/gl_sublist.c: Don't include xalloc.h.
1900         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
1901         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
1902         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
1903         Change return type to 'int'. Return -1 upon out-of-memory.
1904         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
1905         upon out-of-memory.
1906         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
1907         NULL upon out-of-memory.
1908         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
1909         upon out-of-memory.
1910         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
1911         NULL upon out-of-memory.
1912         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
1913         NULL upon out-of-memory.
1914         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
1915         upon out-of-memory.
1916         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
1917         (gl_sublist_list_implementation): Update.
1918         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
1919         upon out-of-memory.
1920         * modules/sublist (Depends-on): Remove xalloc.
1921
1922         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
1923         * tests/test-carray_list.c: Likewise.
1924         * tests/test-linked_list.c: Likewise.
1925         * tests/test-linkedhash_list.c: Likewise.
1926         * tests/test-avltree_list.c: Likewise.
1927         * tests/test-rbtree_list.c: Likewise.
1928         * tests/test-avltreehash_list.c: Likewise.
1929         * tests/test-rbtreehash_list.c: Likewise.
1930         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
1931         * modules/carray-list-tests (Makefile.am): Likewise.
1932         * modules/linked-list-tests (Makefile.am): Likewise.
1933         * modules/linkedhash-list-tests (Makefile.am): Likewise.
1934         * modules/avltree-list-tests (Makefile.am): Likewise.
1935         * modules/rbtree-list-tests (Makefile.am): Likewise.
1936         * modules/avltreehash-list-tests (Makefile.am): Likewise.
1937         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
1938
1939         * NEWS: Mention the changes.
1940
1941         * lib/clean-temp.c: Include gl_xlist.h.
1942         * modules/clean-temp (Depends-on): Add xlist.
1943
1944         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
1945         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
1946
1947         * tests/test-array_oset.c: Include gl_xlist.h.
1948         * modules/array-oset-tests (Depends-on): Add xlist.
1949
1950         Reported by José E. Marchesi <jemarch@gnu.org>.
1951
1952 2009-12-13  Bruno Haible  <bruno@clisp.org>
1953
1954         Move the malloc checking from module 'oset' to new module 'xoset'.
1955         * modules/xoset: New file.
1956         * lib/gl_xoset.h: New file.
1957         * lib/gl_xoset.c: New file.
1958         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
1959         declarations.
1960         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
1961         (struct gl_oset_implementation): Rename and change methods accordingly.
1962         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
1963         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
1964         'int'. Mark as __warn_unused_result__.
1965         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
1966         gl_oset_create_empty.
1967         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
1968         'int'.
1969         * lib/gl_array_oset.c: Don't include xalloc.h.
1970         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
1971         malloc, not xmalloc.
1972         (grow): Change return type to 'int'. Don't call xalloc_die.
1973         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
1974         to 'int'.
1975         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
1976         'int'.
1977         (gl_array_oset_implementation): Update.
1978         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
1979         gl_tree_create_empty.
1980         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
1981         'int'.
1982         * lib/gl_avltree_oset.c: Don't include xalloc.h.
1983         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
1984         xmalloc.
1985         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
1986         not xmalloc.
1987         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
1988         xmalloc.
1989         (gl_avltree_oset_implementation): Update.
1990         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
1991         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
1992         xmalloc.
1993         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
1994         not xmalloc.
1995         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
1996         xmalloc.
1997         (gl_rbtree_oset_implementation): Update.
1998         * modules/array-oset (Depends-on): Remove xalloc.
1999         * modules/avltree-oset (Depends-on): Likewise.
2000         * modules/rbtree-oset (Depends-on): Likewise.
2001         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
2002         * tests/test-avltree_oset.c: Likewise.
2003         * tests/test-rbtree_oset.c: Likewise.
2004         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
2005         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
2006         * modules/rbtree-oset-tests (Makefile.am): Likewise.
2007         * NEWS: Mention the change.
2008
2009 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
2010
2011         maint.mk: allow a project to override release-prep commands
2012         * top/maint.mk (alpha, beta, stable): Move release-preparatory
2013         commands into a new rule.
2014         (release-prep): New rule.
2015         (release-prep-hook): New overridable variable.
2016
2017 2009-12-13  Bruno Haible  <bruno@clisp.org>
2018
2019         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
2020
2021 2009-12-13  Jim Meyering  <meyering@redhat.com>
2022
2023         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
2024         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
2025
2026 2009-12-12  Bruno Haible  <bruno@clisp.org>
2027
2028         duplocale: Tweak.
2029         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
2030
2031 2009-12-12  Karl Berry  <karl@gnu.org>
2032
2033         * config/srclist.txt (strtoll.c): tab changes, no more sync.
2034
2035 2009-12-12  Bruno Haible  <bruno@clisp.org>
2036
2037         * m4/po.m4: Undo incorrect untabification.
2038
2039 2009-12-12  Bruno Haible  <bruno@clisp.org>
2040
2041         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
2042         * modules/c-strtod (Depends-on): Add locale.
2043         * modules/c-strtold (Depends-on): Likewise.
2044
2045 2009-12-12  Bruno Haible  <bruno@clisp.org>
2046
2047         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
2048
2049 2009-12-11  Eric Blake  <ebb9@byu.net>
2050
2051         setenv: relax requirement in light of POSIX ruling
2052         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
2053         not NULL.
2054         * tests/test-setenv.c (main): Relax test.
2055         * tests/test-unsetenv.c (main): Likewise.
2056         * doc/posix-functions/setenv.texi (setenv): Document this.
2057         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
2058
2059 2009-12-11  Bruno Haible  <bruno@clisp.org>
2060
2061         New module 'fd-safer-flag'.
2062         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
2063         * lib/dup-safer.c (dup_safer_flag): Remove function.
2064         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
2065         * lib/fd-safer.c (fd_safer_flag): Remove function.
2066         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
2067         * modules/cloexec (configure.ac): Drop indicator macro.
2068         * modules/fd-safer-flag: New file.
2069         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
2070         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
2071         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
2072
2073 2009-12-11  Bruno Haible  <bruno@clisp.org>
2074
2075         Tests for module 'nl_langinfo'.
2076         * modules/nl_langinfo-tests: New file.
2077         * tests/test-nl_langinfo.sh: New file.
2078         * tests/test-nl_langinfo.c: New file.
2079
2080         New module 'nl_langinfo'.
2081         * lib/nl_langinfo.c: New file.
2082         * m4/nl_langinfo.m4: New file.
2083         * modules/nl_langinfo: New file.
2084         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
2085
2086 2009-12-11  Bruno Haible  <bruno@clisp.org>
2087
2088         Tests for module 'langinfo'.
2089         * modules/langinfo-tests: New file.
2090         * tests/test-langinfo.c: New file.
2091
2092         New module 'langinfo'.
2093         * lib/langinfo.in.h: New file.
2094         * m4/langinfo_h.m4: New file.
2095         * modules/langinfo: New file.
2096         * doc/posix-headers/langinfo.texi: Mention the new module.
2097
2098 2009-12-11  Bruno Haible  <bruno@clisp.org>
2099
2100         * lib/config.charset: Untabify.
2101
2102 2009-12-11  Bruno Haible  <bruno@clisp.org>
2103
2104         * modules/unistd-safer (configure.ac): Drop indicator macro.
2105
2106 2009-12-11  Bruno Haible  <bruno@clisp.org>
2107
2108         Move pipe2-safer code to its own file.
2109         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
2110         * lib/pipe-safer.c (pipe2_safer): Remove function.
2111         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
2112         (Makefile.am): Add it to lib_SOURCES.
2113
2114 2009-12-10  Bruno Haible  <bruno@clisp.org>
2115
2116         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
2117
2118 2009-12-10  Bruno Haible  <bruno@clisp.org>
2119
2120         Declare which arguments expect non-NULL values, for GCC and clang.
2121         * build-aux/arg-nonnull.h: New file.
2122         * modules/arg-nonnull: New file.
2123         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
2124         (inet_ntop, inet_pton): Use it.
2125         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
2126         (closedir, dirfd, opendir, scandir, alphasort): Use it.
2127         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
2128         (open, openat): Use it.
2129         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
2130         (fnmatch): Use it.
2131         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
2132         (getopt, getopt_long, getopt_long_only): Use it.
2133         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
2134         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
2135         Use it.
2136         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
2137         (iconv_open): Use it.
2138         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
2139         (strtoimax, strtoumax): Use it.
2140         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
2141         (duplocale): Use it.
2142         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
2143         (frexp, frexpl): Use it.
2144         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
2145         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
2146         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
2147         (tsearch, tfind, tdelete, twalk): Use it.
2148         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
2149         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
2150         sigpending): Use it.
2151         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
2152         (posix_spawn, posix_spawnp, posix_spawnattr_init,
2153         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
2154         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
2155         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
2156         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
2157         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
2158         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
2159         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
2160         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
2161         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
2162         Use it.
2163         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
2164         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
2165         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
2166         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
2167         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
2168         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
2169         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
2170         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
2171         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
2172         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
2173         strtoull, unsetenv): Use it.
2174         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
2175         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
2176         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
2177         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
2178         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
2179         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
2180         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
2181         (strcasecmp, strncasecmp): Use it.
2182         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
2183         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
2184         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
2185         rpl_setsockopt): Use it.
2186         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
2187         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
2188         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
2189         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
2190         (gettimeofday): Use it.
2191         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
2192         (times): Use it.
2193         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
2194         (uname): Use it.
2195         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
2196         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
2197         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
2198         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
2199         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
2200         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
2201         unlinkat, write): Use it.
2202         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
2203         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
2204         * lib/argv-iter.h: Include arg-nonnull.h.
2205         (_ATTRIBUTE_NONNULL_): Remove macro.
2206         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
2207         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
2208         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
2209         optimization.
2210         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
2211         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
2212         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
2213         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
2214         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
2215         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
2216         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
2217         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
2218         * modules/arpa_inet (Depends-on): Add arg-nonnull.
2219         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
2220         * modules/dirent (Depends-on): Add arg-nonnull.
2221         (Makefile.am): Insert arg-nonnull.h into dirent.h.
2222         * modules/fcntl-h (Depends-on): Add arg-nonnull.
2223         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
2224         * modules/fnmatch (Depends-on): Add arg-nonnull.
2225         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
2226         * modules/getopt-posix (Depends-on): Add arg-nonnull.
2227         (Makefile.am): Insert arg-nonnull.h into getopt.h.
2228         * modules/glob (Depends-on): Add arg-nonnull.
2229         (Makefile.am): Insert arg-nonnull.h into glob.h.
2230         * modules/iconv_open (Depends-on): Add arg-nonnull.
2231         (Makefile.am): Insert arg-nonnull.h into iconv.h.
2232         * modules/inttypes (Depends-on): Add arg-nonnull.
2233         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
2234         * modules/locale (Depends-on): Add arg-nonnull.
2235         (Makefile.am): Insert arg-nonnull.h into locale.h.
2236         * modules/math (Depends-on): Add arg-nonnull.
2237         (Makefile.am): Insert arg-nonnull.h into math.h.
2238         * modules/netdb (Depends-on): Add arg-nonnull.
2239         (Makefile.am): Insert arg-nonnull.h into netdb.h.
2240         * modules/search (Depends-on): Add arg-nonnull.
2241         (Makefile.am): Insert arg-nonnull.h into search.h.
2242         * modules/signal (Depends-on): Add arg-nonnull.
2243         (Makefile.am): Insert arg-nonnull.h into signal.h.
2244         * modules/spawn (Depends-on): Add arg-nonnull.
2245         (Makefile.am): Insert arg-nonnull.h into spawn.h.
2246         * modules/stdio (Depends-on): Add arg-nonnull.
2247         (Makefile.am): Insert arg-nonnull.h into stdio.h.
2248         * modules/stdlib (Depends-on): Add arg-nonnull.
2249         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
2250         * modules/string (Depends-on): Add arg-nonnull.
2251         (Makefile.am): Insert arg-nonnull.h into string.h.
2252         * modules/strings (Depends-on): Add arg-nonnull.
2253         (Makefile.am): Insert arg-nonnull.h into strings.h.
2254         * modules/sys_socket (Depends-on): Add arg-nonnull.
2255         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
2256         * modules/sys_stat (Depends-on): Add arg-nonnull.
2257         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
2258         * modules/sys_time (Depends-on): Add arg-nonnull.
2259         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
2260         * modules/sys_times (Depends-on): Add arg-nonnull.
2261         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
2262         * modules/sys_utsname (Depends-on): Add arg-nonnull.
2263         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
2264         * modules/time (Depends-on): Add arg-nonnull.
2265         (Makefile.am): Insert arg-nonnull.h into time.h.
2266         * modules/unistd (Depends-on): Add arg-nonnull.
2267         (Makefile.am): Insert arg-nonnull.h into unistd.h.
2268         * modules/wchar (Depends-on): Add arg-nonnull.
2269         (Makefile.am): Insert arg-nonnull.h into wchar.h.
2270         * modules/argv-iter (Depends-on): Add arg-nonnull.
2271         * tests/test-canonicalize.c (null_ptr): New function.
2272         (main): Use it.
2273         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
2274         (main): Use it.
2275         * tests/test-memmem.c (null_ptr): New function.
2276         (main): Use it.
2277         Reported by Jim Meyering.
2278
2279 2009-12-10  Bruno Haible  <bruno@clisp.org>
2280
2281         Use spaces for indentation, not tabs.
2282         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
2283         * m4/*.m4: Untabify.
2284         * build-aux/*.h: Untabify.
2285         * tests/**/*.[hc]: Untabify.
2286         * README: New section "Indent with spaces, not TABs", based on
2287         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
2288         * NEWS: Mention the change.
2289
2290 2009-12-10  Bruno Haible  <bruno@clisp.org>
2291
2292         pty test: Fix link error.
2293         * modules/pty-tests (Makefile.am): Add the default LDADD value to
2294         test_pty_LDADD.
2295
2296 2009-12-07  Simon Josefsson  <simon@josefsson.org>
2297
2298         * modules/pty: New file.
2299         * modules/pty-tests: New file.
2300         * m4/pty.m4: New file.
2301         * tests/test-pty.c: New file.
2302         * doc/glibc-headers/pty.texi: Modified.
2303         * doc/glibc-functions/forkpty.texi: Modified.
2304         * doc/glibc-functions/openpty.texi: Modified.
2305
2306 2009-12-10  Bruno Haible  <bruno@clisp.org>
2307
2308         Avoid syntax error in C++ mode.
2309         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
2310
2311 2009-12-10  Bruno Haible  <bruno@clisp.org>
2312
2313         Use sed with option -e.
2314         * gnulib-tool (func_version, func_emit_copyright_notice,
2315         func_emit_initmacro_end, func_import, func_create_testdir): Pass
2316         option -e to sed.
2317         * modules/link-warning (Makefile.am): Likewise.
2318
2319 2009-12-10  Jim Meyering  <meyering@redhat.com>
2320
2321         mgetgroups: do not write bytes beyond end of malloc'd buffer
2322         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
2323         username, we call getgroups with a one-element-shorter buffer,
2324         but still told it the length was original, max_n_groups.
2325
2326 2009-12-09  Eric Blake  <ebb9@byu.net>
2327
2328         cloexec: relax license
2329         * modules/cloexec (Maintainer): Add myself.
2330         (License): Use LGPL, not GPL.
2331
2332         link-warning: optimize generation
2333         * modules/link-warning (Makefile.am): Reduce process usage.
2334
2335 2009-12-09  Bruno Haible  <bruno@clisp.org>
2336
2337         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
2338         workaround was added on 2009-11-17.
2339
2340 2009-12-09  Jim Meyering  <meyering@redhat.com>
2341             Bruno Haible  <bruno@clisp.org>
2342
2343         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
2344         * modules/link-warning (Makefile.am): Make the comment-removing sed
2345         command more robust in the face of bootstrap-prepended comment lines.
2346
2347 2009-12-09  Bruno Haible  <bruno@clisp.org>
2348
2349         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
2350         most one group.
2351
2352 2009-12-09  Simon Josefsson <simon@josefsson.org>
2353             Bruno Haible  <bruno@clisp.org>
2354
2355         * build-aux/link-warning.h: Add copyright notice.
2356         * modules/link-warning (Makefile.am): Generate link-warning.h from
2357         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
2358         * NEWS: Mention change in link-warning module.
2359         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
2360         * modules/dirent (Makefile.am): Add dependency to dirent.h.
2361         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
2362         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
2363         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
2364         * modules/math (Makefile.am): Add dependency to math.h.
2365         * modules/search (Makefile.am): Add dependency to search.h.
2366         * modules/signal (Makefile.am): Add dependency to signal.h.
2367         * modules/spawn (Makefile.am): Add dependency to spawn.h.
2368         * modules/stdio (Makefile.am): Add dependency to stdio.h.
2369         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
2370         * modules/string (Makefile.am): Add dependency to string.h.
2371         * modules/strings (Makefile.am): Add dependency to strings.h.
2372         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
2373         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
2374         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
2375         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
2376         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
2377         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
2378         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
2379         * modules/unistd (Makefile.am): Add dependency to unistd.h.
2380         * modules/wchar (Makefile.am): Add dependency to wchar.h.
2381
2382 2009-12-09  Bruno Haible  <bruno@clisp.org>
2383
2384         fchdir: Optimize away rpl_fstat when possible.
2385         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
2386         REPLACE_OPEN_DIRECTORY.
2387         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
2388
2389 2009-12-09  Bruno Haible  <bruno@clisp.org>
2390
2391         * lib/fchdir.c: Update comment.
2392
2393 2009-12-09  Bruno Haible  <bruno@clisp.org>
2394
2395         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
2396
2397 2009-12-08  Eric Blake  <ebb9@byu.net>
2398
2399         fchdir: avoid memory leak on re-registration.
2400         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
2401
2402 2009-12-08  Jim Meyering  <meyering@redhat.com>
2403
2404         init.sh: avoid Solaris 10 /bin/sh portability problem
2405         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
2406         sourced script:
2407           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
2408           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
2409           bar
2410         tests/init.sh relied on that, accepting a --set-path=DIR argument,
2411         and two tests used that idiom.
2412         * tests/init.sh: Update suggested usage comments.
2413         (path_prepend_): New function, to be used in place
2414         of the --src-path=DIR option.
2415         (setup_): Move PATH-prepending code into path_prepend_.
2416         * tests/test-pread.sh: Adapt to new usage.
2417         * tests/test-xalloc-die.sh: Likewise.
2418
2419 2009-12-08  Simon Josefsson  <simon@josefsson.org>
2420
2421         * doc/gnulib.texi (Glibc pty.h): Add.
2422         * doc/glibc-functions/forkpty.texi: Add.
2423         * doc/glibc-functions/openpty.texi: Add.
2424         Suggested by Bruno Haible.
2425
2426 2009-12-08  Eric Blake  <ebb9@byu.net>
2427
2428         fchdir: fix logic bugs
2429         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
2430         * tests/test-fchdir.c (main): Enhance test.
2431         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
2432         is in use.
2433
2434         dup2: fix logic bugs
2435         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
2436         REPLACE_DUP2 to decide when rpl_dup2 is needed.
2437         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
2438         exists.
2439         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
2440
2441 2009-12-07  Eric Blake  <ebb9@byu.net>
2442
2443         unlink: fix m4 detection
2444         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
2445
2446         unistd-safer: add unit test
2447         * modules/unistd-safer-tests: New file.
2448         * tests/test-dup-safer.c: Likewise.
2449         * tests/test-cloexec.c (setmode): Avoid compiler warning.
2450         * tests/test-dup2.c (setmode): Likewise.
2451         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
2452
2453         cloexec: preserve text vs. binary across dup_cloexec
2454         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
2455         mode.
2456         * modules/dup2-tests (Depends-on): Add binary-io.
2457         * modules/cloexec-tests (Depends-on): Likewise.
2458         * tests/test-dup2.c (setmode, is_mode): New helpers.
2459         (main): Add tests that translation mode is preserved.
2460         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
2461         Reported by Bruno Haible.
2462
2463         mgetgroups: reduce duplicate listings
2464         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
2465         resulting array.
2466         * tests/test-chown.h (test_chown): Simplify client.
2467         * tests/test-lchown.h (test_lchown): Likewise.
2468
2469 2009-12-06  Bruno Haible  <bruno@clisp.org>
2470
2471         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
2472         value.
2473
2474 2009-12-06  Bruno Haible  <bruno@clisp.org>
2475
2476         * lib/progname.c: Include stdio.h, stdlib.h.
2477         (set_program_name): Reject a NULL argument.
2478
2479 2009-12-05  Eric Blake  <ebb9@byu.net>
2480
2481         pipe2-safer: new module
2482         * modules/pipe2-safer: New file.
2483         * lib/unistd-safer.h (pipe2_safer): New prototype.
2484         * lib/unistd--.h (pipe2): New wrapper.
2485         * lib/pipe-safer.c (pipe2_safer): New function.
2486         * modules/pipe (Depends-on): Add pipe2-safer.
2487         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
2488
2489         stdlib-safer: preserve cloexec flag for mkostemp[s]
2490         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
2491         fd_safer_flag.
2492
2493         unistd-safer: allow preservation of cloexec status via flag
2494         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
2495         prototypes.
2496         * lib/dup-safer.c (dup_safer_flag): New function.
2497         * lib/fd-safer.c (fd_safer_flag): Likewise.
2498         * modules/cloexec (configure.ac): Set witness.
2499
2500         test-dup2: enhance test
2501         * modules/dup2-tests (Depends-on): Add cloexec.
2502         * tests/test-dup2.c (main): Enhance test.
2503
2504         cloexec: add dup_cloexec
2505         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
2506         header and comments.
2507         * lib/cloexec.c (set_cloexec_flag): Add comments.
2508         (dup_cloexec): New function, with mingw implementation borrowed
2509         from...
2510         * lib/w32spawn.h (dup_noinherit): ...here.
2511         * modules/execute (Depends-on): Add cloexec.
2512         * modules/pipe (Depends-on): Likewise.
2513         * modules/cloexec (Depends-on): Add dup2.
2514         * modules/cloexec-tests (Files): New file.
2515         * tests/test-cloexec.c: Likewise.
2516
2517         test-xalloc-die: fix test for mingw
2518         * modules/xalloc-die-tests (Files): Add tests/init.sh.
2519         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
2520         directory and .exe suffix off argv[0] output.
2521
2522         test-fseeko: fix test for mingw
2523         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
2524         than undefining fseek, so test will pass on mingw.
2525
2526 2009-12-05  Bruno Haible  <bruno@clisp.org>
2527
2528         * lib/progname.h (set_program_name): Clarify specification.
2529         * lib/progname.c (set_program_name): Likewise.
2530         Reported by Jim Meyering.
2531
2532 2009-12-05  Jim Meyering  <meyering@redhat.com>
2533
2534         maint.mk: backslash-escape parens in default regexp
2535         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
2536         backslash-escape the literal parentheses.
2537
2538         maint.mk: news-date-check: use grep -E
2539         * top/maint.mk (today): Define a Make variable, not a...
2540         (news-date-check): ...shell variable.
2541         (news-date-regexp): Use the Make variable.
2542         Use grep's -E option.  Change the failing diagnostic to mention
2543         the variable, $(news-date-regexp).
2544
2545 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
2546
2547         maintainer-makefile: allow customization of NEWS entry format
2548         * top/maint.mk (news-date-regexp): New overridable variable.
2549         (news-date-check): Use it.
2550
2551 2009-12-04  Eric Blake  <ebb9@byu.net>
2552
2553         mgetgroups: add xgetgroups, and avoid ENOSYS failures
2554         * lib/mgetgroups.h (xgetgroups): New prototype.
2555         * lib/mgetgroups.c (xgetgroups): New wrapper.
2556         (mgetgroups): Handle ENOSYS.
2557         * modules/mgetgroups (Depends-on): Add realloc.
2558         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
2559
2560         mgetgroups: avoid argument promotion issues with -1
2561         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
2562         for invalid gid_t.
2563         * tests/test-chown.h (getegid, test_chown): Likewise.
2564         * tests/test-lchown.h (getegid, test_lchown): Likewise.
2565
2566 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
2567
2568         exclude: Fix header file problems.
2569         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
2570
2571 2009-12-01  Jim Meyering  <meyering@redhat.com>
2572
2573         fts: fts_open: do not let an empty string cause immediate failure
2574         This is required in support of GNU rm, for which the command
2575         "rm A '' B" must process and remove both A and B, in spite of
2576         the empty string argument.
2577         * lib/fts.c (fts_open): Do not let the presence of an empty string
2578         cause fts_open to fail immediately.  Most fts-using tools must be
2579         able to process all arguments, in order, and can be expected to
2580         diagnose such arguments themselves.
2581
2582 2009-11-30  Eric Blake  <ebb9@byu.net>
2583
2584         utimens: fix compilation error
2585         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
2586         Declare variable at right scope.
2587
2588 2009-11-29  Jim Meyering  <meyering@redhat.com>
2589
2590         bootstrap: handle perl-5.11's changed --version output
2591         * build-aux/bootstrap (get_version): Handle perl separately,
2592         since perl-5.11's --version output is different.
2593
2594 2009-11-28  Jim Meyering  <meyering@redhat.com>
2595
2596         userspec: depend on the inttostr module, too
2597         * modules/userspec (Depends-on): Add inttostr.
2598
2599         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
2600         * lib/userspec.c (parse_with_separator): Do not accept a user ID
2601         number of MAXUID when it evaluates to (uid_t) -1.
2602         Likewise for group ID.  Reported by Matt McCutchen in
2603         <http://savannah.gnu.org/bugs/?28113>
2604
2605         userspec: reformat to use spaces, not TABs
2606         * lib/userspec.c: Expand TABs to spaces.
2607         Add Emacs' "indent-tabs-mode: nil" hint.
2608
2609 2009-11-27  Eric Blake  <ebb9@byu.net>
2610
2611         getopt-gnu: flush out another BSD bug
2612         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
2613         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
2614         flush out BSD bug.
2615         * tests/test-getopt.h (test_getopt): End lists with NULL.
2616         * tests/test-getopt_long.h (test_getopt_long): Likewise.
2617         (test_getopt_long_posix): Enhance test.
2618         * modules/getopt-posix-tests (Depends-on): Add stdbool.
2619         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
2620         getopt-gnu.
2621         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
2622         Likewise.
2623
2624 2009-11-27  Simon Josefsson  <simon@josefsson.org>
2625
2626         * modules/idpriv-droptemp-tests (Notice): Fix text.
2627
2628 2009-11-27  Jim Meyering  <meyering@redhat.com>
2629
2630         test-xalloc-die: avoid spurious failure due to libtool argv difference
2631         In a libtool-enabled project, this test would fail due to a difference
2632         in the emitted program name, e.g.,
2633         -test-xalloc-die: memory exhausted
2634         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
2635         Use program to avoid that.
2636         * modules/xalloc-die-tests (Depends-on): Add progname.
2637         * tests/test-xalloc-die.c: Include progname.h".
2638         (program_name): Remove decl.
2639         (main): Call set_program_name.
2640         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
2641
2642 2009-11-26  Richard Jones  <rjones@redhat.com>
2643
2644         w32sock: leave win32 error in place.
2645         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
2646
2647 2009-11-26  Eric Blake  <ebb9@byu.net>
2648
2649         init.sh: suggest to use skip_ and fail_ functions in comments
2650         * tests/init.sh: Add a sentence.
2651
2652 2009-11-25  Bruno Haible  <bruno@clisp.org>
2653
2654         init.sh: add documentation in comments
2655         * tests/init.sh: Add some developer and user documentation.
2656
2657 2009-11-26  Jim Meyering  <meyering@redhat.com>
2658
2659         init.sh: accommodate even those who specify bogus srcdir manually
2660         * tests/init.sh: Normally, srcdir is guaranteed by automake and
2661         configure-time tests to be sanitized, so that there is no need to
2662         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
2663         (with no double quotes) suffices.  However, since tests may be
2664         invoked manually, and since you may explicitly set srcdir to the
2665         name of a directory containing spaces, do quote its uses here.
2666         * tests/test-pread.sh: Likewise.
2667         Suggested by Bruno Haible.
2668
2669         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
2670         * tests/test-pread.sh: Write no data into the pipe, because
2671         test-pread actually reads none.  This avoids a diagnostic,
2672         "bash: echo: write error: Broken pipe", that arises in the unusual
2673         event something is ignoring SIGPIPE, and might be interpreted
2674         as some sort of failure.  Reported by Bruno Haible.
2675
2676 2009-11-25  Jim Meyering  <meyering@redhat.com>
2677
2678         test-pread: cover failure with ESPIPE and EINVAL
2679         * tests/test-pread.c (main): Test for failure, too.
2680         * tests/test-pread.sh: Invoke with stdin on a pipe.
2681         Suggested by Eric Blake.
2682
2683         pread: improvement and fix
2684         * modules/pread (Depends-on): Depend on lseek, for portability to
2685         e.g., mingw.  Suggested by Eric Blake.
2686         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
2687
2688         unistd.in.h: correct declaration of pread
2689         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
2690         Reported by Richard W.M. Jones.
2691
2692         test-pread.sh: distribute the test script
2693         * modules/pread-tests (Files): Include test-pread.sh.
2694
2695         test-pread.sh: clean up
2696         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
2697         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
2698         That is unnecessary, since it's always ".".
2699         Suggestion from Eric Blake.
2700
2701         test-pread.sh: make executable
2702         * tests/test-pread.sh: Set executable bit.
2703         Reported by Eric Blake.
2704
2705         correct typo in test-pread.sh
2706         * tests/test-pread.sh: Add #! line.
2707
2708         test pread
2709         * tests/test-pread.c: New file.
2710         * tests/test-pread.sh: Likewise.
2711         * modules/pread-tests: Likewise.
2712
2713         pread: new module
2714         * modules/pread: New file.
2715         * lib/unistd.in.h (pread): Define/declare.
2716         * lib/pread.c (pread): New file.
2717         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
2718         * modules/unistd (Makefile.am): Substitute witnesses.
2719         * doc/posix-functions/pread.texi (pread): Update.
2720         * MODULES.html.sh: Add pread.
2721
2722 2009-11-25  Jim Meyering  <meyering@redhat.com>
2723
2724         tests/init.sh: new file to be used via most *.sh tests
2725         * tests/init.sh: New file.
2726
2727 2009-11-25  Eric Blake  <ebb9@byu.net>
2728
2729         utimens: work around older Linux failure with symlinks
2730         * lib/utimens.c (lutimensat_works_really): New variable.
2731         (fdutimens, lutimens): Use it to manage kernels that support
2732         nanosecond times on files, but not on symlinks.
2733         Reported by OndÅ™ej Vašík.
2734
2735         utimes: fix configure grammar
2736         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
2737
2738 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
2739
2740         regex: Fix fastmap for multibyte character ranges.
2741         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
2742         characters when a multibyte character range is included.
2743
2744 2009-11-22  Andy Wingo  <wingo@pobox.com>
2745
2746         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
2747         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
2748
2749 2009-11-24  Bruno Haible  <bruno@clisp.org>
2750
2751         doc: Most *_l functions exist in MacOS X 10.5.
2752         * doc/posix-functions/duplocale.texi: Update platforms list.
2753         * doc/posix-functions/freelocale.texi: Likewise.
2754         * doc/posix-functions/newlocale.texi: Likewise.
2755         * doc/posix-functions/uselocale.texi: Likewise.
2756         * doc/posix-functions/isalnum_l.texi: Likewise.
2757         * doc/posix-functions/isalpha_l.texi: Likewise.
2758         * doc/posix-functions/isblank_l.texi: Likewise.
2759         * doc/posix-functions/iscntrl_l.texi: Likewise.
2760         * doc/posix-functions/isdigit_l.texi: Likewise.
2761         * doc/posix-functions/isgraph_l.texi: Likewise.
2762         * doc/posix-functions/islower_l.texi: Likewise.
2763         * doc/posix-functions/isprint_l.texi: Likewise.
2764         * doc/posix-functions/ispunct_l.texi: Likewise.
2765         * doc/posix-functions/isspace_l.texi: Likewise.
2766         * doc/posix-functions/isupper_l.texi: Likewise.
2767         * doc/posix-functions/iswalnum_l.texi: Likewise.
2768         * doc/posix-functions/iswalpha_l.texi: Likewise.
2769         * doc/posix-functions/iswblank_l.texi: Likewise.
2770         * doc/posix-functions/iswcntrl_l.texi: Likewise.
2771         * doc/posix-functions/iswctype_l.texi: Likewise.
2772         * doc/posix-functions/iswdigit_l.texi: Likewise.
2773         * doc/posix-functions/iswgraph_l.texi: Likewise.
2774         * doc/posix-functions/iswlower_l.texi: Likewise.
2775         * doc/posix-functions/iswprint_l.texi: Likewise.
2776         * doc/posix-functions/iswpunct_l.texi: Likewise.
2777         * doc/posix-functions/iswspace_l.texi: Likewise.
2778         * doc/posix-functions/iswupper_l.texi: Likewise.
2779         * doc/posix-functions/iswxdigit_l.texi: Likewise.
2780         * doc/posix-functions/isxdigit_l.texi: Likewise.
2781         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
2782         * doc/posix-functions/strcasecmp_l.texi: Likewise.
2783         * doc/posix-functions/strcoll_l.texi: Likewise.
2784         * doc/posix-functions/strfmon_l.texi: Likewise.
2785         * doc/posix-functions/strftime_l.texi: Likewise.
2786         * doc/posix-functions/strncasecmp_l.texi: Likewise.
2787         * doc/posix-functions/strxfrm_l.texi: Likewise.
2788         * doc/posix-functions/tolower_l.texi: Likewise.
2789         * doc/posix-functions/toupper_l.texi: Likewise.
2790         * doc/posix-functions/towctrans_l.texi: Likewise.
2791         * doc/posix-functions/towlower_l.texi: Likewise.
2792         * doc/posix-functions/towupper_l.texi: Likewise.
2793         * doc/posix-functions/wcscoll_l.texi: Likewise.
2794         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
2795         * doc/posix-functions/wctrans_l.texi: Likewise.
2796         * doc/posix-functions/wctype_l.texi: Likewise.
2797         * doc/glibc-functions/strptime_l.texi: Likewise.
2798         * doc/glibc-functions/strtod_l.texi: Likewise.
2799         * doc/glibc-functions/strtof_l.texi: Likewise.
2800         * doc/glibc-functions/strtol_l.texi: Likewise.
2801         * doc/glibc-functions/strtold_l.texi: Likewise.
2802         * doc/glibc-functions/strtoll_l.texi: Likewise.
2803         * doc/glibc-functions/strtoul_l.texi: Likewise.
2804         * doc/glibc-functions/strtoull_l.texi: Likewise.
2805         * doc/glibc-functions/wcsftime_l.texi: Likewise.
2806         * doc/glibc-functions/wcstod_l.texi: Likewise.
2807         * doc/glibc-functions/wcstof_l.texi: Likewise.
2808         * doc/glibc-functions/wcstol_l.texi: Likewise.
2809         * doc/glibc-functions/wcstold_l.texi: Likewise.
2810         * doc/glibc-functions/wcstoll_l.texi: Likewise.
2811         * doc/glibc-functions/wcstoul_l.texi: Likewise.
2812         * doc/glibc-functions/wcstoull_l.texi: Likewise.
2813
2814 2009-11-24  Bruno Haible  <bruno@clisp.org>
2815
2816         duplocale: Fix logic bug.
2817         * lib/duplocale.c: Don't include <langinfo.h>.
2818         (_NL_LOCALE_NAME): Remove macro.
2819         (rpl_duplocale): Use setlocale instead of nl_langinfo.
2820         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
2821
2822 2009-11-23  Jim Meyering  <meyering@redhat.com>
2823
2824         test-update-copyright: don't hard-code /usr/bin/perl
2825         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
2826         perl to print the current year.  Gilles Espinasse reported that
2827         the replaced use of perl was hard-coded as /usr/bin/perl.
2828
2829 2009-11-23  Bruno Haible  <bruno@clisp.org>
2830
2831         duplocale: Add support for glibc 2.3.x.
2832         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
2833
2834 2009-11-22  Bruno Haible  <bruno@clisp.org>
2835
2836         vasnprintf: Tiny optimization.
2837         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
2838         MacOS X.
2839
2840 2009-11-22  Bruno Haible  <bruno@clisp.org>
2841
2842         Tests for module 'duplocale'.
2843         * modules/duplocale-tests: New file.
2844         * tests/test-duplocale.c: New file.
2845
2846         New module 'duplocale'.
2847         * m4/duplocale.m4: New file.
2848         * lib/locale.in.h (duplocale): New declaration.
2849         * lib/duplocale.c: New file.
2850         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
2851         gl_LOCALE_H_DEFAULTS): New macros.
2852         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
2853         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
2854         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
2855         REPLACE_DUPLOCALE.
2856         * modules/duplocale: New file.
2857         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
2858
2859 2009-11-22  Bruno Haible  <bruno@clisp.org>
2860
2861         * modules/locale-tests (configure.ac): Test for newlocale function.
2862         * tests/test-locale.c: When the system has extended locale functions,
2863         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
2864
2865         locale: Make locale_t available when possible.
2866         * lib/locale.in.h: Include <xlocale.h> when it exists.
2867         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
2868         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
2869         * modules/locale (Depends-on): Add extensions.
2870         (Makefile.am): Also substitute HAVE_XLOCALE_H.
2871         * doc/posix-headers/locale.texi: Document the problem with locale_t.
2872
2873 2009-11-22  Bruno Haible  <bruno@clisp.org>
2874
2875         Add comments.
2876         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
2877         invocation.
2878         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
2879         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
2880         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
2881
2882 2009-11-22  Bruno Haible  <bruno@clisp.org>
2883
2884         error: account for the possibility of freopen (stdout).
2885         * lib/error.c: Include <unistd.h>.
2886         (flush_stdout): New function, extracted from error and error_at_line.
2887         Determine stdout's fd dynamically.
2888         (error, error_at_line): Invoke flush_stdout.
2889         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
2890         * modules/error (Depends-on): Add unistd.
2891
2892 2009-11-22  Bruno Haible  <bruno@clisp.org>
2893
2894         diffseq: Add comment.
2895         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
2896
2897 2009-11-22  Jim Meyering  <meyering@redhat.com>
2898
2899         c-stack: avoid defining an unused static function
2900         * lib/c-stack.c (find_stack_direction): Do not define this function
2901         when it will not be used.
2902
2903         diffseq: avoid spurious gcc warnings
2904         * lib/diffseq.h (IF_LINT2): Define.
2905         (compareseq): Use it to initialize two members of "part".
2906         This avoids two used-uninitialized warnings.
2907
2908 2009-11-21  Jim Meyering  <meyering@redhat.com>
2909
2910         c-stack: avoid "ignoring return value of `write'" warning
2911         * lib/c-stack.c: Include "ignore-value.h".
2912         (die): Explicitly ignore each write return value.
2913         * modules/c-stack (Depends-on): Add ignore-value.
2914
2915 2009-11-21  Bruno Haible  <bruno@clisp.org>
2916
2917         diffseq: reduce scope of variable 'best'.
2918         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
2919         variable, earlier used for two different purposes.
2920
2921 2009-11-21  Jim Meyering  <meyering@redhat.com>
2922
2923         diffseq: remove useless assignment to "best"
2924         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
2925         assignment.  At that point "best" is already guaranteed to be zero.
2926
2927 2009-11-20  Eric Blake  <ebb9@byu.net>
2928
2929         build: mention ftp redirector in release announcements
2930         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
2931         values that used to come from cfg.mk; mention FTP redirect URL.
2932         * build-aux/announce-gen: Mention the mirror list.
2933         Suggested by Karl Berry.
2934
2935         nanosleep: improve port to mingw
2936         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
2937         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
2938         LIB_NANOSLEEP, but only when needed.
2939         * modules/select (Link): Document LIBSOCKET.
2940         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
2941         enough.
2942
2943         nanosleep: work around cygwin bug
2944         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
2945         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
2946         bug.
2947         (getnow): Delete, not needed.
2948         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
2949         LIB_CLOCK_GETTIME.
2950         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
2951         clock-time, gettime.
2952         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
2953         bug.
2954         * modules/nanosleep-tests: New test.
2955         * tests/test-nanosleep.c: New file.
2956
2957         sleep: work around cygwin bug
2958         * lib/sleep.c (rpl_sleep): Work around the bug.
2959         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
2960         (gl_PREREQ_SLEEP): Delete unused macro.
2961         * modules/sleep (Depends-on): Add verify.
2962         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
2963         * modules/unistd (Makefile.am): Substitute witness.
2964         * lib/unistd.in.h (sleep): Update prototype.
2965         * doc/posix-functions/sleep.texi (sleep): Document the bug.
2966         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
2967         * modules/sleep-tests (Depends-on): Check for alarm.
2968
2969 2009-11-20  Jim Meyering  <meyering@redhat.com>
2970
2971         maint.mk: improve sc_prohibit_magic_number_exit
2972         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
2973         so it does not match uses like System.exit(1).
2974         Add comments showing how to correct all offenders.
2975
2976 2009-11-19  Eric Blake  <ebb9@byu.net>
2977
2978         xalloc-die-tests: add missing library
2979         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
2980
2981         test-xvasprintf: silence compiler warnings
2982         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
2983         empty string from gcc.
2984
2985 2009-11-19  Jim Meyering  <meyering@redhat.com>
2986
2987         xfreopen: new module, from coreutils
2988         * modules/xfreopen: New module.
2989         * lib/xfreopen.c: New file.
2990         * lib/xfreopen.h: New file.
2991         * MODULES.html.sh (File stream based Input/Output"): Add it.
2992
2993 2009-11-19  Eric Blake  <ebb9@byu.net>
2994
2995         manywarnings: depend on warnings
2996         * modules/manywarnings (Depends-on): Add warnings.
2997
2998         build: avoid compiler warnings
2999         * lib/select.c (rpl_select): Delete unused variable.
3000         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
3001
3002 2009-11-18  Eric Blake  <ebb9@byu.net>
3003
3004         tests: avoid false negative with --with-packager
3005         * tests/test-version-etc.sh: Discard packager information.
3006         * tests/test-argp-version-etc-1.sh: Likewise.
3007         Reported by Mike Frysinger.
3008
3009         utimens: fix regression on Solaris
3010         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
3011         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
3012         can only change fd timestamps via futimesat.  Instead, use an
3013         additional witness macro to avoid BSD bug.
3014         Reported by Jim Meyering.
3015
3016 2009-11-17  Eric Blake  <ebb9@byu.net>
3017
3018         usleep: use it to simplify tests
3019         * modules/stat-time-tests (Depends-on): Add usleep.
3020         (configure.ac): Drop usleep check.
3021         * modules/chown-tests (Depends-on, configure.ac): Likewise.
3022         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
3023         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
3024         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
3025         * modules/openat-tests (Depends-on, configure.ac): Likewise.
3026         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
3027         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
3028         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
3029         Likewise.
3030         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
3031         * tests/test-lchown.h (nap): Likewise.
3032         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
3033         * tests/test-stat-time.c (nap): Likewise.
3034         * tests/test-utimens-common.h (nap): Update comments.
3035
3036         usleep: new module
3037         * modules/usleep: New file.
3038         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
3039         * lib/usleep.c (usleep): Likewise.
3040         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
3041         * modules/unistd (Makefile.am): Substitute witnesses.
3042         * lib/unistd.in.h (usleep): Add declaration.
3043         * doc/pastposix-functions/usleep.texi (usleep): Document this.
3044         * MODULES.html.sh (Date and time): Likewise.
3045         * modules/usleep-tests (Depends-on): New test.
3046         * tests/test-usleep.c: New file.
3047
3048         chown: work around OpenBSD bug
3049         * lib/chown.c (rpl_chown): Work around the bug.
3050         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
3051         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
3052         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
3053         * modules/chown (Depends-on): Add stdbool.
3054         * modules/lchown (Depends-on): Likewise.
3055         * doc/posix-functions/chown.texi (chown): Document the bug.
3056         * doc/posix-functions/lchown.texi (lchown): Likewise.
3057         * tests/test-lchown.h (test_chown): Relax test.
3058
3059         mkstemp: avoid conflict with C++ keyword template
3060         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
3061         * lib/mkostemp.c (mkostemp): Likewise.
3062         * lib/mkostemps.c (mkostemps): Likewise.
3063         * lib/mkstemp.c (mkstemp): Likewise.
3064         * lib/mkstemps.c (mkstemps): Likewise.
3065
3066         xalloc-die-tests: optimize
3067         * tests/test-xalloc-die.sh: Reduce number of processes.
3068
3069 2009-11-17  Simon Josefsson  <simon@josefsson.org>
3070
3071         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
3072         patch from ludo@gnu.org (Ludovic Courtès).
3073
3074 2009-11-17  Jim Meyering  <meyering@redhat.com>
3075
3076         version-etc: use proper license string
3077         * modules/version-etc (License): Use LGPL, not LGPLv3+.
3078         * modules/version-etc-fsf: Likewise.
3079
3080 2009-11-17  Simon Josefsson  <simon@josefsson.org>
3081
3082         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
3083         printed to stdout.  Deal with EOL differences.
3084
3085 2009-11-17  Eric Blake  <ebb9@byu.net>
3086
3087         unsetenv: work around Solaris bug
3088         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
3089         * lib/unsetenv.c (rpl_unsetenv): Work around it.
3090         Reported by Jim Meyering.
3091
3092         vasnprintf: avoid compiler warnings
3093         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
3094         variables.
3095         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
3096
3097 2009-11-17  Simon Josefsson  <simon@josefsson.org>
3098
3099         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
3100         settings since xalloc-die is no longer the self test,
3101         xalloc-die.sh is.
3102
3103 2009-11-17  Jim Meyering  <meyering@redhat.com>
3104
3105         test-xalloc-die.sh: make the code agree with the commit log
3106         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
3107         at the end, just in case you happen to have a test-xalloc-die
3108         program in some other PATH directory.
3109
3110         test-xalloc-die.sh: fix a portability bug
3111         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
3112         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
3113         Otherwise, argv[0] (as often seen in diagnostics) would be too
3114         system-dependent, sometimes with, and sometimes without the leading "./".
3115
3116         version-etc-fsf: relax license to LGPLv3+
3117         * modules/version-etc-fsf (License): Relax license.
3118
3119 2009-11-16  Eric Blake  <ebb9@byu.net>
3120
3121         xalloc-die-tests: avoid printing null pointer
3122         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
3123         shell script.
3124         * tests/test-xalloc-die.c (program_name): Declare.
3125         * tests/test-xalloc-die.sh (tmpfiles): New file.
3126
3127         setenv, unsetenv: work around various bugs
3128         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
3129         (setenv) [HAVE_SETENV]: Work around bugs.
3130         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
3131         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
3132         for bugs.
3133         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
3134         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
3135         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
3136         * modules/stdlib (Makefile.am): Update substitutions.
3137         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
3138         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
3139         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
3140         * modules/setenv-tests: New test.
3141         * modules/unsetenv-tests: Likewise.
3142         * tests/test-setenv.c: New file.
3143         * tests/test-unsetenv.c: Likewise.
3144
3145 2009-11-16  Jim Meyering  <meyering@redhat.com>
3146
3147         version-etc: relax license to LGPLv3+
3148         * modules/version-etc (License): Relax license.
3149
3150         better AC_REQUIRE expanded-before-required-warning avoidance
3151         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
3152         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
3153         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
3154         which is no longer needed.
3155
3156 2009-11-16  Eric Blake  <ebb9@byu.net>
3157
3158         test-freading: clean up temporary file
3159         * tests/test-freading.c (main): Remove file on success, and use
3160         ASSERT more liberally.
3161         Reported by Jim Meyering.
3162
3163 2009-11-16  Jim Meyering  <meyering@redhat.com>
3164
3165         avoid new AC_REQUIRE expanded-before-required warnings
3166         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
3167         merely using it.
3168         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
3169         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
3170
3171 2009-11-15  Simon Josefsson  <simon@josefsson.org>
3172
3173         * tests/test-xalloc-die.c: New file.
3174         * modules/xalloc-die-tests: New file.
3175         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
3176         XFAIL_TESTS so it can be appended by modules.
3177
3178 2009-11-15  Simon Josefsson  <simon@josefsson.org>
3179
3180         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
3181         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
3182
3183 2009-11-14  Eric Blake  <ebb9@byu.net>
3184
3185         fnmatch: avoid compiler warning
3186         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
3187         to silence compiler warning about mismatch signedness in ?:.
3188         Reported by Robert Millan.
3189
3190         intprops: add double-inclusion guard
3191         * lib/intprops.h: Allow idempotent includes.
3192         Suggested by Bruce Korb.
3193
3194         openat: detect Solaris fchownat bug
3195         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
3196         penalizing glibc chownat when only lchownat is broken.
3197         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
3198         trailing slash bugs.
3199         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
3200         * modules/openat-tests (Files): Include more files.
3201         (Depends-on): Add mgetgroups, sleep, stat-time.
3202         (configure.ac): Add additional checks.
3203         (Makefile.am): Build new test.
3204         * tests/test-fchownat.c: New file.
3205
3206         lchown: detect Solaris and FreeBSD bug
3207         * lib/lchown.c (rpl_lchown): Work around bug.
3208         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
3209         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
3210         * modules/unistd (Makefile.am): Populate it.
3211         * lib/unistd.in.h (lchown): Update declaration.
3212         * doc/posix-functions/lchown.texi (lchown): Document the bug.
3213         * modules/lchown-tests: New file.
3214         * tests/test-lchown.h (test_lchown): Likewise.
3215         * tests/test-lchown.c (main): Likewise.
3216
3217         chown: detect Solaris and FreeBSD bug
3218         * lib/chown.c (rpl_chown): Work around bug.
3219         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
3220         (gl_PREREQ_CHOWN): Delete.
3221         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
3222         * modules/unistd (Makefile.am): Populate it.
3223         * lib/unistd.in.h (chown): Update declaration.
3224         * lib/lchown.c (chown): Update client.
3225         * modules/lchown (Depends-on): Add lstat.
3226         * doc/posix-functions/chown.texi (chown): Document the bug.
3227         * doc/posix-functions/getgroups.texi (getgroups): Document
3228         getgroups pitfall.
3229         * modules/chown-tests: New file.
3230         * tests/test-chown.h (test_chown): Likewise.
3231         * tests/test-chown.c (main): Likewise.
3232
3233 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
3234
3235         gnulib-tool: correctly detect absence of m4 directories
3236         * gnulib-tool: Avoid extra newline on data passed to wc -l.
3237
3238 2009-11-14  Jim Meyering  <meyering@redhat.com>
3239
3240         maint.mk: Prohibit inclusion of "xalloc.h" without use.
3241         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
3242
3243 2009-11-14  John W. Eaton  <jwe@gnu.org>
3244
3245         strftime.h: wrap funtion declaration in extern "C" block
3246         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
3247
3248 2009-11-13  Eric Blake  <ebb9@byu.net>
3249
3250         getgroups: avoid compiler warning
3251         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
3252
3253         getgroups: work around FreeBSD bug
3254         * lib/getgroups.c (rpl_getgroups): Work around the bug.
3255         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
3256         * doc/posix-functions/getgroups.texi (getgroups): Document it.
3257         * tests/test-getgroups.c (main): Fix buffer overrun.
3258
3259         getgroups: avoid compilation failure
3260         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
3261         * modules/getgroups (Depends-on): Add stdint.
3262
3263 2009-11-13  Jim Meyering  <meyering@redhat.com>
3264
3265         test-getgroups: avoid compilation failure
3266         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
3267
3268 2009-11-13  Eric Blake  <ebb9@byu.net>
3269
3270         mgetgroups: new module, taken from coreutils
3271         * modules/mgetgroups: New file.
3272         * lib/mgetgroups.h: Likewise.
3273         * lib/mgetgroups.c (mgetgroups): Likewise.
3274         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
3275         * MODULES.html.sh (Users and groups): Mention it.
3276
3277         getgroups: don't expose GETGROUPS_T to user
3278         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
3279         an element at a time if GETGROUPS_T is wrong size.
3280         * lib/getugroups.h (getugroups): Change signature.
3281         * lib/unistd.in.h (getgroups): Likewise.
3282         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
3283         signature needs fixing.
3284         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
3285         AC_TYPE_GETGROUPS.
3286         * modules/group-member (Depends-on): Add getgroups.
3287         * lib/group-member.c (group_info, get_group_info): Use gid_t.
3288         (group_member): Rely on getgroups replacement.
3289         * lib/getugroups.c (getugroups): Use gid_t.
3290         * tests/test-getgroups.c (main): Likewise.
3291         * NEWS: Mention the signature change.
3292         * doc/posix-functions/getgroups.texi (getgroups): Mention the
3293         problem with signature.
3294         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
3295         GETGROUPS_T is still useful for setgroups.
3296
3297         getgroups, getugroups: provide stubs for mingw
3298         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
3299         * lib/getugroups.c (getugroups): Likewise.
3300         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
3301         function.  Modernize replacement scheme.
3302         (gl_PREREQ_GETGROUPS): Delete.
3303         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
3304         * modules/getgroups (configure.ac): Declare witness.
3305         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
3306         * modules/unistd (Depends-on): Substitute witness.
3307         * lib/unistd.in.h (getgroups): Declare replacement.
3308
3309         getgroups: avoid calling exit
3310         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
3311         drop xalloc.
3312         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
3313         dependencies.
3314         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
3315         exiting, in the rare case of malloc failure.
3316
3317         getgroups: fix logic error
3318         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
3319         has more than 20 groups.
3320         * modules/getgroups-tests: New test.
3321         * tests/test-getgroups.c: New file.
3322
3323 2009-11-13  Simon Josefsson  <simon@josefsson.org>
3324
3325         * tests/test-base64.c: Improve.
3326
3327 2009-11-13  Simon Josefsson  <simon@josefsson.org>
3328
3329         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
3330         Blake <ebb9@byu.net>.
3331
3332 2009-11-13  Simon Josefsson  <simon@josefsson.org>
3333
3334         * tests/test-xvasprintf.c: Add %s%s related checks.
3335
3336 2009-11-12  Eric Blake  <ebb9@byu.net>
3337
3338         version-etc: match standards.texi style
3339         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
3340         and use <> only for URLs.
3341
3342 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
3343
3344         fts: do not fail on a submount during traversal
3345         * lib/fts.c (fts_build): Read the stat info again after opening
3346         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
3347         Original report at http://bugzilla.redhat.com/501848.
3348
3349 2009-11-12  Jim Meyering  <meyering@redhat.com>
3350
3351         bootstrap: sync from coreutils
3352         * build-aux/bootstrap (bootstrap_epilogue): New function.
3353         Use git_modules_config in one more place.  This make bootstrap's
3354         --gnulib-srcdir option more useful for testing.
3355
3356         bootstrap: generalize autoheader check
3357         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
3358         AC_CONFIG_HEADERS.
3359
3360 2009-11-11  Eric Blake  <ebb9@byu.net>
3361
3362         mkfifoat: use new modules for Solaris and BSD bugs
3363         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
3364         * lib/mkfifoat.c (mknodat): Split...
3365         * lib/mknodat.c (mknodat): ...into new file.
3366         * modules/mkfifoat (Files): Ship new file.
3367         (Depends-on): Add mkfifo, mknod.
3368         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
3369         (Depends-on): Add symlink.
3370         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
3371         redundant with test_mkfifo.h.
3372         (do_mkfifoat, do_mknodat): New helpers.
3373
3374         mknod: new module
3375         * modules/mknod: New file.
3376         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
3377         * lib/mknod.c (mknod): Likewise.
3378         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
3379         defaults.
3380         * modules/sys_stat (Makefile.am): Substitute them.
3381         * lib/sys_stat.in.h (mknod): Declare replacement.
3382         * MODULES.html.sh (Support for systems lacking POSIX:2008):
3383         Document it.
3384         * doc/posix-functions/mknod.texi (mknod): Likewise.
3385         * modules/mknod-tests: New test.
3386         * tests/test-mknod.c: Likewise.
3387
3388         mkfifo: new module
3389         * modules/mkfifo: New file.
3390         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
3391         * lib/mkfifo.c (mkfifo): Likewise.
3392         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
3393         defaults.
3394         * modules/sys_stat (Makefile.am): Substitute them.
3395         * lib/sys_stat.in.h (mkfifo): Declare replacement.
3396         * MODULES.html.sh (Support for systems lacking POSIX:2008):
3397         Document it.
3398         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
3399         * modules/mkfifo-tests: New test.
3400         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
3401         from test-mkfifoat.c.
3402         * tests/test-mkfifo.c: New file.
3403
3404         readlink: detect FreeBSD bug
3405         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
3406         slash on symlink.
3407         * doc/posix-functions/readlink.texi (readlink): Document the bug.
3408         * tests/test-readlink.h (test_readlink): Enhance test.
3409
3410         symlink: detect FreeBSD bug
3411         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
3412         slash on symlink.
3413         * doc/posix-functions/symlink.texi (symlink): Document the bug.
3414         * tests/test-symlink.h (test_symlink): Enhance test.
3415
3416 2009-11-10  Eric Blake  <ebb9@byu.net>
3417
3418         link: detect FreeBSD bug
3419         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
3420         symlink.
3421         * doc/posix-functions/link.texi (link): Document the bug.
3422         * tests/test-link.h (test_link): Enhance test.
3423         * tests/test-linkat.c (main): Update caller.
3424
3425         unlink, remove: detect FreeBSD bug
3426         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
3427         slash on symlink.
3428         * doc/posix-functions/unlink.texi (unlink): Document the bug.
3429         * doc/posix-functions/remove.texi (remove): Likewise.
3430         * tests/test-unlink.h (test_unlink): Enhance test.
3431         * tests/test-remove.c (main): Likewise.
3432
3433 2009-11-09  Eric Blake  <ebb9@byu.net>
3434
3435         rename: detect FreeBSD bug
3436         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
3437         slash on symlink.
3438         * modules/renameat-tests (Depends-on): Add filenamecat.
3439         * tests/test-rename.h (test_rename): Allow one more errno.
3440         * tests/test-renameat.c (main): Likewise.
3441         * doc/posix-functions/rename.texi (rename): Document the bug.
3442
3443         open: detect FreeBSD bug
3444         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
3445         symlink.
3446         * doc/posix-functions/open.texi (open): Document the bug.
3447         * doc/posix-functions/utimes.texi (utimes): Likewise.
3448         * tests/test-open.h (test_open): Add parameters, and test symlink
3449         handling.
3450         * tests/test-open.c (main): Adjust caller.
3451         * tests/test-fcntl-safer.c (main): Likewise.
3452         * modules/open-tests (Depends-on): Add stdbool, symlink.
3453         * modules/fcntl-safer-tests (Depends-on): Likewise.
3454         * tests/test-openat.c (main): Add test-open tests.
3455
3456         stat: detect FreeBSD bug
3457         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
3458         symlink.
3459         * doc/posix-functions/stat.texi (stat): Document the bug.
3460         * tests/test-stat.h (test_stat_func): Add argument.
3461         * tests/test-stat.c (main): Adjust caller.
3462         * tests/test-fstatat.c (main): Likewise.
3463         * modules/stat-tests (Depends-on): Add stdbool, symlink.
3464         Reported by Jim Meyering.
3465
3466 2009-11-09  James Youngman  <jay@gnu.org>
3467
3468         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
3469         * lib/strftime.c: Correct placement of #include "ignore-value.h".
3470
3471 2009-11-08  Jim Meyering  <meyering@redhat.com>
3472
3473         utimens: remove invalid futimesat call
3474         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
3475         It used the file descriptor of the target file as the DIR_FD
3476         parameter and NULL as the file name.  That caused failure with
3477         errno == EFAULT on FreeBSD-8.0-rc2
3478
3479 2009-11-07  Eric Blake  <ebb9@byu.net>
3480
3481         fflush, freadseek: use fseeko, not fseek
3482         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
3483         (clear_ungetc_buffer): Avoid potential problems on large files.
3484         * lib/freadseek.c (freadseek): Likewise.
3485         * modules/freadseek (Depends-on): Add fseeko.
3486         * modules/fseek (configure.ac): Set a witness.
3487         * tests/test-fflush.c (main): Use fseeko.
3488         * tests/test-fpurge.c (fseek): Disable link warning.
3489         * tests/test-freadable.c (fseek): Likewise.
3490         * tests/test-freading.c (fseek): Likewise.
3491         * tests/test-fseeko.c (fseek): Likewise.
3492         * tests/test-ftell.c (fseek): Likewise.
3493         * tests/test-ftello.c (fseek): Likewise.
3494         * tests/test-fwritable.c (fseek): Likewise.
3495         * tests/test-fwriting.c (fseek): Likewise.
3496
3497 2009-11-06  Simon Josefsson  <simon@josefsson.org>
3498
3499         * modules/memchr (Depends-on): Drop getpagesize dependency.
3500
3501 2009-11-06  Simon Josefsson  <simon@josefsson.org>
3502
3503         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
3504         Reported by Ludovic Courtès.
3505         * build-aux/pmccabe2html: Improve example usage.
3506         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
3507
3508 2009-11-06  Jim Meyering  <meyering@redhat.com>
3509
3510         do-release-commit-and-tag: New module.
3511         Automate the release-commit and tag process.
3512         * build-aux/do-release-commit-and-tag: New script, from coreutils.
3513         * modules/do-release-commit-and-tag: New file.
3514         * MODULES.html.sh (Support for maintaining and releasing): Add it.
3515
3516 2009-11-06  Simon Josefsson  <simon@josefsson.org>
3517
3518         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
3519         because test-select.c uses inet_pton.
3520
3521 2009-11-06  Simon Josefsson  <simon@josefsson.org>
3522
3523         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
3524         GETADDRINFO_LIB.  Bump serial number.
3525         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
3526         Suggested by Eric Blake <ebb9@byu.net>.
3527
3528 2009-11-05  Eric Blake  <ebb9@byu.net>
3529
3530         strtod: detect darwin bug
3531         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
3532         Reported by Leo Davis.
3533
3534         freopen-safer: new module
3535         * modules/freopen-safer: New module.
3536         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
3537         * lib/freopen-safer.c (freopen_safer): New file.
3538         * lib/stdio-safer.h (freopen_safer): New declaration.
3539         * lib/stdio--.h (freopen): New override.
3540         * MODULES.html.sh (File stream based Input/Output): Mention it.
3541         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
3542         freopen-safer module.
3543         * doc/posix-functions/stderr.texi (stderr): Likewise.
3544         * doc/posix-functions/stdin.texi (stdin): Likewise.
3545         * doc/posix-functions/stdout.texi (stdout): Likewise.
3546         * modules/freopen-safer-tests: New test.
3547         * tests/test-reopen-safer.c: New file.
3548
3549 2009-11-05  Jim Meyering  <meyering@redhat.com>
3550
3551         maint.mk: Prohibit inclusion of "close-stream.h" without use.
3552         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
3553
3554 2009-11-05  Simon Josefsson  <simon@josefsson.org>
3555
3556         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
3557
3558 2009-11-05  Simon Josefsson  <simon@josefsson.org>
3559
3560         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
3561
3562 2009-11-05  Simon Josefsson  <simon@josefsson.org>
3563
3564         Fix link error.
3565         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
3566         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
3567
3568 2009-11-05  Simon Josefsson  <simon@josefsson.org>
3569
3570         * tests/test-func.c: Also test value of __func__.
3571
3572 2009-11-05  Simon Josefsson  <simon@josefsson.org>
3573
3574         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
3575         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
3576
3577 2009-11-05  Bruno Haible  <bruno@clisp.org>
3578
3579         Fix link error.
3580         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
3581         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
3582         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
3583
3584 2009-11-05  Bruno Haible  <bruno@clisp.org>
3585
3586         Tests for module 'inet_pton'.
3587         * modules/inet_pton-tests: New file.
3588         * tests/test-inet_pton.c: New file.
3589
3590 2009-11-05  Bruno Haible  <bruno@clisp.org>
3591
3592         Tests for module 'inet_ntop'.
3593         * modules/inet_ntop-tests: New file.
3594         * tests/test-inet_ntop.c: New file.
3595
3596 2009-11-04  Eric Blake  <ebb9@byu.net>
3597
3598         stdlib-safer: wrap all mkstemp variants
3599         * modules/mkostemp (configure.ac): Set witness.
3600         * modules/mkostemps (configure.ac): Likewise.
3601         * modules/mkstemps (configure.ac): Likewise.
3602         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
3603         (mkstemps_safer): Wrap more functions.
3604         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
3605         wrapping.
3606         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
3607         (mkstemps_safer): Implement the wrappers.
3608
3609         mkstemps, mkostemps: new modules
3610         * modules/mkostemps: New module.
3611         * modules/mkstemps: Likewise.
3612         * lib/mkostemps.c (mkostemps): New file.
3613         * lib/mkstemps.c (mkstemps): Likewise.
3614         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
3615         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
3616         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
3617         * modules/stdlib (Makefile.am): Substitute them.
3618         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
3619         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
3620         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
3621         * doc/gnulib.texi (Glibc stdlib.h): Include them.
3622         * MODULES.html.sh (File system functions): Mention them.
3623
3624         tempname: resync from glibc
3625         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
3626         same values for __GT_FILE as glibc.  Abort even when assertions
3627         are disabled.
3628         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
3629         match its value otherwise.  Allow idempotent inclusion.
3630         * lib/mkdtemp.c (mkdtemp): Adjust caller.
3631         * lib/mkostemp.c (mkostemp): Likewise.
3632         * lib/mkstemp.c (mkstemp): Likewise.
3633         * lib/tmpfile.c (tmpfile): Likewise.
3634         * NEWS: Document this.
3635
3636         utimens: fix use of futimens on older Linux
3637         * lib/utimens.c (fdutimens): Use updated, rather than original,
3638         timespec to avoid bug in older Linux kernel.
3639         Reported by Simon Josefsson.
3640
3641 2009-11-04  Bruno Haible  <bruno@clisp.org>
3642
3643         Make num_processors more flexible and consistent.
3644         * lib/nproc.h (enum nproc_query): New type.
3645         (num_processors): Add a 'query' argument.
3646         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
3647         (num_processors): Add a 'query' argument. Test the value of the
3648         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
3649         mingw, count the number of CPUs available for the current process.
3650         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
3651         Check for sched_getaffinity and sched_getaffinity_np.
3652         * modules/nproc (Depends-on): Add c-ctype, extensions.
3653         * NEWS: Mention the change.
3654
3655 2009-11-03  Bruno Haible  <bruno@clisp.org>
3656
3657         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
3658
3659 2009-11-03  Jim Meyering  <meyering@redhat.com>
3660
3661         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
3662         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
3663         if it is defined.
3664
3665 2009-11-02  Eric Blake  <ebb9@byu.net>
3666
3667         mktime, timegm: share common declaration
3668         * lib/mktime-internal.h: New file.
3669         * lib/mktime.c: Use it rather than open-coding a declaration.
3670         * lib/timegm.c: Likewise.
3671         * modules/mktime (Files): Ship it.
3672         * modules/timegm (Files): Likewise.
3673         Suggested by Bruno Haible.
3674
3675         test-update-copyright: update test to match script changes
3676         * tests/test-update-copyright.sh: Avoid hard-coding perl
3677         location.  Don't update *.bak created by earlier runs.
3678
3679 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
3680             Simon Josefsson  <simon@josefsson.org>
3681             Bruno Haible  <bruno@clisp.org>
3682
3683         Fix link error on Solaris 8.
3684         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
3685         also in libnsl. Define also INET_PTON_LIB.
3686         * modules/inet_pton (Link): New section.
3687
3688 2009-11-02  Simon Josefsson  <simon@josefsson.org>
3689             Bruno Haible  <bruno@clisp.org>
3690
3691         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
3692         * modules/inet_ntop (Link): New section.
3693         Reported by Boyan Kasarov <bkasarov@gmail.com>.
3694
3695 2009-11-02  Eric Blake  <ebb9@byu.net>
3696
3697         maint: avoid compiler warnings in m4 macros
3698         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
3699         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
3700
3701 2009-11-02  Simon Josefsson  <simon@josefsson.org>
3702
3703         * m4/pmccabe2html.m4: Remove file.
3704         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
3705         function.  Change maintainer.
3706         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
3707         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
3708         Courtès).
3709
3710 2009-10-31  Eric Blake  <ebb9@byu.net>
3711
3712         fseeko: fix m4 regression
3713         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
3714         regression from 2009-10-27.
3715         Reported by Ralf Wildenhues.
3716
3717 2009-10-31  Jim Meyering  <meyering@redhat.com>
3718
3719         inttostr: aesthetics and improved (compile-time) safety
3720         Define inttype_is_signed rather than inttype_is_unsigned,
3721         since the sole use is via "#if inttype_is_signed".
3722         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
3723         inttype_is_unsigned.
3724         * lib/offtostr.c (inttype_is_signed): Likewise.
3725         * lib/uinttostr.c (inttype_is_signed): Likewise.
3726         * lib/umaxtostr.c (inttype_is_signed): Likewise.
3727         * lib/inttostr.c (inttostr): Use verify to cross-check the
3728         inttype_is_signed value and the signedness of the actual type.
3729         * modules/inttostr (Depends-on): Add verify.
3730
3731 2009-10-30  Eric Blake  <ebb9@byu.net>
3732
3733         build: avoid compiler warnings
3734         * lib/fchmodat.c (lchmod): Mark unused variables.
3735         * lib/getopt.c (_getopt_initialize): Likewise.
3736         * lib/mktime.c (__mktime_internal): Provide prototype.
3737         * lib/inttostr.c (inttostr): Avoid compiler warning even with
3738         older gcc that do not understand #pragma GCC diagnostic.
3739         * lib/uinttostr.c (inttype_is_unsigned): Define.
3740         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
3741
3742 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
3743
3744         stat: fix compilation on AIX
3745         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
3746         only see struct stat64.
3747
3748 2009-10-30  Eric Blake  <ebb9@byu.net>
3749
3750         exclude: make more robust
3751         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
3752         rather than masking a coding bug.
3753         Suggested by Bruno Haible.
3754
3755 2009-10-30  Jim Meyering  <meyering@redhat.com>
3756
3757         perl scripts: remove #!/usr/bin/perl in favor of more portable...
3758         Rather than putting #!/usr/bin/perl on the first line,
3759         start with a variant of what's recommended by "man perlrun" that
3760         invokes the first "perl" program from your shell's search path.
3761         * build-aux/gitlog-to-changelog: Replace #!... as above.
3762         Add a "Local Variables" perl mode setting.
3763         Prompted by a patch from Ludovic Courtès.
3764         Improved by Eric Blake.
3765         * build-aux/useless-if-before-free: Likewise.
3766         * build-aux/announce-gen: Likewise.
3767         * build-aux/update-copyright: Likewise.
3768
3769 2009-10-29  Eric Blake  <ebb9@byu.net>
3770
3771         filenamecat-lgpl: adjust clients
3772         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
3773         filenamecat.
3774         * modules/renameat (Depends-on): Likewise.
3775
3776         filenamecat: split into filenamecat-lgpl
3777         * modules/filenamecat-lgpl: New module.
3778         * modules/filenamecat (Files): Move library-safe files into
3779         filenamecat-lgpl.
3780         (Depends-on): Add filenamecat-lgpl.
3781         (configure.ac): Declare witness.
3782         * lib/filenamecat.h (file_name_concat): Only declare when using
3783         GPL module.
3784         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
3785         Move...
3786         * lib/filenamecat-lgpl.c: ...into new file.
3787         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
3788         (gl_FILE_NAME_CONCAT): Use it.
3789         * MODULES.html.sh (File system functions): Mention new module.
3790
3791         argp: avoid memory leak
3792         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
3793         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
3794         base_name, since the latter malloc()s and can call exit().
3795         Leak introduced 2006-07-03.
3796
3797         dirname-lgpl: adjust clients that don't need full dirname
3798         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
3799         * modules/filenamecat (Depends-on): Likewise.
3800         * modules/linkat (Depends-on): Likewise.
3801         * modules/mkancesdirs (Depends-on): Likewise.
3802         * modules/mkdir (Depends-on): Likewise.
3803         * modules/openat (Depends-on): Likewise.
3804         * modules/savewd (Depends-on): Likewise.
3805         * modules/rename (Depends-on): Likewise.
3806         (License): Relax license.
3807         * modules/mkdir-tests (Depends-on): Drop progname.
3808         (Makefile.am): Delete unneeded LDADD.
3809         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
3810
3811         dirname: split into dirname-lgpl
3812         * modules/dirname-lgpl: New module.
3813         * modules/dirname (Files): Move library-safe files into
3814         dirname-lgpl.
3815         (Depends-on): Add dirname-lgpl.
3816         (configure.ac): Declare witness.
3817         * modules/double-slash-root (License): Relax license.
3818         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
3819         module.
3820         * lib/dirname.c (dir_len, mdir_name): Move...
3821         * lib/dirname-lgpl.c: ...into new file.
3822         * lib/basename.c (last_component, base_len): Move...
3823         * lib/basename-lgpl.c: ...into new file.
3824         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
3825         (gl_DIRNAME): Use it.
3826         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
3827         Mention new module.
3828         * modules/dirname-tests (Depends-on): Add progname.
3829         * tests/test-dirname.c (program_name): Delete.
3830
3831         mkdir: make safe for libraries
3832         * modules/mkdir (Depends-on): Drop xalloc.
3833         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
3834         exit.
3835
3836         tests: avoid some compiler warnings
3837         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
3838         literals.
3839         * tests/test-memchr.c (main): Avoid type mismatch.
3840         * tests/test-arpa_inet.c (main): Avoid unused parameters.
3841         * tests/test-base64.c (main): Likewise.
3842         * tests/test-getdelim.c (main): Likewise.
3843         * tests/test-gethostname.c (main): Likewise.
3844         * tests/test-getline.c (main): Likewise.
3845         * tests/test-netinet_in.c (main): Likewise.
3846         * tests/test-select.c (open_server_socket, main): Likewise.
3847         * tests/test-select-stdin.c (main): Likewise.
3848         * tests/test-sockets.c (main): Likewise.
3849         * tests/test-strsignal.c (main): Likewise.
3850         * tests/test-sys_select.c (main): Likewise.
3851         * tests/test-sys_socket.c (main): Likewise.
3852         * tests/test-u64.c (main): Likewise.
3853         * tests/test-xfprintf-posix.c (main): Likewise.
3854         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
3855
3856         sockets: avoid compiler warning
3857         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
3858
3859         maint: detect usage(1) and other suspicious exits
3860         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
3861
3862 2009-10-29  Jim Meyering  <meyering@redhat.com>
3863
3864         timespec: long-to-int truncation could make timespec_cmp malfunction
3865         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
3866         a multiple of 2^32 nanoseconds as no difference.
3867
3868 2009-10-28  Jim Meyering  <meyering@redhat.com>
3869
3870         fprintftime: wrap macro code argument in "do {...} while(0)"
3871         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
3872         cpy macro must be a statement that can be followed by a semicolon.
3873         Now that the else clause contains a comment and is hence longer
3874         than one line, I require curly braces.  That in turn requires
3875         that we wrap this code block in the standard do...while(0).
3876
3877         fprintftime: remove stray semicolon from previous change
3878         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
3879
3880         fprintftime: avoid a warning about ignored fwrite return value
3881         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
3882         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
3883         that is unsafe.
3884         * modules/fprintftime (Depends-on): Add ignore-value.
3885
3886         exclude: avoid an unwarranted warning
3887         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
3888
3889 2009-10-27  Eric Blake  <ebb9@byu.net>
3890
3891         fseek: avoid compilation failure when fflush is replaced
3892         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
3893         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
3894         module is in use.
3895         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
3896         module is not in use; since REPLACE_FSEEK worked otherwise.
3897         (GNULIB_FTELLO): Likewise for ftell.
3898         Reported by Ian Beckwith and others.
3899
3900 2009-10-27  Bruno Haible  <bruno@clisp.org>
3901
3902         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
3903         Reported by Jim Meyering.
3904
3905 2009-10-27  Jim Meyering  <jim@meyering.net>
3906             Bruno Haible  <bruno@clisp.org>
3907
3908         Avoid warning despite dropping the return value of fwrite.
3909         * lib/unicodeio.c: Include ignore-value.h.
3910         (fwrite_success_callback): Explicitly ignore fwrite's return value.
3911         * modules/unicodeio (Depends-on): Add ignore-value.
3912
3913 2009-10-26  Eric Blake  <ebb9@byu.net>
3914
3915         areadlinkat: fix fallback path
3916         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
3917         pointer and zero.
3918
3919 2009-10-22  Pádraig Brady  <P@draigBrady.com>
3920
3921         Use a better IO block size for modern systems
3922         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
3923         * lib/md2.c: Likewise.
3924         * lib/md4.c: Likewise.
3925         * lib/md5.c: Likewise.
3926         * lib/sha1.c: Likewise.
3927         * lib/sha256.c: Likewise.
3928         * lib/sha512.c: Likewise.
3929
3930 2009-10-22  Eric Blake  <ebb9@byu.net>
3931
3932         tests: avoid several compiler warnings
3933         * tests/test-getcwd.c (main): Avoid buffer underflow.
3934         * tests/test-getdate.c (main): String literals are not safe with
3935         putenv, so use setenv.  Declare unused argument.
3936         * modules/getdate-tests (Depends-on): Add setenv.
3937         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
3938         problems with string literals in char *.
3939         * tests/test-hash.c (main): Avoid shadowing declaration.
3940         (insert_new): Treat string literals as char const *.
3941         * tests/test-getopt.h (test_getopt): Likewise.
3942         (getopt_loop): Alter types to minimize casting elsewhere.
3943         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
3944         (test_getopt_long_posix): Likewise.
3945         (do_getopt_long): Add wrapper to minimize casting.
3946         * tests/test-atexit.c (clear_temp_file): Use void.
3947         * tests/test-areadlink-with-size.c (main): Declare unused
3948         arguments.
3949         * tests/test-areadlink.c (main): Likewise.
3950         * tests/test-areadlinkat-with-size.c (main): Likewise.
3951         * tests/test-areadlinkat.c (main): Likewise.
3952         * tests/test-canonicalize-lgpl.c (main): Likewise.
3953         * tests/test-canonicalize.c (main): Likewise.
3954         * tests/test-dirent-safer.c (main): Likewise.
3955         * tests/test-dirname.c (main): Likewise.
3956         * tests/test-dup2.c (main): Likewise.
3957         * tests/test-fchdir.c (main): Likewise.
3958         * tests/test-fcntl-h.c (main): Likewise.
3959         * tests/test-fcntl-safer.c (main): Likewise.
3960         * tests/test-fdopendir.c (main): Likewise.
3961         * tests/test-fdutimensat.c (main): Likewise.
3962         * tests/test-fflush.c (main): Likewise.
3963         * tests/test-filenamecat.c (main): Likewise.
3964         * tests/test-filevercmp.c (main): Likewise.
3965         * tests/test-fopen-safer.c (main): Likewise.
3966         * tests/test-fopen.c (main): Likewise.
3967         * tests/test-fpending.c (main): Likewise.
3968         * tests/test-fpurge.c (main): Likewise.
3969         * tests/test-freading.c (main): Likewise.
3970         * tests/test-fstatat.c (main): Likewise.
3971         * tests/test-fsync.c (main): Likewise.
3972         * tests/test-futimens.c (main): Likewise.
3973         * tests/test-getndelim2.c (main): Likewise.
3974         * tests/test-gettimeofday.c (main): Likewise.
3975         * tests/test-getopt.c (main): Likewise.
3976         * tests/test-i-ring.c (main): Likewise.
3977         * tests/test-inttypes.c (main): Likewise.
3978         * tests/test-link.c (main): Likewise.
3979         * tests/test-lstat.c (main): Likewise.
3980         * tests/test-math.c (main): Likewise.
3981         * tests/test-md5.c (main): Likewise.
3982         * tests/test-memchr2.c (main): Likewise.
3983         * tests/test-memrchr.c (main): Likewise.
3984         * tests/test-mkdir.c (main): Likewise.
3985         * tests/test-mkdirat.c (main): Likewise.
3986         * tests/test-mkfifoat.c (main): Likewise.
3987         * tests/test-open.c (main): Likewise.
3988         * tests/test-openat-safer.c (main): Likewise.
3989         * tests/test-openat.c (main): Likewise.
3990         * tests/test-quotearg.c (main): Likewise.
3991         * tests/test-rawmemchr.c (main): Likewise.
3992         * tests/test-readlink.c (main): Likewise.
3993         * tests/test-remove.c (main): Likewise.
3994         * tests/test-rename.c (main): Likewise.
3995         * tests/test-renameat.c (main): Likewise.
3996         * tests/test-rmdir.c (main): Likewise.
3997         * tests/test-sha1.c (main): Likewise.
3998         * tests/test-signal.c (main): Likewise.
3999         * tests/test-sigaction.c (main): Likewise.
4000         * tests/test-stat.c (main): Likewise.
4001         * tests/test-stat-time.c (main): Likewise.
4002         * tests/test-stddef.c (main): Likewise.
4003         * tests/test-stdint.c (main): Likewise.
4004         * tests/test-stdio.c (main): Likewise.
4005         * tests/test-stdlib.c (main): Likewise.
4006         * tests/test-strchrnul.c (main): Likewise.
4007         * tests/test-strerror.c (main): Likewise.
4008         * tests/test-string.c (main): Likewise.
4009         * tests/test-strtod.c (main): Likewise.
4010         * tests/test-strverscmp.c (main): Likewise.
4011         * tests/test-symlink.c (main): Likewise.
4012         * tests/test-symlinkat.c (main): Likewise.
4013         * tests/test-sys_stat.c (main): Likewise.
4014         * tests/test-sys_time.c (main): Likewise.
4015         * tests/test-time.c (main): Likewise.
4016         * tests/test-unistd.c (main): Likewise.
4017         * tests/test-unlink.c (main): Likewise.
4018         * tests/test-unlinkat.c (main): Likewise.
4019         * tests/test-utimens.c (main): Likewise.
4020         * tests/test-utimensat.c (main): Likewise.
4021         * tests/test-version-etc.c (main): Likewise.
4022         * tests/test-wchar.c (main): Likewise.
4023         * tests/test-wctype.c (main): Likewise.
4024         * tests/test-xprintf-posix.c (main): Likewise.
4025         * tests/test-posixtm.c (main): Likewise.
4026         (STREQ): Delete unused macro.
4027         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
4028         shadowed variables.
4029         * tests/test-memchr.c (main): Likewise.
4030
4031 2009-10-21  Eric Blake  <ebb9@byu.net>
4032
4033         areadlinkat: avoid failure on older glibc
4034         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
4035         rather than mis-comparing 0 against FUNC_RESULT of char*.
4036
4037 2009-10-21  Bruno Haible  <bruno@clisp.org>
4038
4039         * modules/stpncpy (License): Relicense under LGPLv2+.
4040         Reported by David Lutterkort <lutter@redhat.com>.
4041
4042 2009-10-20  Eric Blake  <ebb9@byu.net>
4043
4044         utimensat: work around Solaris 9 bug
4045         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
4046         has trailing slash bugs.
4047         * tests/test-lutimens.h (test_lutimens): Enhance test.
4048         * tests/test-utimens.h (test_utimens): Likewise.
4049         * doc/posix-functions/utime.texi (utime): Enhance documentation.
4050         * doc/posix-functions/utimes.texi (utimes): Likewise.
4051         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
4052         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
4053         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
4054         * doc/posix-functions/futimens.texi (futimens): Likewise.
4055
4056         fdutimensat: new module
4057         * modules/fdutimensat: New file.
4058         * lib/fdutimensat.c (fdutimensat): Likewise.
4059         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
4060         * MODULES.html.sh (File system functions): Mention module.
4061         * modules/fdutimensat-tests: New test.
4062         * tests/test-fdutimensat.c: Likewise.
4063
4064         doc: regenerate INSTALL
4065         * doc/INSTALL: Reflect recent autoconf update.
4066         * doc/INSTALL.ISO: Likewise.
4067         * doc/INSTALL.UTF-8: Likewise.
4068
4069 2009-10-20  Pádraig Brady  <P@draigBrady.com>
4070
4071         acl: warn if ACL support is not detected
4072         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
4073
4074 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
4075
4076         * lib/nproc.h: Add extern "C" block for C++.
4077
4078 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
4079             Bruno Haible  <bruno@clisp.org>
4080
4081         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
4082         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
4083         * doc/posix-functions/isalpha.texi: Likewise.
4084         * doc/posix-functions/isblank.texi: Likewise.
4085         * doc/posix-functions/iscntrl.texi: Likewise.
4086         * doc/posix-functions/isdigit.texi: Likewise.
4087         * doc/posix-functions/isgraph.texi: Likewise.
4088         * doc/posix-functions/islower.texi: Likewise.
4089         * doc/posix-functions/isprint.texi: Likewise.
4090         * doc/posix-functions/ispunct.texi: Likewise.
4091         * doc/posix-functions/isspace.texi: Likewise.
4092         * doc/posix-functions/isupper.texi: Likewise.
4093         * doc/posix-functions/isxdigit.texi: Likewise.
4094
4095 2009-10-18  Bruno Haible  <bruno@clisp.org>
4096
4097         Tests for module 'isblank'.
4098         * modules/isblank-tests: New file.
4099         * tests/test-isblank.c: New file.
4100
4101         New module 'isblank'.
4102         * lib/isblank.c: New file.
4103         * m4/isblank.m4: New file.
4104         * modules/isblank: New file.
4105         * doc/posix-functions/isblank.texi: Mention the new module.
4106
4107 2009-10-18  Bruno Haible  <bruno@clisp.org>
4108
4109         New module 'ctype'.
4110         * lib/ctype.in.h: New file.
4111         * m4/ctype.m4: New file.
4112         * modules/ctype: New file.
4113         * doc/posix-headers/ctype.texi: Mention the new module.
4114
4115 2009-10-18  Jim Meyering  <meyering@redhat.com>
4116
4117         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
4118         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
4119         right after its initialization, rather than farther down.
4120         Keeping these in close proximity makes it easier to ensure
4121         that each such variable is initialized.  E.g.,
4122
4123             LIB_CLOCK_GETTIME=
4124             AC_SUBST([LIB_CLOCK_GETTIME])
4125
4126         This change also increments these serial numbers.
4127         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
4128         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
4129         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
4130
4131 2009-10-18  Bruno Haible  <bruno@clisp.org>
4132
4133         Don't let environment variables perturb build.
4134         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
4135         (gl_PREREQ_GETHRXTIME): ... not here.
4136
4137 2009-10-18  Bruno Haible  <bruno@clisp.org>
4138
4139         Avoid symlink attack in localcharset module.
4140         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
4141         (O_NOFOLLOW): Define fallback.
4142         (get_charset_aliases): Don't open the file if it is a symbolic link.
4143         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
4144         gl_FCNTL_H.
4145         (gl_FCNTL_H): Require it.
4146         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
4147         * modules/localcharset (Files): Add m4/fcntl_h.m4.
4148         Reported by Fergal Glynn <fglynn@veracode.com>.
4149
4150 2009-10-18  Bruno Haible  <bruno@clisp.org>
4151
4152         Implement nproc for mingw.
4153         * lib/nproc.c: Include <windows.h>
4154         (num_processors): On native Windows platforms, try GetSystemInfo.
4155
4156 2009-10-18  Bruno Haible  <bruno@clisp.org>
4157
4158         Implement nproc for IRIX.
4159         * lib/nproc.c: Include <sys/sysmp.h>.
4160         (num_processors): On IRIX systems, try sysmp.
4161         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
4162
4163 2009-10-18  Bruno Haible  <bruno@clisp.org>
4164
4165         Implement nproc for HP-UX.
4166         * lib/nproc.c: Include <sys/pstat.h>
4167         (num_processors): On HP-UX systems, try pstat_getdynamic.
4168         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
4169         pstat_getdynamic.
4170
4171 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
4172             Bruno Haible  <bruno@clisp.org>
4173
4174         Implement nproc for NetBSD, OpenBSD.
4175         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
4176         (ARRAY_SIZE): New macro.
4177         (num_processors): On BSD systems, try sysctl of HW_NCPU.
4178         * m4/nproc.m4: New file.
4179         * modules/nproc (Files): Add m4/nproc.m4.
4180         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
4181         (Makefile.am): Instead, augment lib_SOURCES.
4182
4183 2009-10-18  Bruno Haible  <bruno@clisp.org>
4184
4185         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
4186         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
4187         sys/param.h.
4188
4189 2009-10-16  Eric Blake  <ebb9@byu.net>
4190
4191         utimensat: new module
4192         * modules/utimensat: New file.
4193         * lib/utimensat.c (utimensat): Likewise.
4194         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
4195         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
4196         so we can work around Linux bugs.
4197         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
4198         * modules/sys_stat (Makefile.am): Substitute them.
4199         * lib/sys_stat.in.h (utimensat): Declare it.
4200         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
4201         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
4202         * modules/utimensat-tests: New test.
4203         * tests/test-utimensat.c: Likewise.
4204
4205         utimens: let lutimens work on non-symlinks
4206         * lib/utimens.c (lutimens): Fall back to utimens rather than
4207         failing with ENOSYS, when file is not a symlink.
4208         (utimens): Reduce redirection.
4209         * tests/test-lutimens.h (test_lutimens): Update test to cover
4210         non-symlinks.
4211         * tests/test-utimens.h (test_utimens): Update test to cover
4212         symlinks.
4213         * tests/test-utimens.c (main): Update caller.
4214
4215         utimens: cache whether utimensat syscall works
4216         * lib/utimens.c (utimensat_works_really): New cache variable.
4217         (fdutimens, lutimens): Use it to avoid failing syscall.
4218
4219         test-stat-time, test-utimens: improve portability
4220         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
4221         ext4 on alpha, and for cygwin.
4222         * tests/test-utimens-common.h: New file.
4223         (nap): Factor delays into single function.
4224         * tests/test-lutimens.h (test_lutimens): Use new header.
4225         * tests/test-futimens.h (test_futimens): Likewise.
4226         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
4227         timestamps to occur from same machine, as was done previously for
4228         test_utimens.
4229         * modules/utimens-tests (Files): Ship new file.
4230         * modules/futimens-tests (Files): Likewise.
4231         Reported in part by Jim Meyering.
4232
4233         sys_stat: sort replacement declarations
4234         * lib/sys_stat.in.h: Sort declarations.
4235         * lib/futimens.c (futimens): Fix typo.
4236
4237 2009-10-15  Jim Meyering  <meyering@redhat.com>
4238
4239         don't let environment settings perturb build
4240         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
4241         could cause a configure-time and/or build-time malfunction.
4242         Typically, a configure-time function-in-library test is performed
4243         via code like this:
4244
4245           LIB_VAR=
4246           AC_SUBST([LIB_VAR])
4247           prefix_saved_LIBS=$LIBS
4248             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
4249                        [test "$ac_cv_search_FUNC" = "none required" ||
4250                         LIB_VAR=$ac_cv_search_FUNC])
4251           LIBS=$prefix_saved_LIBS
4252
4253         However, in each of the files affected by this change, the LIB_VAR=
4254         initialization was omitted.  Thus, when set in the environment, its
4255         value would propagate into generated Makefiles when FUNC is not found
4256         in LIB_NAME.
4257         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
4258         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
4259         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
4260
4261 2009-10-14  Eric Blake  <ebb9@byu.net>
4262
4263         fchdir: avoid infinite recursion in mingw
4264         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
4265         recursing.
4266
4267         test-stat-time: port to mingw
4268         * tests/test-stat-time.c (force_unlink): Return a value.
4269         (test_ctime) [W32]: Fix compilation error.
4270         (nap): Don't call usleep with too large an argument.  Use
4271         force_unlink.
4272         * doc/pastposix-functions/usleep.texi (usleep): Document the
4273         portability issue.
4274
4275 2009-10-13  Jim Meyering  <meyering@redhat.com>
4276
4277         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
4278         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
4279         * modules/pipe-filter-ii: Likewise.
4280         * modules/sys_socket-tests: Likewise.
4281         * modules/tsearch-tests: Likewise.
4282         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
4283         (check): Depend on it.
4284
4285 2009-10-12  Eric Blake  <ebb9@byu.net>
4286
4287         utimens-tests: port to NFS file systems
4288         * tests/test-utimens.h (test_utimens): Refactor utimecmp
4289         comparisons to avoid spurious failures from timestamp drift
4290         between NFS machines.
4291
4292 2009-10-12  Eric Blake  <ebb9@byu.net>
4293
4294         stat-time-tests: minor cleanups
4295         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
4296         * tests/test-stat-time.c (nap): Separate assignment from call.
4297         Suggested by Paolo Bonzini and Bruno Haible.
4298
4299         sys_stat: guarantee struct timespec
4300         * lib/sys_stat.in.h (includes): Always include <time.h>
4301         * modules/sys_stat (Depends-on): Add time.
4302         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
4303         mode_t permission values.
4304         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
4305         get at subsecond timestamps.
4306
4307 2009-10-10  Eric Blake  <ebb9@byu.net>
4308
4309         futimens: new module
4310         * modules/futimens: New file.
4311         * lib/futimens.c (futimens): Likewise.
4312         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
4313         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
4314         we can work around Linux bugs.
4315         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
4316         * modules/sys_stat (Makefile.am): Substitute them.
4317         * lib/sys_stat.in.h (futimens): Declare it.
4318         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
4319         * doc/posix-functions/futimens.texi (futimens): Likewise.
4320         * modules/futimens-tests: New test.
4321         * tests/test-futimens.c: Likewise.
4322
4323         utimens: introduce fdutimens
4324         * lib/utimens.h (fdutimens): New prototype.
4325         * lib/utimens.c (gl_futimens): Move guts...
4326         (fdutimens): ...to new interface.
4327         * tests/test-utimens.c (do_fdutimens): Use it.
4328
4329         utimens: add UTIME_NOW and UTIME_OMIT support
4330         * lib/utimens.c (validate_timespec, update_timespec): New helper
4331         functions.
4332         (gl_futimens, lutimens): Use them.
4333         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
4334         stdbool, sys_stat.
4335         (Link): Mention resulting library dependency.
4336         * modules/utimecmp (Link): Likewise.
4337         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
4338         (Makefile.am): Pick up library dependency.
4339         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
4340         definition.
4341         * tests/test-sys_stat.c: Test the definitions.
4342         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
4343         * NEWS: Document library dependency.
4344
4345         utimecmp: support symlink timestamps
4346         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
4347         hashing when possible.  Use pathconf when available.
4348         (SYSCALL_RESOLUTION): Recognize tighter resolution.
4349         * modules/utimecmp (Depends-on): Add lstat.
4350
4351         utimens: add lutimens interface
4352         * lib/utimens.c (lutimens): New function.
4353         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
4354         * lib/utimens.h (lutimens): Declare new interface.
4355         * tests/test-utimens.c (main): Enhance test.
4356         * tests/test-lutimens.h (test_lutimens): New file.
4357         * modules/utimens-tests (Files): Distribute it.
4358         (Depends-on): Add symlink.
4359         (configure.ac): Check for usleep.
4360
4361         utimens: validate futimens usage
4362         * lib/utimens.c (gl_futimens): Require valid fd up front, using
4363         fewer syscalls on failure later on.  Avoid compiler warning on
4364         mingw.
4365         * modules/utimens (Depends-on): Add dup2.
4366
4367         utimens: add test
4368         * modules/utimens-tests: New test.
4369         * tests/test-utimens.h: New file.
4370         * tests/test-futimens.h: Likewise.
4371         * tests/test-utimens.c: Likewise.
4372
4373         doc: mention timestamp portability issues
4374         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
4375         instead.
4376         * doc/posix-functions/utime.texi (utime): Likewise.
4377         * doc/posix-functions/utimes.texi (utimes): Likewise.
4378         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
4379         instead.
4380         * doc/posix-functions/futimens.texi (futimens): Mention utimens
4381         module.
4382         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
4383         Mention weakness with symlink timestamps.
4384         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
4385         to utimensat/futimens instead.
4386         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
4387
4388         test-dup2: enhance test
4389         * tests/test-dup2.c (main): Also check AT_FDCWD.
4390
4391         test-stat-time: avoid more spurious failures
4392         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
4393         xfs; and avoid race if the two timestamps cross quantization edge.
4394
4395         relocatable: prefer 'file system' over 'filesystem'
4396         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
4397         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
4398         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
4399         * doc/relocatable.texi (Enabling Relocatability): Likewise.
4400         * lib/relocatable.c (compute_curr_prefix): Likewise.
4401
4402 2009-10-10  Jim Meyering  <meyering@redhat.com>
4403
4404         stat-time-tests: check for the usleep function
4405         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
4406
4407 2009-10-10  Bruno Haible  <bruno@clisp.org>
4408
4409         * modules/xnanosleep: Put the Link section after the Include section.
4410
4411 2009-10-09  Eric Blake  <ebb9@byu.net>
4412
4413         dup2: work around FreeBSD 6.1 bug
4414         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
4415         * doc/posix-functions/dup2.texi (dup2): Document it.
4416         Reported by Nelson H. F. Beebe and Jim Meyering.
4417
4418         test-stat-time: port to buggy NFS clients
4419         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
4420         (test_ctime): Also skip test if mtime and ctime are skewed.
4421
4422         maint: prefer 'file system' over 'filesystem'
4423         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
4424         * doc/posix-functions/lstat.texi (lstat): Likewise.
4425         * lib/file-has-acl.c (file_has_acl): Likewise.
4426         * lib/fwriteerror.c [TEST]: Likewise.
4427         * tests/test-areadlink.h (test_areadlink): Likewise.
4428         * tests/test-areadlinkat-with-size.c (main): Likewise.
4429         * tests/test-areadlinkat.c (main): Likewise.
4430         * tests/test-canonicalize-lgpl.c (main): Likewise.
4431         * tests/test-canonicalize.c (main): Likewise.
4432         * tests/test-fstatat.c (main): Likewise.
4433         * tests/test-linkat.c (main): Likewise.
4434         * tests/test-lstat.h (test_lstat_func): Likewise.
4435         * tests/test-mkdir.h (test_mkdir): Likewise.
4436         * tests/test-readlink.h (test_readlink): Likewise.
4437         * tests/test-remove.c (main): Likewise.
4438         * tests/test-rename.h (test_rename): Likewise.
4439         * tests/test-renameat.c (main): Likewise.
4440         * tests/test-rmdir.h (test_rmdir_func): Likewise.
4441         * tests/test-symlink.h (test_symlink): Likewise.
4442         * tests/test-symlinkat.c (main): Likewise.
4443         * tests/test-unlink.h (test_unlink_func): Likewise.
4444         * tests/test-unlinkat.c (main): Likewise.
4445
4446         maint: make realtime library usage explicit
4447         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
4448         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
4449         * modules/settime (Link): Likewise.
4450         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
4451
4452         test-stat-time: speed up execution
4453         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
4454         warning on mingw.
4455         (nap): New helper function.
4456         (prepare_test): Use it to reduce sleep time.
4457         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
4458         execution.
4459         * modules/stat-time-tests (configure.ac): Check for usleep.
4460
4461 2009-10-09  Jim Meyering  <meyering@redhat.com>
4462
4463         selinux-h: always use getfilecon wrappers
4464         * lib/getfilecon.c: New file.
4465         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
4466         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
4467         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
4468         (fgetfilecon): Provide a stub.
4469         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
4470         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
4471         file unconditionally.
4472         When <selinux/selinux.h> is found, arrange to use wrappers.
4473         * modules/selinux-h (Files): Add getfilecon.c.
4474         (Makefile.am): Substitute include-next-related bits
4475         into the now-always-generated selinux/selinux.h file.
4476         * doc/glibc-functions/lgetfilecon.texi: New file.
4477         * doc/glibc-functions/fgetfilecon.texi: New file.
4478         * doc/glibc-functions/getfilecon.texi: New file.
4479         * doc/glibc-functions/getfilecon-desc.texi: New file.
4480         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
4481         which to pull in the new files.
4482         * MODULES.html.sh (Misc): Add selinux-h.
4483
4484 2009-10-08  Jim Meyering  <meyering@redhat.com>
4485
4486         unistd: fix comment typo
4487         * lib/unistd.in.h (euidaccess): Fix a comment typo.
4488
4489 2009-10-08  Eric Blake  <ebb9@byu.net>
4490
4491         areadlink: use SIZE_MAX consistently
4492         * modules/areadlink (Depends-on): Add stdint.
4493         * modules/areadlink-with-size (Depends-on): Likewise.
4494         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
4495         gives NULL; drop sys/types, since unistd gives size_t; and add
4496         stdint for SIZE_MAX.
4497         (SIZE_MAX): Rely on headers.
4498         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
4499         and add stdint.
4500         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
4501         (SIZE_MAX): Likewise.
4502         (INITIAL_BUF_SIZE): Turn into enum.
4503         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
4504
4505 2009-10-08  Jim Meyering  <meyering@redhat.com>
4506
4507         areadlinkat: avoid compilation failure
4508         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
4509         Fix typo in comment.
4510
4511 2009-10-07  Eric Blake  <ebb9@byu.net>
4512
4513         areadlinkat-with-size: new module
4514         * modules/areadlinkat-with-size: New module.
4515         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
4516         * lib/areadlink.h (areadlinkat): Declare it.
4517         * MODULES.html.sh (File system functions): Mention it.
4518         * modules/areadlinkat-with-size-tests: New test.
4519         * tests/test-areadlinkat-with-size.c: New file.
4520
4521         xreadlinkat: new module
4522         * modules/xreadlinkat: New module.
4523         * lib/xreadlinkat.c (xreadlinkat): New file.
4524         * lib/xreadlink.h (xreadlinkat): Declare it.
4525         * MODULES.html.sh (File system functions): Mention it.
4526
4527         areadlinkat: new module
4528         * lib/at-func.c (FUNC_FAIL): New define.
4529         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
4530         * modules/areadlinkat: New module.
4531         * lib/linkat.c (areadlinkat): Move...
4532         * lib/areadlinkat.c (areadlinkat): ...to new file.
4533         * lib/areadlink.h (areadlinkat): Declare it.
4534         * modules/linkat (Depends-on): Add areadlinkat.
4535         * MODULES.html.sh (File system functions): Mention it.
4536         * modules/areadlinkat-tests: New test.
4537         * tests/test-areadlinkat.c: New file.
4538
4539         areadlink, areadlink-with-size: add tests
4540         * modules/areadlink-tests: New test.
4541         * modules/areadlink-with-size-tests: Likewise.
4542         * tests/test-areadlink.h: New file.
4543         * tests/test-areadlink.c: Likewise.
4544         * tests/test-areadlink-with-size.c: Likewise.
4545
4546         maint: minor cleanups
4547         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
4548         _UNUSED_PARAMETER_ instead.
4549         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
4550         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
4551         * modules/linkat-tests (Files): Distribute test-link.h.
4552
4553         openat, utimens: whitespace cleanup
4554         * lib/openat.c: Prefer space throughout, rather than mix of 8
4555         spaces vs. tabs.
4556         * lib/at-func.c: Likewise.
4557         * lib/utimens.c: Likewise.
4558
4559         openat: avoid using wrong fd
4560         * lib/openat.c (openat_permissive): Reject user's fd if saving the
4561         working directory chooses same fd.
4562         * lib/at-func.c (AT_FUNC_NAME): Likewise.
4563
4564         mkdir, mkdirat: fix cygwin 1.5.x bug
4565         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
4566         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
4567         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
4568         bug.
4569         (gl_PREREQ_MKDIR): Delete unused macro.
4570         * modules/mkdir (Files): Track file rename.
4571         (configure.ac): Update macro name.
4572         * modules/openat (Depends-on): Add mkdir.
4573         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
4574
4575         mkdir, mkdirat: add tests
4576         * modules/mkdir-tests: New test.
4577         * tests/test-mkdir.h: New file.
4578         * tests/test-mkdir.c: Likewise.
4579         * tests/test-mkdirat.c: Likewise.
4580         * modules/openat-tests (Files): Add new files.
4581         (Makefile.am): Run new test.
4582
4583 2009-10-06  Eric Blake  <ebb9@byu.net>
4584
4585         doc: tweak *at function documentation
4586         * doc/posix-functions/faccessat.texi (faccessat): Mention
4587         known issue with replacement.
4588         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
4589         * doc/posix-functions/linkat.texi (linkat): Likewise.
4590         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
4591         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
4592         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
4593         * doc/posix-functions/renameat.texi (renameat): Likewise.
4594         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
4595
4596         openat: fix GNU/Hurd bug in unlinkat
4597         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
4598         broken.
4599         * doc/posix-functions/unlink.texi (unlink): Document this.
4600         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
4601
4602         fdopendir: fix GNU/Hurd bug
4603         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
4604         allowing non-directory fds.
4605         * lib/fdopendir.c (rpl_fdopendir): Work around it.
4606         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
4607         * modules/dirent (Makefile.am): Substitute it.
4608         * lib/dirent.in.h (fdopendir): Declare replacement.
4609         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
4610         * tests/test-fdopendir.c (main): Test something other than
4611         /dev/null, since on Hurd that behaves like a directory.
4612
4613         test-symlink: port to GNU/Hurd
4614         * tests/test-symlink.h (test_symlink): Relax expected errno.
4615
4616         doc: tweak more cygwin information
4617         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
4618         now compatible with glibc.
4619         * doc/posix-functions/getopt.texi (getopt): Likewise.
4620
4621         getopt-gnu: add another test
4622         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
4623         guarantee behavior relied on by m4.
4624         * tests/test-getopt.c (main): Use it.
4625         * modules/getopt-posix-tests (Depends-on): Add setenv.
4626         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
4627
4628         getopt: fix compilation on darwin
4629         * lib/getopt.in.h (includes): Leave breadcrumbs during system
4630         include.
4631         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
4632         Reported by Ludovic Courtès.
4633
4634 2009-10-06  Bruno Haible  <bruno@clisp.org>
4635
4636         * modules/size_max (Description): Discourage its use.
4637         Reported by Simon Josefsson.
4638
4639 2009-10-06  Jim Meyering  <meyering@redhat.com>
4640
4641         linkat: avoid compilation failure
4642         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
4643
4644 2009-10-05  Eric Blake  <ebb9@byu.net>
4645
4646         linkat: support Linux 2.6.17
4647         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
4648         linkat on Linux, but allow cache variable override.
4649         * lib/linkat.c (rpl_linkat): Define override.
4650         * modules/linkat (Depends-on): Add symlinkat.
4651         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
4652         * modules/unistd (Makefile.am): Substitute it.
4653         * lib/unistd.in.h (linkat): Declare replacement.
4654         Reported by Pádraig Brady.
4655
4656         quotearg: port test to systems with C.UTF-8 locale
4657         * tests/test-quotearg.c (struct result_strings): Add another
4658         member, differentiating between C.ASCII and C.UTF-8 handling.
4659         (compare_strings): Add parameter.
4660         (main): Adjust all callers.
4661
4662         getopt: avoid clash with FreeBSD _getopt_internal
4663         * lib/getopt.in.h (_getopt_internal): Override the name.
4664         * lib/getopt_int.h (includes): Pick up any overrides.
4665         Reported by Reuben Thomas.
4666
4667         hash: allow C89 compilation
4668         * lib/hash.c (check_tuning): Move declaration before statement.
4669         Reported by Reuben Thomas.
4670
4671 2009-10-05  Karl Berry  <karl@gnu.org>
4672
4673         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
4674
4675 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
4676             Bruno Haible  <bruno@clisp.org>
4677
4678         * lib/uname.c (uname): Use a table-driven algorithm to compute
4679         Windows NT versions.
4680
4681 2009-10-04  Bruno Haible  <bruno@clisp.org>
4682
4683         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
4684         program_invocation_short_name.
4685         * modules/progname (configure.ac): Test for presence of
4686         program_invocation_short_name.
4687         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
4688
4689 2009-10-04  Bruno Haible  <bruno@clisp.org>
4690
4691         * lib/progname.c (set_program_name): Fix comment.
4692         Reported by Jim Meyering.
4693
4694 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
4695             Bruno Haible  <bruno@clisp.org>
4696
4697         * lib/uname.c: Include <string.h>.
4698         (uname): Do only one call to GetVersionEx in the common case.
4699
4700 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
4701             Bruno Haible  <bruno@clisp.org>
4702
4703         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
4704         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
4705         (uname): Add support for Windows CE and various non-x86 CPU types.
4706
4707 2009-10-03  Bruno Haible  <bruno@clisp.org>
4708
4709         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
4710         invocation to tests/configure.ac.
4711         Reported by Ian Beckwith <ianb@erislabs.net>.
4712
4713 2009-10-02  Eric Blake  <ebb9@byu.net>
4714
4715         fchdir: avoid compiler warning
4716         * lib/fchdir.c (canonicalize_file_name)
4717         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
4718
4719         test-open: support mingw errno values
4720         * tests/test-open.h (test_open): Relax test.
4721         * tests/test-fopen.h (test_fopen): Likewise.
4722         * tests/test-openat-safer.c (main): Likewise.
4723
4724         open: fix opening directory on mingw
4725         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
4726
4727         test-open: on GNU/Hurd, /dev/null is a directory
4728         * tests/test-fopen.h (main): Rename...
4729         (test_fopen): ...to this.  Use a guaranteed non-directory when
4730         confirming open behavior on trailing slash.
4731         * tests/test-openat-safer.c (main): Likewise.
4732         * tests/test-open.h (main): Likewise....
4733         (test_open): ...to this.
4734         * tests/test-fopen.c (main): Adjust caller.
4735         * tests/test-fopen-safer.c (main): Likewise.
4736         * tests/test-open.c (main): Likewise.
4737         * tests/test-fcntl-safer.c (main): Likewise.
4738         Reported by Samuel Thibault.
4739
4740         rename, fchdir: don't ignore chdir failure
4741         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
4742         * lib/rename.c (rpl_rename) [W32]: Likewise.
4743         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
4744         an empty destination directory if source cannot be renamed,
4745         although there is still possibility for failure.
4746         * doc/posix-functions/rename.texi (rename): Document the race.
4747         Reported by Jim Meyering.
4748
4749         maint: cleanup whitespace in recent commits
4750         * lib/rename.c (rpl_rename): Remove tabs.
4751         * tests/test-link.h (test_link): Likewise.
4752         * lib/fchdir.c (get_name): Likewise.
4753         Reported by Jim Meyering.
4754
4755 2009-10-02  Ben Pfaff  <blp@gnu.org>
4756
4757         relocatable-prog-wrapper: Add missing dependency on
4758         double-slash-root.
4759         * modules/relocatable-prog-wrapper: Add dependency.
4760         Reported by Ian Beckwith <ianb@erislabs.net>.
4761
4762 2009-10-02  Eric Blake  <ebb9@byu.net>
4763
4764         renameat: fix Solaris bugs
4765         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
4766         needed fixing.
4767         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
4768         * modules/stdio (Makefile.am): Substitute it.
4769         * lib/stdio.in.h (renameat): Declare replacement.
4770         * lib/renameat.c (rpl_renameat): Implement fix.
4771
4772         renameat: new module
4773         * modules/renameat: New file.
4774         * lib/renameat.c (renameat): Likewise.
4775         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
4776         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
4777         * modules/stdio (Makefile.am): Substitute them.
4778         * lib/stdio.in.h (renameat): Declare it.
4779         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
4780         * doc/posix-functions/renameat.texi (renameat): Likewise.
4781         * modules/renameat-tests: New test.
4782         * tests/test-renameat.c: Likewise.
4783
4784         rename: fix mingw bugs
4785         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
4786         directory overwrite bugs.
4787
4788         rename: fix another cygwin 1.5 bug
4789         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
4790         checks.
4791         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
4792         unnecessary cygwin workarounds.  Also work around bug with moving
4793         full directory onto an empty one.
4794         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
4795
4796         rename-dest-slash: merge into rename module
4797         * modules/rename-dest-slash (Status): Mark obsolete.
4798         (Depends-on): Add rename.
4799         (Files): Let rename do it all.
4800         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
4801         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
4802         * m4/rename-dest-slash.m4: ...so this file can be deleted.
4803         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
4804         * lib/rename.c (rpl_rename): Update comments.
4805
4806         rename: fix cygwin 1.5.x bugs
4807         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
4808         * lib/rename.c (rpl_rename): Work around them.
4809         * modules/rename (Depends-on): Add same-inode.
4810
4811         rename: fix Solaris 10 bug
4812         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
4813         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
4814         was the only bug.
4815
4816         rename: fix Solaris 9 bug
4817         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
4818         on non-directory.  Avoid calling exit.
4819         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
4820         strdup.
4821         * modules/rename-tests (Depends-on): Drop lstat.
4822         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
4823         (gl_PREREQ_RENAME): Delete unused macro.
4824
4825         rename-dest-slash: fix NetBSD bug
4826         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
4827         links.
4828         * modules/rename-dest-slash (Depends-on): Add same-inode.
4829
4830         rename-tests: new test, exposes several platform bugs
4831         * modules/rename-tests: New file.
4832         * tests/test-rename.h: Likewise.
4833         * tests/test-rename.c: Likewise.
4834         * doc/posix-functions/rename.texi (rename): Improve documentation,
4835         including bugs that will eventually be fixed in gnulib.
4836
4837 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
4838
4839         * lib/uname.c: Include <stdlib.h>
4840         (uname): Assume version info is available.
4841
4842 2009-10-02  Jim Meyering  <meyering@redhat.com>
4843
4844         gnu-web-doc-update: correct --help output
4845         * build-aux/gnu-web-doc-update: Make --help output relevant.
4846
4847         gnu-web-doc-update: add standard options
4848         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
4849
4850         gnu-web-doc-update: New module.
4851         Use this script to automatically update the on-line web documentation
4852         for your GNU project at http://www.gnu.org/software/$pkg/manual/
4853         * modules/gnu-web-doc-update: New file, from coreutils.
4854         * build-aux/gnu-web-doc-update: New script.
4855
4856 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
4857
4858         link: LoadLibrary is not needed.
4859         * lib/link.c: Use GetModuleHandle.
4860
4861 2009-10-01  Eric Blake  <ebb9@byu.net>
4862
4863         getopt: bump serial number
4864         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
4865         change.
4866
4867         tests: tighten link, rmdir, and remove tests
4868         * tests/test-link.h (includes): No need to use <config.h> here.
4869         Clean up if directory hard link was created, otherwise test for
4870         trailing '.'.
4871         * tests/test-linkat.c (main): Simplify.
4872         * tests/test-remove.c (main): Enhance test for trailing '.'.
4873         * tests/test-rmdir.h (test_rmdir_func): Likewise.
4874
4875 2009-10-01  Jim Meyering  <meyering@redhat.com>
4876
4877         maint.mk: requiring "make major" was annoying, for a "minor" release.
4878         What is intended is "stable", to contrast with alpha and beta,
4879         so require "make stable", not "make major".
4880         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
4881         (get_tool_versions): Likewise.
4882         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
4883
4884 2009-09-30  Ben Pfaff  <blp@gnu.org>
4885
4886         Fix broken build of replacement for Windows tmpfile().
4887         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
4888         flags argument added along with the 'mkostemp' module.
4889
4890 2009-09-28  Bruno Haible  <bruno@clisp.org>
4891
4892         Avoid identifier clash with POSIX function 'remove' defined as a macro.
4893         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
4894         to 'remove_elt'.
4895         (gl_list_remove): Update.
4896         * lib/gl_list.c (gl_list_remove): Update.
4897         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
4898         to 'remove_elt'.
4899         (gl_oset_remove): Update.
4900         * lib/gl_list.c (gl_oset_remove): Update.
4901         Reported by Eric Blake.
4902
4903 2009-09-28  Eric Blake  <ebb9@byu.net>
4904
4905         doc: mention yet more cygwin 1.7 status
4906         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
4907         cygwin.
4908         * doc/glibc-functions/execvpe.texi (execvpe): New file.
4909         * doc/gnulib.texi (Glibc unistd.h): Mention it.
4910
4911         argp: fix test failure
4912         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
4913         that are not upper-case.  Pass correct range to tolower.
4914
4915 2009-09-27  Jim Meyering  <meyering@redhat.com>
4916
4917         test-yesno: work around sparc-dash here-document infelicity
4918         Without this change, the literal \177 byte in a here document
4919         would make dash 0.5.5.1-3 access uninitialized memory.
4920         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
4921         Instead, use a marker, "@", and filter through tr to create the desired
4922         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
4923
4924 2009-09-27  Bruno Haible  <bruno@clisp.org>
4925
4926         Disable untested support for new flavours of ACLs on AIX.
4927         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
4928         progress.
4929         * lib/set-mode-acl.c (qset_acl): Likewise.
4930
4931 2008-12-07  Bruno Haible  <bruno@clisp.org>
4932
4933         Add support for new flavours of ACLs on AIX. (Untested.)
4934         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
4935         (file_has_acl): Add support for newer AIX.
4936         * lib/set-mode-acl.c (qset_acl): Likewise.
4937         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
4938         Rainer Tammer <tammer@tammer.net>.
4939
4940 2009-09-26  Eric Blake  <ebb9@byu.net>
4941
4942         argp: fix compilation of getopt
4943         * lib/getopt.in.h (includes): Use different guard than glibc.
4944         Reported by Sergey Poznyakoff.
4945
4946         doc: mention more cygwin 1.7 status
4947         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
4948         bug.
4949         * doc/posix-functions/execl.texi (execl): Likewise.
4950         * doc/posix-functions/execle.texi (execle): Likewise.
4951         * doc/posix-functions/execlp.texi (execlp): Likewise.
4952         * doc/posix-functions/execv.texi (execv): Likewise.
4953         * doc/posix-functions/execve.texi (execve): Likewise.
4954         * doc/posix-functions/execvp.texi (execvp): Likewise.
4955         * doc/glibc-functions/canonicalize_file_name.texi
4956         (canonicalize_file_name): Cygwin 1.7 now provides this.
4957         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
4958         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
4959         on AT_SYMLINK_NOFOLLOW.
4960
4961 2009-09-24  Eric Blake  <ebb9@byu.net>
4962
4963         test-linkat: make test more robust
4964         * tests/test-linkat.c (main): Avoid collision with EEXIST.
4965
4966         getopt: fix inclusion guards for cygwin
4967         * modules/getopt-posix (Depends-on): Add include-next.
4968         (Makefile.am): Substitute more items in replacement header.
4969         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
4970         <getopt.h>.
4971         * lib/getopt.in.h (includes): Use split inclusion guard, and
4972         prefer <getopt.h> over include <unistd.h> when one is present.
4973         (option): Also override name of 'struct option'.
4974
4975         same-inode: revert prior change; it is not yet ready
4976         * NEWS: Undo mention of this change.
4977         * lib/same-inode.h (same-inode.h): Undo tri-state change.
4978         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
4979         * lib/cycle-check.c (cycle_check): Likewise.
4980         * lib/same.c (same_name): Likewise.
4981         * lib/at-func2.c (at_func2): Likewise.
4982
4983 2009-09-23  Eric Blake  <ebb9@byu.net>
4984
4985         linkat: new module
4986         * modules/linkat: New file.
4987         * lib/at-func2.c (at_func2): Likewise.
4988         * lib/linkat.c (linkat): Likewise.
4989         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
4990         * lib/openat-priv.h (at_func2): Add declaration.
4991         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
4992         * modules/unistd (Makefile.am): Substitute them.
4993         * lib/unistd.in.h (linkat): Declare it.
4994         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
4995         * doc/posix-functions/linkat.texi (linkat): Likewise.
4996         * doc/posix-functions/link.texi (link): Tweak wording.
4997         * tests/test-link.c (main): Move guts...
4998         * tests/test-link.h (test_link): ...into new file.
4999         * modules/linkat-tests: New test.
5000         * tests/test-linkat.c: Likewise.
5001         * modules/link-tests (Files): Ship new file.
5002         (Depends-on): Add stdbool.
5003
5004         dirname: add library-safe mdir_name
5005         * lib/dirname.h (mdir_name): New prototype.
5006         * lib/dirname.c (dir_name): Move guts...
5007         (mdir_name): ...to new function that avoids xalloc_die.
5008
5009         fchdir: another mingw fix
5010         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
5011         * lib/fchdir.c (get_name): New helper method; skips canonicalize
5012         on mingw (where it has not yet been ported), and make it optional
5013         elsewhere.
5014         (_gl_register_fd): Use it.
5015
5016         same-inode: make SAME_INODE tri-state, to port to mingw
5017         * NEWS: Mention this change.
5018         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
5019         st_ino always being 0.
5020         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
5021         * lib/cycle-check.c (cycle_check): Likewise.
5022         * lib/same.c (same_name): Likewise.
5023
5024         lstat: avoid mingw compilation error
5025         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
5026         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
5027         lstat ourselves.
5028         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
5029         was adequate.
5030         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
5031         the checks for lstat.
5032         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
5033
5034         link: fix test failure on Solaris 9
5035         * lib/link.c (rpl_link): Don't assume link will catch bogus
5036         trailing slash on source.
5037
5038         test-symlinkat: enhance test
5039         * tests/test-readlink.c (main): Move guts...
5040         * tests/test-readlink.h (test_readlink): ...into new file.
5041         * tests/test-symlink.c (main): Move guts...
5042         * tests/test-symlink.h (test_symlink): ...into new file.
5043         * tests/test-symlinkat.c (main): Use new files for further
5044         coverage.
5045         (do_symlink, do_readlink): New helper functions.
5046         * modules/symlink-tests (Files): Ship new file.
5047         (Depends-on): Add stdbool.
5048         * modules/readlink-tests (Files): Ship new file.
5049         (Depends-on): Add stdbool.
5050         * modules/symlinkat-tests (Files): Use new files.
5051
5052 2009-09-23  Eric Blake  <ebb9@byu.net>
5053
5054         readlink: document portability issue with symlink length
5055         * doc/posix-functions/lstat.texi (lstat): Mention that some file
5056         systems have bogus st_size on symlinks, and mention the
5057         areadlink-with-size module.
5058         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
5059         * doc/posix-functions/readlink.texi (readlink): Mention the
5060         areadlink module, and ERANGE failure.
5061         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
5062         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
5063
5064         readlink: fix Solaris 9 bug with trailing slash
5065         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
5066         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
5067         * doc/posix-functions/readlink.texi (readlink): Document this.
5068         * modules/readlink-tests: New test.
5069         * tests/test-readlink.c: Likewise.
5070
5071         readlink: fix cygwin 1.5.x bug with return type
5072         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
5073         * lib/unistd.in.h (readlink): Use ssize_t.
5074         * lib/readlink.c (readlink): Likewise.
5075         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
5076         * modules/unistd (Makefile.am): Substitute it.
5077         * lib/unistd.in.h (readlink): Declare replacement.
5078         * doc/posix-functions/readlink.texi (readlink): Document this.
5079
5080         symlink: use throughout gnulib
5081         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
5082         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
5083         symlink is not used.
5084         * modules/symlinkat (Depends-on): Add symlink.
5085         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
5086         * modules/canonicalize-tests (Depends-on): Likewise.
5087         * modules/lstat-tests (Depends-on): Likewise.
5088         * modules/openat-tests (Depends-on): Likewise.
5089         * modules/remove-tests (Depends-on): Likewise.
5090         * modules/rmdir-tests (Depends-on): Likewise.
5091         * modules/unlink-tests (Depends-on): Likewise.
5092         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
5093         * tests/test-canonicalize.c (symlink): Likewise.
5094         * tests/test-fstatat.c (symlink): Likewise.
5095         * tests/test-lstat.c (symlink): Likewise.
5096         * tests/test-remove.c (symlink): Likewise.
5097         * tests/test-rmdir.c (symlink): Likewise.
5098         * tests/test-unlink.c (symlink): Likewise.
5099         * tests/test-unlinkat.c (symlink): Likewise.
5100
5101         symlink: new module, for Solaris 9 bug
5102         * modules/symlink: New file.
5103         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
5104         * lib/symlink.c: Likewise.
5105         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
5106         * modules/unistd (Makefile.am): Substitute them.
5107         * lib/unistd.in.h (symlink): Declare replacement.
5108         * MODULES.html.sh (File system functions): Mention it.
5109         * doc/posix-functions/symlink.texi (symlink): Likewise.
5110         * modules/symlink-tests: New test.
5111         * tests/test-symlink.c: Likewise.
5112
5113 2009-09-23  Bruno Haible  <bruno@clisp.org>
5114
5115         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
5116         when needed.
5117         Test case: gnulib-tool --import --with-tests atexit inttypes.
5118         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
5119
5120 2009-09-23  Bruno Haible  <bruno@clisp.org>
5121
5122         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
5123         subcommand, not in a subshell.
5124
5125 2009-09-22  Eric Blake  <ebb9@byu.net>
5126
5127         unistd: sort replacement declarations
5128         * lib/unistd.in.h: Sort declarations.
5129
5130         open, openat: minor optimization
5131         * lib/open.c (open): If open succeeded, len is non-zero.
5132         * lib/openat.c (rpl_openat): Likewise.
5133
5134         link-follow: ensure correct result
5135         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
5136         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
5137         distinguish between possible failures.
5138
5139 2009-09-21  Eric Blake  <ebb9@byu.net>
5140
5141         fts: avoid compiler warning
5142         * lib/fts.c (dirent_inode_sort_may_be_useful)
5143         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
5144
5145 2009-09-19  Bruno Haible  <bruno@clisp.org>
5146
5147         * lib/progreloc.c (canonicalize_file_name): New declaration.
5148
5149 2009-09-19  Eric Blake  <ebb9@byu.net>
5150
5151         link: fix quoting
5152         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
5153
5154         openat: fix openat bugs on Solaris 9
5155         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
5156         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
5157         * modules/openat (Depends-on): Add open.
5158         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
5159         * modules/fcntl-h (Makefile.am): Substitute it.
5160         * lib/fcntl.in.h (openat): Declare replacement.
5161         * doc/posix-functions/openat.texi (openat): Document this.
5162
5163         openat: move fstatat and unlinkat into correct files
5164         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
5165         compiled.
5166         * lib/openat.c (fstatat, unlinkat): Move...
5167         * lib/fstatat.c (fstatat): ...into correct files.
5168         * lib/unlinkat.c (unlinkat): Likewise.
5169
5170         openat: fix unlinkat bugs on Solaris 9
5171         * lib/unlinkat.c (unlinkat): New file.
5172         * modules/openat (Depends-on): Add unlink.
5173         (Files): Distribute it.
5174         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
5175         trailing slash behavior is broken.
5176         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
5177         * modules/unistd (Makefile.am): Substitute it.
5178         * lib/unistd.in.h (unlinkat): Declare replacement.
5179         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
5180
5181         openat: fix fstatat bugs on Solaris 9
5182         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
5183         stat.
5184         * doc/posix-functions/fstatat.texi (fstatat): Document this.
5185
5186         test-unlinkat: enhance test, to expose Solaris 9 bug
5187         * tests/test-unlink.c (main): Factor guts...
5188         * tests/test-unlink.h (test_rmdir_func): ...into new file.
5189         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
5190         * tests/test-rmdir.c (main): Adjust caller.
5191         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
5192         (unlinker): New helper function.
5193         (rmdirat): Enhance check.
5194         * modules/rmdir-tests (Depends-on): Add stdbool.
5195         * modules/unlink-tests (Depends-on): Likewise.
5196         (Files): Add test-unlink.h.
5197         * modules/openat-tests (Files): Likewise.
5198         (Depends-on): Add unlinkdir.
5199
5200         test-fstatat: new test, to expose Solaris 9 bugs
5201         * tests/test-stat.c (main): Factor guts...
5202         * tests/test-stat.h (test_stat_func): ...into new file.
5203         * tests/test-lstat.c (main): Factor guts...
5204         * tests/test-lstat.h (test_lstat_func): ...into new file.
5205         * tests/test-fstatat.c: New file.
5206         * modules/stat-tests (Files): Add test-stat.h.
5207         * modules/lstat-tests (Files): Add test-lstat.h.
5208         (Depends-on): Add stdbool.
5209         * modules/openat-tests (Depends-on): Add pathmax.
5210         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
5211         (Makefile.am): Run new test.
5212
5213         remove: new module, for mingw and Solaris 9 bugs
5214         * modules/remove: New file.
5215         * lib/remove.c: Likewise.
5216         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
5217         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
5218         * modules/stdio (Makefile.am): Use them.
5219         * lib/stdio.in.h (remove): Declare replacement.
5220         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
5221         * doc/posix-functions/remove.texi (remove): Likewise.
5222         * modules/remove-tests: New test.
5223         * tests/test-remove.c: Likewise.
5224
5225         unlink: new module, for Solaris 9 bug
5226         * modules/unlink: New file.
5227         * lib/unlink.c: Likewise.
5228         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
5229         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
5230         * modules/unistd (Makefile.am): Use them.
5231         * lib/unistd.in.h (stat): Declare replacement.
5232         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
5233         * doc/posix-functions/unlink.texi (unlink): Likewise.
5234         * modules/unlink-tests: New test.
5235         * tests/test-unlink.c: Likewise.
5236
5237         lstat: fix Solaris 9 bug
5238         * lib/lstat.c (lstat): Also check for trailing slash on
5239         non-symlink, non-directories.  Use stat module to simplify logic.
5240         * doc/posix-functions/lstat.texi (lstat): Document it.
5241         * modules/lstat-tests (Depends-on): Add errno, same-inode.
5242         (configure.ac): Check for symlink.
5243         * tests/test-lstat.c (main): Add more tests.
5244
5245         stat: add as dependency to other modules
5246         * modules/chown (Depends-on): Add stat.
5247         * modules/euidaccess (Depends-on): Likewise.
5248         * modules/fchdir (Depends-on): Likewise.
5249         * modules/isdir (Depends-on): Likewise.
5250         * modules/link (Depends-on): Likewise.
5251         * modules/lstat (Depends-on): Likewise.
5252         * modules/mkdir-p (Depends-on): Likewise.
5253         * modules/modechange (Depends-on): Likewise.
5254         * modules/open (Depends-on): Likewise.
5255         * modules/readlink (Depends-on): Likewise.
5256         * modules/same (Depends-on): Likewise.
5257
5258         stat: fix Solaris 9 bug
5259         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
5260         slash.
5261         * lib/stat.c (rpl_stat): Work around it.
5262         * doc/posix-functions/stat.texi (stat): Update documentation.
5263
5264         stat: new module, for mingw bug
5265         * modules/stat: New file.
5266         * lib/stat.c: Likewise.
5267         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
5268         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
5269         * modules/sys_stat (Makefile.am): Use them.
5270         * lib/sys_stat.in.h (stat): Declare replacement.
5271         * lib/openat.c (fstatat): Deal with lstat and stat being function
5272         macros.
5273         * modules/openat (Depends-on): Add inline.
5274         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
5275         * doc/posix-functions/stat.texi (stat): Likewise.
5276         * modules/stat-tests: New test.
5277         * tests/test-stat.c: Likewise.
5278
5279 2009-09-19  Jim Meyering  <meyering@redhat.com>
5280
5281         syntax-check: detect unnecessary inclusion of canonicalize.h
5282         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
5283
5284 2009-09-19  Eric Blake  <ebb9@byu.net>
5285
5286         canonicalize-lgpl: adjust clients to use correct header
5287         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
5288         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
5289         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
5290         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
5291         * lib/progreloc.c (includes): Likewise.
5292
5293 2009-09-19  Jim Meyering  <meyering@redhat.com>
5294
5295         test-posixtm.c: correct a comment
5296         * tests/test-posixtm.c: Correct first-line comment.
5297         Spotted by Eric Blake.
5298
5299 2009-09-16  Jim Meyering  <meyering@redhat.com>
5300
5301         posixtm-tests: make T const-correct; add a test case
5302         * tests/test-posixtm.c (T): Declare const.
5303         Add a test for -(2^31+1).
5304         Remove useless can-succeed-only-in-2002 test.
5305
5306         posixtm-tests: adjust the sole failing test
5307         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
5308         expected output matches what mktime now produces.  Cross-checked via
5309         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
5310
5311         posixtm: move #ifdef'd tests into a new module
5312         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
5313         * tests/test-posixtm.c: ... this new file.
5314         * modules/posixtm-tests: New module.
5315
5316 2009-09-19  Eric Blake  <ebb9@byu.net>
5317
5318         openat: simplify use of at-func.c
5319         * lib/at-func.c (includes): Include prerequisites here, to
5320         simplify requirements on client files.
5321         * lib/openat-priv.h: Add double-inclusion guard.
5322         * lib/faccessat.c (includes): Simplify.
5323         * lib/fchmodat.c (includes): Likewise.
5324         * lib/fchownat.c (includes): Likewise.
5325         * lib/mkdirat.c (includes): Likewise.
5326         * lib/mkfifoat.c (includes): Likewise.
5327         * lib/symlinkat.c (includes): Likewise.
5328
5329         openat: allow return of fd 0
5330         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
5331         * modules/save-cwd (Depends-on): Replace fcntl-safer with
5332         unistd-safer.
5333         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
5334         <fcntl.h>; this module does not leak fds.
5335         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
5336         must be allowed to return 0, leaving openat_safer to add the
5337         safety.
5338         (openat_permissive): Avoid writing to just-opened fd 2 if
5339         restoring the current directory fails.
5340         * lib/openat-die.c (openat_restore_fail): Add comment.
5341         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
5342         (save_cwd): Guarantee safe fd, but without use of open_safer.
5343         * tests/test-openat.c: New test.
5344         * modules/openat-tests (Files, Makefile.am): Distribute and build
5345         new file.
5346
5347         relocatable-prog-wrapper: fix build
5348         * modules/relocatable-prog-wrapper (Files): Update name of
5349         canonicalize m4 file, broken on 2009-09-17.
5350         Reported by emad hajjar <aleppos@hotmail.com>.
5351
5352 2009-09-19  Bruno Haible  <bruno@clisp.org>
5353
5354         * lib/safe-alloc.h: Use the standard header with GPL copyright.
5355         * lib/safe-alloc.c: Likewise.
5356         Reported by Ian Beckwith <ianb@erislabs.net>.
5357
5358 2009-09-18  Bruno Haible  <bruno@clisp.org>
5359
5360         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
5361         Reported by <erobles@sensacd.com.mx>.
5362
5363 2009-09-17  Eric Blake  <ebb9@byu.net>
5364
5365         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
5366         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
5367         slashes when checking if last component is missing.
5368         * tests/test-canonicalize.c (main): Test this.
5369
5370         canonicalize, canonicalize-lgpl: honor // if distinct from /
5371         * modules/canonicalize (Files): Add double-slash-root.m4.
5372         * modules/canonicalize-lgpl (Files): Likewise.
5373         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
5374         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
5375         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
5376         fallback definition.
5377         (canonicalize_filename_mode): Use it to protect //.
5378         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
5379         (__realpath): Likewise.
5380         * tests/test-canonicalize.c (main): Test this.
5381         * tests/test-canonicalize-lgpl.c (main): Likewise.
5382         * modules/canonicalize-tests (Depends-on): Add same-inode.
5383         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
5384
5385         canonicalize-lgpl: fix glibc bug with trailing slash
5386         * m4/canonicalize-lgpl.m4: Move contents...
5387         * m4/canonicalize.m4: ...here.
5388         (gl_CANONICALIZE_LGPL): Factor realpath check...
5389         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
5390         glibc 2.3.5 bug, fixed 2005-04-27.
5391         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
5392         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
5393         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
5394         * modules/canonicalize-lgpl (Files): Manage file rename.
5395         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
5396         * modules/stdlib (Makefile.am): Substitute witness.
5397         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
5398         is needed.
5399         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
5400         replacement is required.
5401         * lib/canonicalize.c (canonicalize_file_name): Likewise.
5402         * doc/glibc-functions/canonicalize_file_name.texi
5403         (canonicalize_file_name): Document this.
5404         * doc/posix-functions/realpath.texi (realpath): Likewise.
5405
5406         canonicalize-lgpl: reject non-directory with trailing slash
5407         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
5408         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
5409         catches failures in glibc 2.3.5.
5410         * tests/test-canonicalize.c (main): Likewise.
5411
5412         canonicalize-lgpl: use native realpath if it works
5413         * lib/canonicalize-lgpl.c (realpath): Guard with
5414         FUNC_REALPATH_WORKS.
5415         * lib/stdlib.in.h (realpath): Make declaration optional based on
5416         HAVE_REALPATH.
5417         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
5418         native realpath works.
5419         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
5420         * modules/stdlib (Makefile.am): Substitute witness.
5421
5422         canonicalize, canonicalize-lgpl: use <stdlib.h>
5423         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
5424         (Include): Mention <stdlib.h>.
5425         (configure.ac): Mention functions we provide.
5426         * modules/canonicalize (configure.ac): Likewise.
5427         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
5428         realpath if canonicalize_file_name is missing.
5429         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
5430         * modules/stdlib (Makefile.am): Substitute witnesses.
5431         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
5432         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
5433         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
5434         * NEWS: Document this.
5435         * doc/glibc-functions/canonicalize_file_name.texi
5436         (canonicalize_file_name): Likewise.
5437         * doc/posix-functions/realpath.texi (realpath): Likewise.
5438         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
5439
5440         test-canonicalize: consolidate into single C program
5441         * tests/test-canonicalize.sh: Delete; move setup into...
5442         * tests/test-canonicalize.c (main): ...the program, making it
5443         easier to run in debugger.  Add some tests.
5444         * modules/canonicalize-tests (Files): Remove unused file.
5445         (Depends-on): Add progname.
5446         (configure.ac, Makefile.am): Simplify.
5447
5448         test-canonicalize-lgpl: consolidate into single C program
5449         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
5450         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
5451         easier to run in debugger.  Add some tests.
5452         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
5453         (configure.ac, Makefile.am): Simplify.
5454
5455         canonicalize: avoid resolvepath
5456         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
5457         unnecessary checks.
5458         * lib/canonicalize.c (includes): Simplify.
5459         (canonicalize_file_name): Drop resolvepath implementation.
5460         * modules/canonicalize (Depends-on): Drop filenamecat.
5461
5462         canonicalize: don't lose errno
5463         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
5464         over calls to free.
5465
5466         canonicalize: simplify errno handling
5467         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
5468         assignment.
5469
5470         canonicalize, canonicalize-lgpl: update module dependencies
5471         * modules/canonicalize (Depends-on): Add extensions, lstat,
5472         pathmax, stdlib.
5473         (Files): Drop pathmax.h.
5474         (configure.ac): Adjust macro name.
5475         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
5476         lstat, stdlib, sys_stat.
5477         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
5478         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
5479         extensions.
5480         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
5481         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
5482         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
5483         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
5484         declaration, if available.
5485         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
5486         we can rely on the readlink module.
5487         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
5488         (includes): Use <unistd.h> unconditionally.
5489
5490 2009-09-17  Eric Blake  <ebb9@byu.net>
5491
5492         maint: make Include sections of modules consistent
5493         * modules/alloca: Use only header name; no need to list #include.
5494         * modules/alloca-opt: Likewise.
5495         * modules/arpa_inet: Likewise.
5496         * modules/canon-host: Likewise.
5497         * modules/configmake: Likewise.
5498         * modules/dirent: Likewise.
5499         * modules/eealloc: Likewise.
5500         * modules/environ: Likewise.
5501         * modules/fchdir: Likewise.
5502         * modules/fcntl: Likewise.
5503         * modules/fcntl-h: Likewise.
5504         * modules/gethrxtime: Likewise.
5505         * modules/gettime: Likewise.
5506         * modules/ignore-value: Likewise.
5507         * modules/inet_ntop: Likewise.
5508         * modules/inet_pton: Likewise.
5509         * modules/inttypes: Likewise.
5510         * modules/isnand-nolibm: Likewise.
5511         * modules/isnanf-nolibm: Likewise.
5512         * modules/mbchar: Likewise.
5513         * modules/mbfile: Likewise.
5514         * modules/mbiter: Likewise.
5515         * modules/mbuiter: Likewise.
5516         * modules/netdb: Likewise.
5517         * modules/netinet_in: Likewise.
5518         * modules/nproc: Likewise.
5519         * modules/pagealign_alloc: Likewise.
5520         * modules/poll: Likewise.
5521         * modules/printf-frexp: Likewise.
5522         * modules/pthread: Likewise.
5523         * modules/putenv: Likewise.
5524         * modules/random_r: Likewise.
5525         * modules/relocatable-prog: Likewise.
5526         * modules/search: Likewise.
5527         * modules/select: Likewise.
5528         * modules/selinux-h: Likewise.
5529         * modules/settime: Likewise.
5530         * modules/signal: Likewise.
5531         * modules/size_max: Likewise.
5532         * modules/socklen: Likewise.
5533         * modules/ssize_t: Likewise.
5534         * modules/stdarg: Likewise.
5535         * modules/stdbool: Likewise.
5536         * modules/stddef: Likewise.
5537         * modules/stdint: Likewise.
5538         * modules/stdio: Likewise.
5539         * modules/stdlib: Likewise.
5540         * modules/string: Likewise.
5541         * modules/strings: Likewise.
5542         * modules/sys_file: Likewise.
5543         * modules/sys_ioctl: Likewise.
5544         * modules/sys_select: Likewise.
5545         * modules/sys_socket: Likewise.
5546         * modules/sys_stat: Likewise.
5547         * modules/sys_time: Likewise.
5548         * modules/sys_times: Likewise.
5549         * modules/sys_utsname: Likewise.
5550         * modules/sys_wait: Likewise.
5551         * modules/sysexits: Likewise.
5552         * modules/time: Likewise.
5553         * modules/times: Likewise.
5554         * modules/tmpfile: Likewise.
5555         * modules/trim: Likewise.
5556         * modules/unistd: Likewise.
5557         * modules/wchar: Likewise.
5558         * modules/wctype: Likewise.
5559
5560 2009-09-17  Bruno Haible  <bruno@clisp.org>
5561
5562         Make getdate.y compile on QNX and NetBSD 5 / i386.
5563         * m4/getdate.m4 (gl_GETDATE): Conditionally define
5564         TIME_T_FITS_IN_LONG_INT.
5565         * lib/getdate.y (long_time_t): New type.
5566         (relative_time): Change type of 'seconds' field to long_time_t.
5567         (get_date): Update types of local variables. Check against overflow
5568         during conversion from long_time_t to time_t.
5569         Reported by Matt Kraai <kraai@ftbfs.org>
5570         and Hasso Tepper <hasso@netbsd.org>.
5571
5572 2009-09-17  Bruno Haible  <bruno@clisp.org>
5573
5574         * modules/COPYING: Update copyright years.
5575         * modules/README: Likeiwse.
5576         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
5577         Reported by Ian Beckwith <ianb@erislabs.net>.
5578
5579 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
5580
5581         * users.txt: Update references for gnuit package.
5582
5583 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
5584
5585         * m4/getdelim.m4: Fix typo in copyright line.
5586
5587 2009-09-17  Bruno Haible  <bruno@clisp.org>
5588
5589         * lib/atoll.c: Use the standard header with GPL copyright.
5590         * lib/argz.in.h: Likewise.
5591         * lib/glob.c: Likewise.
5592         * lib/glob-libc.h: Likewise.
5593         * lib/random_r.c: Likewise.
5594         * lib/siglist.h: Likewise.
5595         * lib/strsignal.c: Likewise.
5596         Reported by Ian Beckwith <ianb@erislabs.net>.
5597
5598 2009-09-17  Eric Blake  <ebb9@byu.net>
5599
5600         rmdir: ensure correct dependency order
5601         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
5602
5603 2009-09-17  Bruno Haible  <bruno@clisp.org>
5604
5605         Disable assertion that fails on NetBSD 5 / i386.
5606         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
5607         Reported by Sam Steingold <sds@gnu.org>
5608         and Hasso Tepper <hasso@netbsd.org>.
5609
5610 2009-09-16  Eric Blake  <ebb9@byu.net>
5611
5612         unlinkdir: port to mingw
5613         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
5614         on which no one can unlink a directory.
5615
5616         stdlib: sort witness names
5617         * modules/stdlib (Makefile.am): Sort replacements.
5618         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
5619         * lib/stdlib.in.h: Likewise.
5620
5621         parse-duration-tests: avoid link failure
5622         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
5623         LIBINTL.
5624         Reported by Tom G. Christensen.
5625
5626         openat-tests: ensure unlinkat behaves like rmdir
5627         * tests/test-rmdir.c (main): Factor guts...
5628         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
5629         * modules/rmdir-tests (Files): Ship new file.
5630         * modules/openat-tests: New test.
5631         * tests/test-unlinkat.c: Likewise.
5632
5633         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
5634         * modules/rmdir-errno (Status, Notice): Now obsolete.
5635
5636         rmdir: work around cygwin 1.5.x and mingw bugs
5637         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
5638         * lib/rmdir.c (rmdir): Work around it.
5639         * modules/rmdir (Status, Notice): No longer obsolete.
5640         (Files): Add dos.m4.
5641         (Depends-on): Add unistd.
5642         (configure.ac): Set witnesses.
5643         (License): Relax to LGPLv2+.
5644         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
5645         * modules/unistd (Makefile.am): Substitute witnesses.
5646         * lib/unistd.in.h (rmdir): Declare replacement.
5647         * doc/posix-functions/rmdir.texi (rmdir): Document this.
5648         * modules/rmdir-tests: New tests.
5649         * tests/test-rmdir.c: Likewise.
5650
5651 2009-09-15  Eric Blake  <ebb9@byu.net>
5652
5653         fchdir: improve use of replacement functions
5654         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
5655         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
5656         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
5657         REPLACE_CLOSEDIR.
5658         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
5659         * modules/sys_stat (Makefile.am): Substitute correct witness.
5660         * modules/dirent (Makefile.am): Likewise.
5661         * modules/unistd (Makefile.am): Likewise.
5662         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
5663         * lib/unistd.in.h (dup): Likewise.
5664         * lib/sys_stat.in.h (fstat): Likewise.
5665
5666         maint: ignore gnulib-tool temp files
5667         * .gitignore: Ignore files created during gnulib-tool --test.
5668
5669 2009-09-13  Jim Meyering  <meyering@redhat.com>
5670
5671         posixtm: don't reject a time that specify "60" as the number of seconds
5672         * lib/posixtm.c (posixtime): The code to reject invalid dates
5673         would also reject a time specified with the .60 suffix.
5674         But POSIX allows that, in order to accommodate leap seconds.
5675         So don't reject it.
5676         (main): Adjust tests accordingly.
5677         * modules/posixtm (Depends-on): Add stpcpy.
5678
5679 2009-09-11  Jim Meyering  <meyering@redhat.com>
5680
5681         announce-gen: include [$release_type] in emitted Subject:
5682         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
5683         e.g., [stable] in the emitted Subject: line.
5684
5685 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5686
5687         Remove obsolete macros from several modules.
5688         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
5689         obsolete Autoconf macros with their modern counterparts.
5690         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
5691         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
5692         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
5693         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
5694         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
5695         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
5696         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
5697         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
5698         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
5699         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
5700         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
5701         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
5702         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
5703         * m4/sockets.m4 (gl_SOCKETS): Likewise.
5704         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
5705         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
5706         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
5707         * m4/time_r.m4 (gl_TIME_R): Likewise.
5708         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
5709         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
5710         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
5711
5712         Fix copyright header in build-aux scripts.
5713         * build-aux/git-version-gen: Fix copyright header to match GPLv3
5714         recommendation.
5715         * build-aux/ncftpput-ftp: Likewise.
5716         * build-aux/update-copyright: Likewise.
5717
5718 2009-09-09  Eric Blake  <ebb9@byu.net>
5719
5720         test-link: allow Linux choice of errno
5721         * tests/test-link.c (main): Relax test for alternate error.
5722
5723         strndup: fix improper m4 caching
5724         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
5725         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
5726         (gl_PREREQ_STRNDUP): Delete.
5727         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
5728         * modules/string (Makefile.am): Substitute it.
5729         * lib/string.in.h (strndup): Modernize prototype.
5730
5731         getcwd: port to mingw
5732         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
5733         different from the POSIX assumptions made throughout the getcwd
5734         module; fortunately, the mingw getcwd does not need replacement.
5735         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
5736         * modules/getcwd-tests: New test.
5737         * tests/test-getcwd.c: Likewise.
5738
5739         link: fix platform bugs
5740         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
5741         * lib/link.c (link): Work around them.  Fix related mingw bug.
5742         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
5743         * modules/unistd (Makefile.am): Substitute it.
5744         * lib/unistd.in.h (link): Declare replacement.
5745         * doc/posix-functions/link.texi (link): Document this.
5746         * modules/link (Depends-on): Add strdup-posix, sys_stat.
5747
5748         test-link: consolidate into single C program, test more cases
5749         * tests/test-link.sh: Delete.
5750         * tests/test-link.c: Test more error conditions.  Exposes bugs on
5751         at least Cygwin and Solaris.
5752         * modules/link-tests (Files): Remove unused file.
5753         (Depends-on): Add errno, sys_stat.
5754         (Makefile.am): Simplify.
5755
5756 2009-09-08  Bruno Haible  <bruno@clisp.org>
5757
5758         Work around towlower, towupper bug on mingw.
5759         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
5760         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
5761         * doc/posix-functions/towlower.texi: Mention the mingw bug.
5762         * doc/posix-functions/towupper.texi: Likewise.
5763         Reported by Eric Blake.
5764
5765 2009-09-08  Jim Meyering  <meyering@redhat.com>
5766
5767         build: don't try to run autoheader if we don't use it
5768         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
5769         is not used in configure.ac.
5770
5771 2009-09-08  Eric Blake  <ebb9@byu.net>
5772
5773         euidaccess: fix compilation error
5774         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
5775
5776         rawmemchr: relax license
5777         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
5778         okay.
5779         Reported by Jim Meyering.
5780
5781         mkfifoat: new module
5782         * modules/mkfifoat: New file.
5783         * lib/mkfifoat.c: Likewise.
5784         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
5785         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
5786         * modules/sys_stat (Makefile.am): Use them.
5787         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
5788         * MODULES.html.sh (File system functions): Mention module.
5789         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
5790         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
5791         * modules/mkfifoat-tests: New test.
5792         * tests/test-mkfifoat.c: Likewise.
5793
5794         strchrnul: relax license
5795         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
5796         okay.
5797         Reported by Jim Meyering.
5798
5799 2009-09-08  Eric Blake  <ebb9@byu.net>
5800
5801         fstatat: fix compilation on Solaris
5802         * lib/fstatat.c (includes): Add fcntl.h.
5803         Reported by Pádraig Brady.
5804
5805 2009-09-07  Eric Blake  <ebb9@byu.net>
5806
5807         rename: modernize replacement
5808         * modules/rename (Depends-on): Add stdio.
5809         (configure.ac): Declare witness.
5810         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
5811         stdio take care of replacement.
5812         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
5813         * modules/stdio (Makefile.am): Substitute them.
5814         * lib/stdio.in.h (rename): Declare replacement.
5815         * lib/rename.c (includes): Allow cross-compilation to non-windows
5816         machines.
5817         * doc/posix-functions/rename.texi (rename): Improve
5818         documentation.
5819
5820         stdio: sort witness names
5821         * modules/stdio (Makefile.am): Sort replacements.
5822         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
5823         * lib/stdio.in.h: Likewise.
5824
5825         getcwd: minor cleanups
5826         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
5827         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
5828
5829         openat: provide more convenience names
5830         * modules/faccessat (configure.ac): Add C witness.
5831         * lib/unistd.in.h (readlinkat): Fix typo.
5832         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
5833         convenience wrappers.
5834         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
5835         wrappers in syntax checks.
5836
5837 2009-09-06  Eric Blake  <ebb9@byu.net>
5838
5839         doc: fix comments in recent patches
5840         * lib/faccessat.c: Mention correct function.
5841         * lib/fchmodat.c: Likewise.
5842         * lib/fchownat.c: Likewise.
5843         * lib/symlinkat.c: Likewise.
5844         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
5845         constants.
5846
5847         faccessat, symlinkat: continue cleanup of previous patch
5848         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
5849         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
5850         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
5851         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
5852         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
5853         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
5854         set.
5855
5856 2009-09-06  Bruno Haible  <bruno@clisp.org>
5857
5858         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
5859         (fstatat): Declare if GNULIB_FSTATAT is set.
5860         (mkdirat): Declare if GNULIB_MKDIRAT is set.
5861         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
5862         (unlinkat): Declare if GNULIB_UNLINKAT is set.
5863         * modules/fcntl-h (Files): Remove m4/openat.m4.
5864         * modules/sys_stat (Files): Remove m4/openat.m4.
5865         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
5866         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
5867         * modules/unistd (Files): Remove m4/openat.m4.
5868         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
5869         GNULIB_OPENAT.
5870         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
5871         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
5872         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
5873         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
5874         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
5875         gl_OPENAT_DEFAULTS.
5876         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
5877         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
5878         Don't require gl_OPENAT_DEFAULTS.
5879         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
5880         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
5881         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
5882         (gl_OPENAT_DEFAULTS): Remove macro.
5883
5884 2009-09-06  Bruno Haible  <bruno@clisp.org>
5885
5886         * modules/openat (configure.ac): Remove unneeded witness.
5887
5888 2009-09-06  Bruno Haible  <bruno@clisp.org>
5889
5890         Set errno to ENOSYS when a function is entirely unsupported.
5891         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
5892         EOPNOTSUPP.
5893         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
5894         * modules/chown (Depends-on): Remove errno.
5895
5896 2009-09-06  Bruno Haible  <bruno@clisp.org>
5897
5898         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
5899
5900 2009-09-06  Bruno Haible  <bruno@clisp.org>
5901
5902         * lib/sys_stat.in.h: Fix preprocessor command indentation.
5903
5904 2009-09-06  Ben Pfaff  <blp@gnu.org>
5905             Bruno Haible  <bruno@clisp.org>
5906
5907         Work around a glibc bug in strtok_r.
5908         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
5909         Undefine if UNDEFINE_STRTOK_R is set.
5910         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
5911         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
5912         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
5913         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
5914         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
5915         UNDEFINE_STRTOK_R.
5916         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
5917
5918 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
5919
5920         exclude: minor fix
5921         * lib/exclude.c: Include wctype.h
5922
5923 2009-09-06  Akim Demaille  <demaille@gostai.com>
5924
5925         bootstrap: improve error message
5926         * build-aux/bootstrap (find_tool): Upon failure, report the list
5927         of candidates.
5928         Honor the initial value of the envvar.
5929
5930 2009-09-05  Eric Blake  <ebb9@byu.net>
5931
5932         symlinkat: new module
5933         * modules/symlinkat: New file.
5934         * lib/symlinkat.c: Likewise.
5935         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
5936         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
5937         * modules/unistd (Makefile.am): Use them.
5938         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
5939         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
5940         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
5941         * MODULES.html.sh (File system functions): Mention module.
5942         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
5943         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
5944         * modules/symlinkat-tests: New test.
5945         * tests/test-symlinkat.c: Likewise.
5946
5947         test-openat-safer: add more checks
5948         * tests/test-openat-safer.c (main): Check more code paths.
5949
5950 2009-09-05  Jim Meyering  <meyering@redhat.com>
5951
5952         syntax-check: detect unnecessary inclusion of openat.h
5953         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
5954
5955 2009-09-05  Bruno Haible  <bruno@clisp.org>
5956
5957         Support towlower, towupper.
5958         * doc/posix-functions/towlower.texi: Mention module wctype.
5959         * doc/posix-functions/towupper.texi: Likewise.
5960         * lib/wctype.in.h (towlower, towupper): New functions.
5961         * tests/test-wctype.c: Include stdio.h, stdlib.h.
5962         (ASSERT): New macro.
5963         (e): New variable.
5964         (main): Test also towlower, towupper. Test WEOF argument.
5965         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
5966
5967 2009-09-05  Bruno Haible  <bruno@clisp.org>
5968
5969         Fix conversion behaviour when the input is invalid.
5970         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
5971         mark occurring in first pass of indirect conversion.
5972         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
5973         input.
5974         Found by clang's static analyzer.
5975
5976 2009-09-05  Bruno Haible  <bruno@clisp.org>
5977
5978         * tests/test-striconveh.c (main): Test indirect conversion on platforms
5979         where direct conversion is possible.
5980
5981 2009-09-04  Eric Blake  <ebb9@byu.net>
5982
5983         openat: fail with ENOENT on empty name
5984         * lib/openat-proc.c (openat_proc_name): Special-case the empty
5985         buffer.
5986
5987         link-follow: fix logic bug in prior patch
5988         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
5989         reversed sense of yes and no in prior patch.  Avoid confusing
5990         compilation failure with desired semantics.
5991
5992         link-follow: accomodate mingw and cross-compilation
5993         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
5994         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
5995         cross-compilation results to -1, to make linkat easier to
5996         implement when cross-compiling.  Trivially support mingw.
5997         * modules/link-follow (configure.ac): Call new name.
5998         * NEWS: Mention this.
5999
6000 2009-09-03  Eric Blake  <ebb9@byu.net>
6001
6002         faccessat: compile replacement
6003         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
6004         needed.
6005
6006         fts: fix compilation error
6007         * lib/fts.c (includes): Re-add "openat.h", for
6008         openat_needs_fchdir.
6009
6010         faccessat: new module
6011         * modules/faccessat: New file.
6012         * lib/faccessat.c: Likewise.
6013         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
6014         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
6015         * modules/unistd (Makefile.am): Use it.
6016         * lib/unistd.in.h (faccessat): Declare it.
6017         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
6018         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
6019         * MODULES.html.sh (File system functions): Mention it.
6020         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
6021         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
6022
6023         euidaccess: prefer POSIX over non-standard implementation
6024         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
6025         * lib/euidaccess.c (euidaccess): Use it if available.
6026
6027         openat: make template easier to use
6028         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
6029         AT_FUNC_F2 to be undefined.
6030         (VALIDATE_FLAG): New macro; use it to reject bad flags.
6031         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
6032         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
6033         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
6034         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
6035         Likewise.
6036         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
6037         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
6038         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
6039         Likewise.
6040
6041         openat: declare in POSIX headers
6042         * NEWS: Mention this.
6043         * modules/openat (configure.ac): Declare witnesses.
6044         (Depends-on): Add fcntl-h, sys_stat, unistd.
6045         (Include): Mention correct headers.
6046         * modules/fcntl-h (Depends-on): Add link-warning.
6047         (Files): Add openat.m4.
6048         (Makefile.am): Substitute witnesses.
6049         * modules/sys_stat (Files, Makefile.am): Likewise.
6050         * modules/unistd (Files, Makefile.am): Likewise.
6051         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
6052         (gl_OPENAT_DEFAULTS): New macro.
6053         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
6054         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
6055         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
6056         (SYS_STAT_H): Remove unused variable.
6057         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
6058         * lib/fcntl--.h (includes): Remove unneeded header.
6059         * lib/openat-safer.c (includes): Likewise.
6060         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
6061         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
6062         appropriate headers.
6063         (__OPENAT_PREFIX): Delete.
6064         * lib/fcntl.in.h (openat): Provide declaration.
6065         (AT_FDCWD): Fix Solaris bug.
6066         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
6067         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
6068         * lib/fchmodat.c (includes):  Adjust to find declaration.
6069         * lib/fchownat.c (includes): Likewise.
6070         * lib/mkdirat.c (includes): Likewise.
6071         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
6072         still visible.
6073
6074 2009-09-02  Eric Blake  <ebb9@byu.net>
6075
6076         errno: use consistently
6077         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
6078         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
6079         * lib/canonicalize.c (ELOOP): Likewise.
6080         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
6081         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
6082         * lib/lchown.c (EOPNOTSUPP): Likewise.
6083         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
6084         * lib/savewd.c (ESTALE): Likewise.
6085         * lib/settime.c (ENOSYS): Likewise.
6086         * lib/utimens.c (ENOSYS): Likewise.
6087         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
6088         * lib/chdir-safer.c (ELOOP): Likewise.
6089         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
6090         * modules/c-stack (Depends-on): Add errno.
6091         * modules/canonicalize (Depends-on): Likewise.
6092         * modules/chdir-safer (Depends-on): Likewise.
6093         * modules/fdopendir (Depends-on): Likewise.
6094         * modules/inet_ntop (Depends-on): Likewise.
6095         * modules/inet_pton (Depends-on): Likewise.
6096         * modules/lchown (Depends-on): Likewise.
6097         * modules/openat (Depends-on): Likewise.
6098         * modules/savewd (Depends-on): Likewise.
6099         * modules/settime (Depends-on): Likewise.
6100         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
6101
6102         fts: avoid leaking fds
6103         * modules/fts (Depends-on): Add cloexec.
6104         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
6105         flag.
6106
6107         fts: make directory fds more robust
6108         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
6109         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
6110
6111         backupfile, chdir-long, fts, savedir: make safer
6112         * lib/backupfile.c (includes): Use "dirent--.h", since
6113         numbered_backup can write to stderr during readdir.
6114         * lib/savedir.c (includes): Likewise.
6115         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
6116         emulation can write to stderr on failure.
6117         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
6118         * lib/getcwd.c: Document why opendir_safer is unused.
6119         * lib/glob.c: Likewise.
6120         * lib/scandir.c: Likewise.
6121         * lib/openat-proc.c: Likewise, for open_safer.
6122         * modules/backupfile (Depends-on): Add dirent-safer.
6123         * modules/savedir (Depends-on): Likewise.
6124         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
6125         * modules/chdir-long (Depends-on): Add openat-safer.
6126
6127         openat-safer: new module
6128         * modules/openat-safer: New file.
6129         * lib/openat-safer.c: Likewise.
6130         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
6131         * lib/fcntl-safer.h (openat_safer): Declare.
6132         * lib/fcntl--.h (openat): Override.
6133         * MODULES.html.sh (File descriptor based I/O): Mention it.
6134         * lib/openat.h: Add double-inclusion guards.
6135         * lib/openat.c (includes): Only include "fcntl-safer.h", not
6136         "fcntl--.h", so we can implement openat.
6137         * modules/openat-safer-tests: New test.
6138         * tests/test-openat-safer.c: New file.
6139
6140         dirent-safer: new module
6141         * modules/dirent-safer: New file.
6142         * lib/dirent--.h: Likewise.
6143         * lib/dirent-safer.h: Likewise.
6144         * lib/opendir-safer.c: Likewise.
6145         * m4/dirent-safer.m4: Likewise.
6146         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
6147         * modules/dirent-safer-tests: New test.
6148         * tests/test-dirent-safer.c: New file.
6149         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
6150
6151         fdopendir: optimize on mingw
6152         * lib/unistd.in.h (_gl_directory_name): New prototype.
6153         * lib/fchdir.c (_gl_directory_name): Implement it.
6154         (fchdir): Use it to simplify implementation.
6155         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
6156         fchdir, when available, to avoid calling [f]chdir().
6157
6158         fdopendir: split into its own module
6159         * lib/openat.c (fdopendir): Move...
6160         * lib/fdopendir.c: ...into new file.
6161         * modules/fdopendir: New module.
6162         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
6163         * modules/openat (Depends-on): Add fdopendir.
6164         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
6165         fdopendir here.
6166         * modules/savedir (Depends-on): Only need fdopendir, not full
6167         openat.
6168         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
6169         * lib/openat.h (fdopendir): Drop prototype.
6170         * lib/dirent.in.h (fdopendir): Provide prototype.
6171         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
6172         * modules/dirent (Makefile.am): Substitute them.
6173         * MODULES.html.sh (File system functions): Mention it.
6174         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
6175         * modules/fdopendir-tests: New file.
6176         * tests/test-fdopendir.c: Likewise.
6177
6178         fchdir: use more consistent macro convention
6179         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
6180         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
6181         REPLACE_FCHDIR, rather than relying on config.h macros.
6182         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
6183         inside a single make-time REPLACE_FCHDIR block, rather than using
6184         the config.h FCHDIR_REPLACEMENT.
6185         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
6186         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
6187         Manage fstat replacement.
6188         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
6189         REPLACE_FCHDIR.
6190         * modules/sys_stat (Files): Add m4/unistd_h.m4.
6191         (Makefile.am): Substitute REPLACE_FCHDIR.
6192         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
6193         FCHDIR_REPLACEMENT.
6194         * lib/dup-safer.c (dup_safer): Likewise.
6195         * lib/dup2.c (rpl_dup2): Likewise.
6196         * lib/dup3.c (rpl_dup3): Likewise.
6197         * lib/open.c (rpl_open): Likewise.
6198
6199         fchdir: simplify error handling, and support dup3
6200         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
6201         stdbool, malloc-posix, realloc-posix.
6202         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
6203         (ensure_dirs_slot): Return false on allocation failure.
6204         (rpl_dup2): Delete.
6205         (_gl_register_dup): New function.
6206         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
6207         (_gl_register_fd): Close fd on allocation failure.
6208         * lib/fcntl.in.h (_gl_register_fd): Update signature.
6209         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
6210         prototype.
6211         (rpl_dup2_fchdir): Delete prototype.
6212         * lib/open.c (open): Update caller.
6213         * lib/dup2.c (dup2): Track fchdir metadata.
6214         * lib/dup3.c (dup3): Likewise.
6215         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
6216         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
6217
6218 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6219
6220         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
6221         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
6222         don't pass arguments to AC_OUTPUT.
6223
6224 2009-09-02  Bruno Haible  <bruno@clisp.org>
6225
6226         * modules/mkdtemp (License): Relicense under LGPLv2+.
6227         Reported by Paolo Bonzini.
6228
6229 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6230
6231         Replace uses of obsolete autoconf macros in Jim's modules.
6232         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
6233         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
6234         can evoke a warning from autoconf when run with -Wobsolete
6235         enabled.  They were declared obsolete for good reasons (see
6236         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
6237         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
6238         should not continue using the deprecated macros.
6239         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
6240         obsolete Autoconf macros with modern counterparts.
6241         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
6242         * m4/dos.m4 (gl_AC_DOS): Likewise.
6243         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
6244         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
6245         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
6246         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
6247         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
6248         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
6249         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
6250         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
6251         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
6252         Likewise.
6253         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
6254         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
6255         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
6256         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
6257         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
6258         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
6259
6260 2009-09-01  Eric Blake  <ebb9@byu.net>
6261
6262         fchdir: fix off-by-one bug in previous patch
6263         * lib/fchdir.c (rpl_fstat): Use correct bounds.
6264         (_gl_unregister_fd): Delete useless if.
6265
6266 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
6267
6268         maint.mk: sort the list of syntax-check rules
6269         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
6270         easier to get a sense of progress when the rules are run sequentially
6271         and take a long time.
6272
6273 2009-09-01  Simon Josefsson  <simon@josefsson.org>
6274
6275         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
6276         * modules/netinet_in: Likewise.
6277         * modules/sys_file: Likewise.
6278         * modules/sys_ioctl: Likewise.
6279         * modules/sys_select: Likewise.
6280         * modules/sys_socket: Likewise.
6281         * modules/sys_stat: Likewise.
6282         * modules/sys_time: Likewise.
6283         * modules/sys_times: Likewise.
6284         * modules/sys_utsname: Likewise.
6285         * modules/sys_wait: Likewise.
6286
6287 2009-09-01  Jim Meyering  <meyering@redhat.com>
6288
6289         fts: help ensure that return values are not ignored
6290         * lib/fts_.h (__GNUC_PREREQ): Define.
6291         (__attribute_warn_unused_result__): Define.
6292         (fts_children, fts_close, fts_open, fts_read): Declare with
6293         __attribute_warn_unused_result__.
6294
6295         fts: fts_close now fails also when closing a dir file descriptor fails
6296         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
6297         and propagate to caller, along with errno.
6298
6299         announce-gen: correct formatting in --help output
6300         * build-aux/announce-gen (usage): Move the one-line description in
6301         --help output "up", to where it belongs, just after Usage:.
6302
6303 2009-08-31  Eric Blake  <ebb9@byu.net>
6304
6305         fchdir: port to mingw
6306         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
6307         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
6308         opened, then use a substitute.
6309         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
6310         replacement.
6311         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
6312         (_gl_register_fd): No need to check stat if open already filters
6313         all directories.
6314         (fchdir): Fix error condition to match POSIX.
6315         * modules/fchdir (Depends-on): Add sys_stat.
6316         * doc/posix-functions/open.texi (open): Document the limitation.
6317         * modules/fchdir-tests: New file.
6318         * tests/test-fchdir.c: Likewise.
6319
6320         canonicalize: allow cross-testing from cygwin to mingw
6321         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
6322         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
6323         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
6324         Likewise.
6325         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
6326         target does not support symlinks.
6327         * tests/test-canonicalize-lgpl.sh: Likewise.
6328
6329         chown: avoid compilation warning on mingw
6330         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
6331         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
6332         mingw.
6333         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
6334         * modules/chown (Depends-on): Add errno.
6335
6336 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
6337
6338         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
6339         command.
6340
6341 2009-08-31  Jim Meyering  <meyering@redhat.com>
6342
6343         canonicalize: remove useless initialization
6344         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
6345         initialization of local, "end".
6346
6347 2009-08-30  Bruno Haible  <bruno@clisp.org>
6348
6349         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
6350         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
6351         ENOSYS.
6352
6353 2009-08-30  Bruno Haible  <bruno@clisp.org>
6354
6355         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
6356         /usr/xpg4/bin/tr when it exists.
6357         * tests/test-pipe-filter-gi1.sh: Likewise.
6358
6359 2009-08-30  Bruno Haible  <bruno@clisp.org>
6360
6361         Work around deficient /usr/bin/id program on Solaris.
6362         * tests/test-file-has-acl.sh (ID): New variable.
6363         * tests/test-set-mode-acl.sh (ID): Likewise.
6364         * tests/test-copy-acl.sh (ID): Likewise.
6365         * tests/test-copy-file.sh (ID): Likewise.
6366
6367 2009-08-30  Bruno Haible  <bruno@clisp.org>
6368
6369         New module 'xstriconveh'.
6370         * lib/xstriconveh.h: New file.
6371         * lib/xstriconveh.c: New file.
6372         * modules/xstriconveh: New file.
6373
6374 2009-08-30  Bruno Haible  <bruno@clisp.org>
6375
6376         Make it easier to use mem_cd_iconveh.
6377         * lib/striconveh.h (iconveh_t): New type.
6378         (iconveh_open, iconveh_close): New declarations.
6379         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
6380         with a single 'const iconveh_t *' argument.
6381         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
6382         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
6383         with a single 'const iconveh_t *' argument.
6384         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
6385         * tests/test-striconveh.c (main): Update.
6386         * NEWS: Mention the change.
6387
6388 2009-08-30  Bruno Haible  <bruno@clisp.org>
6389
6390         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
6391         problem.
6392
6393 2009-08-30  Bruno Haible  <bruno@clisp.org>
6394
6395         Work around iconv_open problem on Solaris.
6396         * lib/iconv_open-solaris.gperf: New file.
6397         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
6398         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
6399         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
6400         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
6401         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
6402         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
6403
6404 2009-08-29  Jim Meyering  <meyering@redhat.com>
6405
6406         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
6407         * top/maint.mk (cvs-check): Remove target; it was just an alias
6408         to the better-named vc-diff-check.
6409         (maintainer-distcheck): Remove rule.  It was used only from
6410         the (alpha/beta/major) target, and all of its commands but one
6411         were coreutils-specific.
6412         (vc-dist): Remove rule.
6413         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
6414         Run vc-diff-check, not vc-dist.
6415         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
6416
6417 2009-08-27  Bruno Haible  <bruno@clisp.org>
6418
6419         * tests/test-bitrotate.c (main): Remove test that uses a shift count
6420         of 0.
6421
6422 2009-08-27  Bruno Haible  <bruno@clisp.org>
6423
6424         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
6425         compilers.
6426         * doc/func.texi: Document the SunPRO C bug.
6427
6428 2009-08-27  Bruno Haible  <bruno@clisp.org>
6429
6430         Fix link error on Solaris.
6431         * tests/test-parse-duration.c (xstrdup): Remove function.
6432
6433 2009-08-26  Pádraig Brady  <P@draigbrady.com>
6434
6435         ignore-value: handle pointer types, too
6436         * lib/ignore-value.h (__attribute__): Remove definition.
6437         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
6438         of a more concise and more-often effective "(void) i" statement.
6439         (ignore_ptr): New function to suppress warnings from functions that
6440         return pointers, and to make it explicit that one function doesn't
6441         handle all cases.
6442
6443 2009-08-25  Bruno Haible  <bruno@clisp.org>
6444
6445         dup2: work around a Linux bug.
6446         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
6447         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
6448         * doc/posix-functions/dup2.texi: Mention the Linux bug.
6449         Reported by Simon Josefsson.
6450
6451 2009-08-25  Jim Meyering  <meyering@redhat.com>
6452
6453         libguestfs uses gnulib
6454         * users.txt: Add libguestfs.
6455
6456 2009-08-24  Eric Blake  <ebb9@byu.net>
6457
6458         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
6459         * lib/pipe2.c (includes): Add binary-io.h.
6460         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
6461
6462 2009-08-24  Bruno Haible  <bruno@clisp.org>
6463
6464         Tolerate declared but missing accept4 syscall.
6465         * lib/accept4.c (accept4): Invoke original accept4 function first, if
6466         available.
6467         * lib/sys_socket.in.h (accept4): If the function is already present,
6468         override it.
6469         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
6470         * modules/accept4 (Makefile.am): Compile accept4.c always.
6471         Reported by Paolo Bonzini and Eric Blake.
6472
6473 2009-08-23  Bruno Haible  <bruno@clisp.org>
6474
6475         New module 'accept4'.
6476         * lib/sys_socket.in.h (accept4): New declaration.
6477         * lib/accept4.c: New file.
6478         * m4/accept4.m4: New file.
6479         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
6480         GNULIB_ACCEPT4, HAVE_ACCEPT4.
6481         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
6482         HAVE_ACCEPT4.
6483         * modules/accept4: New file.
6484         * doc/glibc-functions/accept4.texi: Mention the new module.
6485
6486 2009-08-24  Jim Meyering  <meyering@redhat.com>
6487
6488         progname: also set global program_invocation_name, when possible
6489         Before this change, a libtool-enabled program that calls glibc's
6490         error function would report the program name as
6491         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
6492         * modules/progname (configure.ac): Check for a declaration of
6493         program_invocation_name.
6494         * lib/progname.c:  Include <errno.h>.
6495         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
6496         Set program_invocation_name.
6497
6498 2009-08-23  Bruno Haible  <bruno@clisp.org>
6499
6500         * lib/dup3.c: Include <string.h>.
6501
6502 2009-08-23  Bruno Haible  <bruno@clisp.org>
6503
6504         * lib/dup3.c (dup3): Test only once whether the system actually exists.
6505         * lib/pipe2.c (pipe2): Likewise.
6506         Suggested by Eric Blake.
6507
6508 2009-08-23  Bruno Haible  <bruno@clisp.org>
6509
6510         Tolerate declared but missing dup3 syscall.
6511         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
6512         * lib/unistd.in.h (dup3): If the function is already present,
6513         override it.
6514         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
6515         * modules/dup3 (Makefile.am): Compile dup3.c always.
6516         Reported by Paolo Bonzini.
6517
6518 2009-08-23  Bruno Haible  <bruno@clisp.org>
6519
6520         Tolerate declared but missing pipe2 syscall.
6521         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
6522         available.
6523         * lib/unistd.in.h (pipe2): If the function is already present,
6524         override it.
6525         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
6526         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
6527         Reported by Paolo Bonzini.
6528
6529 2009-08-23  Bruno Haible  <bruno@clisp.org>
6530
6531         * lib/pipe2.c (pipe2): Move #ifs inside function.
6532
6533 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
6534
6535         quotearg: document limitations of quote_these_too
6536         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
6537         those limitations are created.
6538         * lib/quotearg.h (set_char_quoting): Document that digits and
6539         letters that are special after backslash are not permitted.
6540         (quotearg_char): Cross-reference set_char_quoting documentation.
6541
6542 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
6543
6544         quotearg: implement custom_quoting_style
6545         * lib/quotearg.c: (struct quoting_options): Add left_quote and
6546         right_quote fields.
6547         (set_custom_quoting): New public function.
6548         (quotearg_buffer_restyled): Add left_quote and right_quote
6549         arguments, handle them very much like locale quoting, and update
6550         all uses.
6551         (quotearg_n_custom): New public function.
6552         (quotearg_n_custom_mem): New public function.
6553         (quotearg_custom): New public function.
6554         (quotearg_custom_mem): New public function.
6555         * lib/quotearg.h: Prototype and document new public functions.
6556         (enum quoting_style): For escape_quoting_style and
6557         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
6558         ignored even though they're otherwise like c_quoting_style.
6559         Add custom_quoting_style member and document with comparison to
6560         clocale_quoting_style.
6561         * tests/test-quotearg.c (custom_quotes): New array.
6562         (custom_results): New array.
6563         (main): Extend to test custom quoting.
6564
6565 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
6566
6567         quotearg: fix right quote escaping when it's in quote_these_too
6568         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
6569         quote, be sure to prepend only one backslash.
6570         * tests/test-quotearg.c (use_quote_double_quotes): New function.
6571         (main): Test it.
6572
6573 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
6574
6575         quotearg-tests: test escaping of embedded locale quotes
6576         * tests/test-quotearg.c (struct result_strings): Add member for
6577         new input.
6578         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
6579         (inputs): Add new input.
6580         (results_g): Add expected results.
6581         (flag_results): Likewise.
6582         (locale_results): Likewise.
6583         (compare_strings): Check those.
6584
6585 2009-08-23  Bruno Haible  <bruno@clisp.org>
6586
6587         Tests for module 'dup3'.
6588         * modules/dup3-tests: New file.
6589         * tests/test-dup3.c: New file.
6590
6591         New module 'dup3'.
6592         * lib/unistd.in.h (dup3): New declaration.
6593         * lib/dup3.c: New file.
6594         * m4/dup3.m4: New file.
6595         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
6596         HAVE_DUP3.
6597         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
6598         * modules/dup3: New file.
6599         * doc/glibc-functions/dup3.texi: Mention the new module.
6600
6601 2009-08-23  Bruno Haible  <bruno@clisp.org>
6602
6603         Tweak the dup2 test.
6604         * tests/test-dup2.c (main): Create the test file empty. Verify that an
6605         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
6606         the test file is still empty. Fix argument order of lseek.
6607
6608 2009-08-23  Bruno Haible  <bruno@clisp.org>
6609
6610         Avoid test link errors when the modules getopt-gnu, gettext are used.
6611         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
6612         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6613
6614 2009-08-23  Bruno Haible  <bruno@clisp.org>
6615
6616         Fix getdtablesize() on mingw.
6617         * lib/getdtablesize.c (getdtablesize): Implement differently.
6618         * lib/unistd.in.h (getdtablesize): Improve comment.
6619
6620 2009-08-23  Bruno Haible  <bruno@clisp.org>
6621
6622         New module 'mkostemp'.
6623         Based on Ulrich Drepper's 2007-08-10 change in glibc.
6624         * lib/stdlib.in.h (mksotemp): New declaration.
6625         * lib/mkostemp.c: New file, from glibc with modifications.
6626         * lib/tempname.h (GT_FILE): Remove outdated comment.
6627         (gen_tempname): Add flags argument.
6628         * lib/tempname.c (__GT_BIGFILE): Remove macro.
6629         (__GT_FILE): Map to 1.
6630         (small_open, large_open): Remove macros.
6631         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
6632         * lib/mkstemp.c (mkstemp): Update.
6633         * lib/mkdtemp.c (mkdtemp): Likewise.
6634         * m4/mkostemp.m4: New file.
6635         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
6636         HAVE_MKOSTEMP.
6637         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
6638         HAVE_MKOSTEMP.
6639         * modules/mkostemp: New file, based on modules/mkstemp.
6640         * doc/glibc-functions/mkostemp.texi: Mention the new module.
6641         * NEWS: Mention the change.
6642
6643 2009-08-23  Bruno Haible  <bruno@clisp.org>
6644
6645         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
6646         Reported by Eric Blake.
6647
6648 2009-08-23  Bruno Haible  <bruno@clisp.org>
6649
6650         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
6651         Reported by Eric Blake.
6652
6653 2009-08-23  Bruno Haible  <bruno@clisp.org>
6654
6655         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
6656         * modules/pipe2 (Depends-on): Likewise.
6657
6658 2009-08-23  Eric Blake  <ebb9@byu.net>
6659
6660         fcntl-h: add O_TTY_INIT support
6661         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
6662         * tests/test-fcntl-h.c (o): Test it.
6663         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
6664
6665         fcntl-h: rename from fcntl, in preparation for fcntl(2)
6666         * modules/fcntl: Move <fcntl.h> header replacement...
6667         * modules/fcntl-h: ...to new name, so as not to collide with
6668         like-named function.
6669         * tests/test-fcntl.c: Rename...
6670         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
6671         * modules/fcntl-tests: Rename...
6672         * modules/fcntl-h-tests: ...to this.  Update test file name.
6673         * modules/chdir-long (Depends-on): Update clients.
6674         * modules/chdir-safer (Depends-on): Likewise.
6675         * modules/fcntl-safer (Depends-on): Likewise.
6676         * modules/fts (Depends-on): Likewise.
6677         * modules/mkancesdirs (Depends-on): Likewise.
6678         * modules/mkdir-p (Depends-on): Likewise.
6679         * modules/open (Depends-on): Likewise.
6680         * modules/savewd (Depends-on): Likewise.
6681         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
6682         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
6683
6684 2009-08-22  Bruno Haible  <bruno@clisp.org>
6685
6686         * modules/binary-io (License): Relicense under LGPL.
6687         * modules/pipe2 (License): Likewise.
6688
6689 2009-08-22  Bruno Haible  <bruno@clisp.org>
6690
6691         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
6692         return value.
6693         * lib/pipe-filter-gi.c (filter_init): Likewise.
6694         Reported by Eric Blake.
6695
6696 2009-08-22  Bruno Haible  <bruno@clisp.org>
6697
6698         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
6699         * modules/pipe (Depends-on): Add pipe2.
6700
6701 2009-08-22  Bruno Haible  <bruno@clisp.org>
6702
6703         Tests for module 'pipe2'.
6704         * modules/pipe2-tests: New file.
6705         * tests/test-pipe2.c: New file.
6706
6707         New module 'pipe2'.
6708         * lib/unistd.in.h (pipe2): New declaration.
6709         * lib/pipe2.c: New file.
6710         * m4/pipe2.m4: New file.
6711         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
6712         HAVE_PIPE2.
6713         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
6714         * modules/pipe2: New file.
6715         * doc/glibc-functions/pipe2.texi: Mention the new module.
6716
6717 2009-08-22  Bruno Haible  <bruno@clisp.org>
6718
6719         Reference some new glibc functions.
6720         * doc/glibc-functions/accept4.texi: New file.
6721         * doc/glibc-functions/dup3.texi: New file.
6722         * doc/glibc-functions/mkostemp.texi: New file.
6723         * doc/glibc-functions/pipe2.texi: New file.
6724         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
6725         (Glibc sys/socket.h): Refer to accept4.
6726         (Glibc unistd.h): Refer to dup3, pipe2.
6727         Reported by Eric Blake.
6728
6729 2009-08-22  Jim Meyering  <meyering@redhat.com>
6730             Bruno Haible  <bruno@clisp.org>
6731
6732         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
6733         This makes it so packages using automake-1.11's silent-rules option
6734         can print e.g., a single "GEN    configmake.h" line, rather than
6735         the 30+ statements that perform the job.  If you want to see the
6736         actual commands, you can still run "make V=1".
6737         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
6738         so that make output is abbreviated when those variables are defined
6739         appropriately.
6740         * modules/argz: Likewise.
6741         * modules/arpa_inet: Likewise.
6742         * modules/byteswap: Likewise.
6743         * modules/configmake: Likewise.
6744         * modules/dirent: Likewise.
6745         * modules/errno: Likewise.
6746         * modules/fcntl: Likewise.
6747         * modules/float: Likewise.
6748         * modules/fnmatch: Likewise.
6749         * modules/getopt-posix: Likewise.
6750         * modules/glob: Likewise.
6751         * modules/iconv_open: Likewise.
6752         * modules/inttypes: Likewise.
6753         * modules/localcharset: Likewise.
6754         * modules/locale: Likewise.
6755         * modules/math: Likewise.
6756         * modules/netdb: Likewise.
6757         * modules/netinet_in: Likewise.
6758         * modules/poll: Likewise.
6759         * modules/posix_spawnp-tests: Likewise.
6760         * modules/sched: Likewise.
6761         * modules/search: Likewise.
6762         * modules/selinux-h: Likewise.
6763         * modules/signal: Likewise.
6764         * modules/spawn: Likewise.
6765         * modules/stdarg: Likewise.
6766         * modules/stdbool: Likewise.
6767         * modules/stddef: Likewise.
6768         * modules/stdint: Likewise.
6769         * modules/stdio: Likewise.
6770         * modules/stdlib: Likewise.
6771         * modules/string: Likewise.
6772         * modules/strings: Likewise.
6773         * modules/sys_file: Likewise.
6774         * modules/sys_ioctl: Likewise.
6775         * modules/sys_select: Likewise.
6776         * modules/sys_socket: Likewise.
6777         * modules/sys_stat: Likewise.
6778         * modules/sys_time: Likewise.
6779         * modules/sys_times: Likewise.
6780         * modules/sys_utsname: Likewise.
6781         * modules/sys_wait: Likewise.
6782         * modules/sysexits: Likewise.
6783         * modules/time: Likewise.
6784         * modules/unistd: Likewise.
6785         * modules/wchar: Likewise.
6786         * modules/wctype: Likewise.
6787
6788 2009-08-22  Jim Meyering  <meyering@redhat.com>
6789
6790         announce-gen: detect write failure
6791         * build-aux/announce-gen: Add Coda at end.
6792         Remove equivalent-but-more-verbose block at top.
6793
6794 2009-08-19  Akim Demaille  <demaille@gostai.com>
6795
6796         bootstrap: --help to stdout.
6797         * bootstrap (usage): Don't send --help to stderr.
6798         Use a here doc instead of a long string.
6799
6800 2009-08-21  Eric Blake  <ebb9@byu.net>
6801
6802         test-popen-safer: split from test-popen
6803         * tests/test-popen.c (main): Move...
6804         * tests/test-popen.h: ...into new file.
6805         * tests/test-popen-safer2.c: New file.
6806         * modules/popen-tests (Files): Add test-popen.h.
6807         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
6808         Suggested by Bruno Haible.
6809
6810         test-fcntl-safer: split from test-open
6811         * tests/test-open.c (main): Move...
6812         * tests/test-open.h: ...into new file.
6813         * tests/test-fcntl-safer.c: New file.
6814         * modules/open-tests (Files): Add test-open.h.
6815         * modules/fcntl-safer-tests: New file.
6816         Suggested by Bruno Haible.
6817
6818         test-fopen-safer: split from test-fopen
6819         * tests/test-fopen.c (main): Move...
6820         * tests/test-fopen.h: ...into new file.
6821         * tests/test-fopen-safer.c: New file.
6822         * modules/fopen-tests (Files): Add test-fopen.h.
6823         * modules/fopen-safer-tests: New file.
6824         Suggested by Bruno Haible.
6825
6826 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
6827
6828         popen-safer: test O_CLOEXEC at run-time.
6829         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
6830
6831 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
6832
6833         fcntl: move more flags to the header
6834         * lib/cloexec.c: Do not define FD_CLOEXEC here.
6835         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
6836         * lib/fcntl.in.h: Do both things here.
6837
6838 2009-08-21  Jim Meyering  <meyering@redhat.com>
6839
6840         consistently remove $@-t before redirecting to it
6841         * modules/argz: Remove $@-t and $@ before redirecting to the former.
6842         * modules/alloca-opt: Likewise.
6843         * modules/byteswap: Likewise.
6844         * modules/fnmatch: Likewise.
6845         * modules/getopt-posix: Likewise.
6846         * modules/glob: Likewise.
6847         * modules/poll: Likewise.
6848         * modules/posix_spawnp-tests: Likewise.
6849         * modules/sys_socket: Likewise.
6850         * modules/sysexits: Likewise.
6851
6852 2009-08-21  Eric Blake  <ebb9@byu.net>
6853
6854         popen: simplify access to original popen
6855         * lib/popen.c (rpl_popen): No need to worry about popen being a
6856         macro.
6857         Reported by Bruno Haible.
6858
6859 2009-08-20  Eric Blake  <ebb9@byu.net>
6860
6861         build: avoid some compiler warnings
6862         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
6863         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
6864         type.
6865         (new_exclude_segment, excluded_file_pattern_p)
6866         (excluded_file_name_p): Reduce scope.
6867         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
6868         old-style declaration.
6869
6870 2009-08-20  Simon Josefsson  <simon@josefsson.org>
6871
6872         * tests/test-exclude1.sh: Handle Windows EOL.
6873         * tests/test-exclude2.sh: Likewise.
6874         * tests/test-exclude3.sh: Likewise.
6875         * tests/test-exclude4.sh: Likewise.
6876         * tests/test-exclude5.sh: Likewise.
6877         * tests/test-exclude6.sh: Likewise.
6878         * tests/test-exclude7.sh: Likewise.
6879
6880 2009-08-19  Akim Demaille  <demaille@gostai.com>
6881
6882         bootstrap: find sha1sum when named gsha1sum.
6883         * bootstrap (find_tool): New.
6884         ($SHA1SUM): New.
6885         Use it.
6886
6887 2009-08-20  Jim Meyering  <meyering@redhat.com>
6888
6889         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
6890         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
6891         expression that converts "." in a file name to "\." in the resulting
6892         regexp.  Start with a dummy statement, so that prior shell variable
6893         definitions are expanded portably.  Reported by Simon Josefsson.
6894
6895 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
6896
6897         Fix polling for writeability of a screen buffer.
6898         * lib/poll.c: Distinguish input and screen buffers for the
6899         Win32 implementation.
6900         * lib/select.c: Likewise.
6901
6902 2009-08-19  Eric Blake  <ebb9@byu.net>
6903
6904         popen-safer: prevent popen from clobbering std descriptors
6905         * modules/popen-safer: New file.
6906         * lib/popen-safer.c: Likewise.
6907         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
6908         * lib/stdio--.h (popen): Provide override.
6909         * lib/stdio-safer.h (popen_safer): Provide declaration.
6910         * tests/test-popen.c (includes): Partially test this.
6911         * modules/popen-safer-tests: New file, for more tests.
6912         * tests/test-popen-safer.c: Likewise.
6913         * MODULES.html.sh (file stream based Input/Output): Mention it.
6914
6915         tests: test some of the *-safer modules
6916         * modules/fopen-safer (Depends-on): Add fopen.
6917         * modules/fcntl-safer (Depends-on): Add fcntl.
6918         * modules/stdlib-safer (Depends-on): Add stdlib.
6919         (configure.ac): Set indicator.
6920         * modules/unistd-safer (configure.ac): Likewise.
6921         * modules/tmpfile-safer (configure.ac): Likewise.
6922         (Depends-on): Add tmpfile.
6923         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
6924         active.
6925         * tests/test-fopen.c (includes): Test safer versions when they are
6926         in use.
6927         * tests/test-open.c (includes): Likewise.
6928
6929         popen: fix cygwin 1.5 bug when stdin closed
6930         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
6931         * modules/popen: New file.
6932         * modules/popen-tests: Likewise.
6933         * tests/test-popen.c: Likewise.
6934         * m4/popen.m4: Likewise.
6935         * lib/popen.c: Likewise.
6936         * lib/stdio.in.h (popen): New declaration.
6937         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
6938         * modules/stdio (Makefile.am): Likewise.
6939         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
6940
6941 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
6942
6943         maint.mk: give full control over update-copyright exclusions
6944         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
6945         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
6946         (update-copyright): Don't force inclusion of top-level
6947         ChangeLog.  Don't force exclusion of all COPYING files, but make
6948         them the default exclusion instead.
6949
6950 2009-08-16  Bruno Haible  <bruno@clisp.org>
6951
6952         Fix test failures on Solaris 10.
6953         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
6954         tests when Solaris iconv() is used.
6955         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
6956         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
6957         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
6958         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
6959         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
6960
6961 2009-08-16  Bruno Haible  <bruno@clisp.org>
6962
6963         Fix test failures on Solaris 10.
6964         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
6965         'tr' program and pass it as first argument.
6966         * tests/test-pipe-filter-gi1.sh: Likewise.
6967         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
6968         program as first argument.
6969         * tests/test-pipe-filter-gi1.c (main): Likewise.
6970
6971 2009-08-16  Eric Blake  <ebb9@byu.net>
6972
6973         fpurge: fix previous commits
6974         * modules/fpurge (Makefile.am): Make replacement conditional,
6975         partially reverting 2007-04-29 change; missed in previous
6976         attempt.
6977         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
6978         is missing.
6979
6980 2009-08-16  Bruno Haible  <bruno@clisp.org>
6981
6982         Clarify fpurge's effect on the file position.
6983         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
6984         * tests/test-fpurge.c (main): Make a second pass for checking the file
6985         position.
6986
6987 2009-08-16  Bruno Haible  <bruno@clisp.org>
6988
6989         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
6990         declaration of fpurge is missing.
6991         * tests/test-fpurge.c (main): Check that the file has not more contents
6992         than expected. Close the file before removing it.
6993
6994 2009-08-15  Eric Blake  <ebb9@byu.net>
6995
6996         fpurge: don't wrap working cygwin implementation
6997         * lib/fpurge.c (fpurge): Fix comment typo.
6998         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
6999         1.7 to avoid replacement.
7000         * tests/test-fpurge.c (main): Enhance test.
7001
7002 2009-08-15  Eric Blake  <ebb9@byu.net>
7003         and Jim Meyering  <meyering@redhat.com>
7004
7005         test-update-copyright: skip if perl is insufficient
7006         * tests/test-update-copyright.sh: Failure to run maintainer tool
7007         should not cause testsuite failure on cygwin 1.5.
7008
7009 2009-08-14  Eric Blake  <ebb9@byu.net>
7010
7011         doc: mention more functions added in cygwin 1.7.0
7012         * doc/posix-headers/limits.texi (limits.h): Update for recent
7013         cygwin additions.
7014         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
7015         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
7016         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
7017         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
7018         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
7019
7020 2009-08-14  Eric Blake  <ebb9@byu.net>
7021
7022         maint.mk: simplify update-copyright rule
7023         * top/maint.mk (update-copyright-local): Delete, and document how
7024         to do it in cfg.mk instead.
7025         (update-copyright-exclude-regexp): Delete, and document how to do
7026         it in .x-update-copyright instead.
7027         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
7028         exclude ChangeLog.
7029
7030 2009-08-14  Bruno Haible  <bruno@clisp.org>
7031
7032         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
7033
7034 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
7035
7036         maint.mk: support update-copyright-env
7037         * top/maint.mk (update-copyright-env): Define place-holder.
7038         (update-copyright): Expand $(update-copyright-env) before
7039         invoking update-copyright.
7040
7041 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
7042
7043         update-copyright: implement forced reformatting
7044         * build-aux/update-copyright: Implement and document
7045         UPDATE_COPYRIGHT_FORCE.
7046         * tests/test-update-copyright.sh: Test it.
7047
7048 2009-08-14  Eric Blake  <ebb9@byu.net>
7049         and Bruno Haible  <bruno@clisp.org>
7050
7051         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
7052         * tests/test-locale.c: Revert previous patch related to NULL.
7053         * tests/test-stdio.c: Likewise.
7054         * tests/test-stdlib.c: Likewise.
7055         * tests/test-string.c: Likewise.
7056         * tests/test-unistd.c: Likewise.
7057         * modules/time-tests (Depends-on): Add verify.
7058         * modules/wchar-tests (Depends-on): Likewise.
7059         * tests/test-time.c: Test for NULL compliance.
7060         * tests/test-wchar.c: Likewise.
7061         * modules/locale (Depends-on): Add stddef.
7062         * modules/stdio (Depends-on): Likewise.
7063         * modules/stdlib (Depends-on): Likewise.
7064         * modules/string (Depends-on): Likewise.
7065         * modules/time (Depends-on): Likewise.
7066         * modules/unistd (Depends-on): Likewise.
7067         * modules/wchar (Depends-on): Likewise.
7068         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
7069         * lib/stdlib.in.h (includes): Likewise.
7070         * lib/string.in.h (includes): Likewise.
7071         * lib/time.in.h (includes): Likewise.
7072         * lib/unistd.in.h (includes): Likewise.
7073         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
7074         replaced.
7075         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
7076         * m4/stddef_h.m4: New file.
7077         * modules/stddef: Likewise.
7078         * lib/stddef.in.h: Likewise.
7079         * modules/stddef-tests: Likewise.
7080         * tests/test-stddef.c: Likewise.
7081         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
7082         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
7083         * doc/posix-headers/locale.texi (locale.h): Likewise.
7084         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
7085         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
7086         * doc/posix-headers/string.texi (string.h): Likewise.
7087         * doc/posix-headers/time.texi (time.h): Likewise.
7088         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
7089         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
7090
7091 2009-08-14  Eric Blake  <ebb9@byu.net>
7092
7093         doc: improve git diff of texinfo files
7094         * .gitattributes: Add rule for *.texi files, with hint on how to
7095         use it.
7096         Copied from m4, and based on a report by Bruno Haible.
7097
7098 2009-08-14  Bruno Haible  <bruno@clisp.org>
7099
7100         Disable multithread support by default on Cygwin 1.5.x for real.
7101         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
7102
7103 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
7104
7105         update-copyright: much ado about intervals
7106         * build-aux/update-copyright: Implement and document
7107         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
7108         of copyright year intervals.
7109         Also, document UPDATE_COPYRIGHT_YEAR.
7110         * tests/test-update-copyright.sh: Test it.
7111
7112         update-copyright: convert 2-digit to 4-digit years
7113         * build-aux/update-copyright: Implement and document.
7114         * tests/test-update-copyright.sh: Update.
7115
7116 2009-08-14  Jim Meyering  <meyering@redhat.com>
7117
7118         test-exclude: avoid coreutils "make check" failure
7119         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
7120         just as in test-argmatch.c.
7121
7122 2009-08-13  Eric Blake  <ebb9@byu.net>
7123
7124         test-dup2: fix bad assumption
7125         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
7126         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
7127
7128         test-version-etc: fix CRLF portability issue
7129         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
7130         recognize \r.
7131         * tests/test-argp-version-etc-1.sh: Likewise.
7132
7133         getopt: update client modules
7134         * modules/argp (Depends-on): Use getopt-gnu.
7135         * modules/git-merge-changelog (Depends-on): Likewise.
7136         * modules/long-options (Depends-on): Likewise.
7137         * modules/xstrtol (Depends-on): Likewise.
7138
7139 2009-08-13  Simon Josefsson  <simon@josefsson.org>
7140
7141         * tests/test-version-etc.sh: Don't fail on different
7142         project/version.  Don't fail on CRLF differences.  Rewrite to use
7143         multiple -e instead of multiple sed forks, suggested by Eric Blake
7144         <ebb9@byu.net>.
7145         * tests/test-argp-version-etc-1.sh: Likewise.
7146
7147 2009-08-13  Simon Josefsson  <simon@josefsson.org>
7148
7149         * tests/test-version-etc.sh: Don't fail on different
7150         project/version.
7151
7152 2009-08-12  Bruno Haible  <bruno@clisp.org>
7153
7154         Tests for modules 'getopt-posix', 'getopt-gnu'.
7155         * modules/getopt-posix-tests: New file.
7156         * tests/test-getopt.c: New file.
7157         * tests/test-getopt.h: New file.
7158         * tests/test-getopt_long.h: New file.
7159
7160         New modules 'getopt-posix', 'getopt-gnu'.
7161         * modules/getopt-gnu: New file, renamed from modules/getopt.
7162         * modules/getopt-posix: New file.
7163         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
7164         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
7165         (gl_GETOPT): Remove macro.
7166         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
7167         Disable the test against BSD systems that declare optreset. Test
7168         against mingw bug. Test against lack of support of optional arguments
7169         on many platforms.
7170         * doc/glibc-headers/getopt.texi: Update module name and list of
7171         relevant platforms.
7172         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
7173         'getopt-gnu' and more portability problems.
7174         * NEWS: Mention the changes.
7175
7176 2009-08-12  Bruno Haible  <bruno@clisp.org>
7177
7178         Ensure that optarg etc. get declared by <unistd.h>.
7179         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
7180         AC_USE_SYSTEM_EXTENSIONS.
7181         * modules/getopt (Depends-on): Add 'extensions'.
7182
7183 2009-08-12  Bruno Haible  <bruno@clisp.org>
7184
7185         Avoid test link errors.
7186         * modules/pipe-filter-ii-tests (Makefile.am): Define
7187         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
7188         * modules/pipe-filter-gi-tests (Makefile.am): Define
7189         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
7190         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7191
7192 2009-08-12  Bruno Haible  <bruno@clisp.org>
7193
7194         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
7195         gl_GETOPT_SUBSTITUTE before.
7196         (gl_GETOPT): Use it.
7197         * m4/argp.m4 (gl_ARGP): Update.
7198         Reported by Sergey Poznyakoff.
7199
7200         * m4/getopt.m4: Reorder macros.
7201         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
7202         (gl_GETOPT_SUBSTITUTE): Remove macro.
7203
7204 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
7205
7206         Minor improvement in gitlog-to-changelog
7207
7208         * build-aux/gitlog-to-changelog: New option `--format' makes
7209         output format string configurable.
7210
7211 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
7212
7213         Optimize exclude: use hash tables for non-wildcard patterns.
7214
7215         * lib/exclude.c: Include hash.h and mbuiter.h
7216         (struct exclude_pattern, exclude_segment): New data types.
7217         (struct exclude): Rewrite.
7218         (fnmatch_pattern_has_wildcards): New function.
7219         (new_exclude_segment, free_exclude_segment): New functions.
7220         (excluded_file_pattern_p, excluded_file_name_p): New functions.
7221         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
7222         * lib/exclude.h (is_fnmatch_pattern): New prototype.
7223         * modules/exclude: Depend on hash and mbuiter.
7224
7225         * modules/exclude-tests: New file.
7226         * tests/test-exclude.c: New file.
7227         * tests/test-exclude1.sh: New file.
7228         * tests/test-exclude2.sh: New file.
7229         * tests/test-exclude3.sh: New file.
7230         * tests/test-exclude4.sh: New file.
7231         * tests/test-exclude5.sh: New file.
7232         * tests/test-exclude6.sh: New file.
7233         * tests/test-exclude7.sh: New file.
7234
7235 2009-08-12  Bruno Haible  <bruno@clisp.org>
7236
7237         Ensure that getopt() gets declared by <unistd.h>.
7238         * lib/unistd.in.h: Conditionally include getopt.h.
7239         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
7240         Set GNULIB_UNISTD_H_GETOPT.
7241         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
7242         GNULIB_UNISTD_H_GETOPT.
7243         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
7244
7245 2009-08-12  Bruno Haible  <bruno@clisp.org>
7246
7247         Clarify logic.
7248         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
7249         gl_replace_getopt instead of GETOPT_H.
7250
7251 2009-08-12  Bruno Haible  <bruno@clisp.org>
7252
7253         * m4/getopt.m4: Add comments.
7254
7255 2009-08-12  Bruno Haible  <bruno@clisp.org>
7256
7257         Disable multithread support by default on Cygwin 1.5.x.
7258         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
7259         set gl_use_threads=no if not specified otherwise.
7260
7261 2009-08-11  Bruno Haible  <bruno@clisp.org>
7262
7263         Avoid compilation error on NetBSD 5.0.
7264         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
7265         * tests/test-stdio.c: Likewise.
7266         * tests/test-stdlib.c: Likewise.
7267         * tests/test-string.c: Likewise.
7268         * tests/test-unistd.c: Likewise.
7269         Reported by Greg Troxel <gdt@ir.bbn.com>
7270         at <https://savannah.gnu.org/support/?106973>.
7271
7272 2009-08-11  Bruno Haible  <bruno@clisp.org>
7273
7274         * modules/dup2-tests (Depends-on): Remove close.
7275
7276         Undo 2009-07-19 commit.
7277         * modules/acl-tests (Depends-on): Remove close.
7278         * modules/binary-io-tests (Depends-on): Likewise.
7279         * modules/closein-tests (Depends-on): Likewise.
7280         * modules/flock-tests (Depends-on): Likewise.
7281         * modules/fsync-tests (Depends-on): Likewise.
7282         * modules/lseek-tests (Depends-on): Likewise.
7283         * modules/pipe-tests (Depends-on): Likewise.
7284         * modules/posix_spawn-tests (Depends-on): Likewise.
7285         * modules/posix_spawnp-tests (Depends-on): Likewise.
7286         * modules/stat-time-tests (Depends-on): Likewise.
7287         * modules/yesno-tests (Depends-on): Likewise.
7288
7289 2009-08-10  Bruno Haible  <bruno@clisp.org>
7290
7291         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
7292
7293 2009-08-10  Bruno Haible  <bruno@clisp.org>
7294
7295         Fix a gcc warning.
7296         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
7297
7298 2009-08-10  Bruno Haible  <bruno@clisp.org>
7299
7300         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
7301         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
7302         not only the first time.
7303         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
7304         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
7305         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
7306         is 1, not only the the first time.
7307
7308 2009-08-10  Bruno Haible  <bruno@clisp.org>
7309
7310         Make it possible to use module 'gethostname' without module 'close'.
7311         * lib/unistd.in.h (close): Evoke a link error only if
7312         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
7313         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
7314         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
7315         * modules/unistd (Makefile.am): Substitute
7316         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
7317         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
7318         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
7319         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
7320         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
7321         * modules/sys_ioctl (Makefile.am): Substitute
7322         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
7323         * modules/socket (configure.ac): On native Windows, set
7324         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
7325         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
7326         Reported by Sam Steingold <sds@gnu.org>.
7327
7328 2009-08-10  Bruno Haible  <bruno@clisp.org>
7329
7330         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
7331         * modules/ioctl (configure.ac): Likewise.
7332
7333 2009-08-10  Bruno Haible  <bruno@clisp.org>
7334
7335         Avoid collision between gnulib wrapper and libintl wrapper.
7336         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
7337         already defined in intl/printf.c.
7338         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
7339         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
7340
7341 2009-08-09  Bruno Haible  <bruno@clisp.org>
7342
7343         Make <sys/select.h> really self-contained, also on Solaris 10.
7344         * lib/sys_select.in.h: Include <string.h>.
7345         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
7346         Solaris 10 problem.
7347         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
7348         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
7349         Reported by Jim Meyering.
7350
7351 2009-08-09  Bruno Haible  <bruno@clisp.org>
7352
7353         Avoid warnings from 'aclocal' that are due to a use of macro name
7354         AM_XGETTEXT_OPTION that is not defined in automake.
7355         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
7356         automake.
7357         * modules/error (configure.ac): Likewise.
7358         * modules/propername (configure.ac): Likewise.
7359         * modules/vasprintf (configure.ac): Likewise.
7360         * modules/verror (configure.ac): Likewise.
7361         * modules/xprintf (configure.ac): Likewise.
7362         * modules/xvasprintf (configure.ac): Likewise.
7363
7364 2009-08-08  Bruno Haible  <bruno@clisp.org>
7365
7366         Avoid compilation error in C++ mode.
7367         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
7368         Reported by Sam Steingold <sds@gnu.org>.
7369
7370 2009-08-08  Bruno Haible  <bruno@clisp.org>
7371
7372         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
7373         for the various Unix platforms.
7374         * doc/posix-headers/limits.texi: Update platforms list regarding
7375         HOST_NAME_MAX.
7376         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7377
7378 2009-08-07  Jim Meyering  <meyering@redhat.com>
7379
7380         selinux-at: fix typo in a comment
7381         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
7382         Spotted by Paolo Bonzini.
7383
7384         selinux-at: remove redundant m4 code, add documentation
7385         * modules/selinux-at (configure.ac): Remove redundant code.
7386         LIB_SELINUX is already set via the dependent module, selinux-h.
7387         (Include): Add quotes around selinux-at.h.
7388         * lib/selinux-at.h: Add documentation.
7389         Reported by Bruno Haible in
7390         http://marc.info/?l=gnulib-bug&m=124958988300749
7391
7392 2009-08-07  Bruno Haible  <bruno@clisp.org>
7393
7394         Avoid link error on MacOS X 10.3 and 10.4.
7395         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
7396         on non-ELF systems.
7397         * lib/argp-pv.c (argp_program_version): Likewise.
7398         Reported by Simon Josefsson.
7399
7400 2009-08-07  Simon Josefsson  <simon@josefsson.org>
7401
7402         * tests/test-version-etc.sh: Use $EXEEXT.
7403
7404 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
7405
7406         update-copyright: update documentation to point to maint.mk
7407         * build-aux/update-copyright: Here.
7408
7409 2009-08-06  Jim Meyering  <meyering@redhat.com>
7410
7411         maint.mk: support update-copyright-local
7412         * top/maint.mk (update-copyright-local): Define place-holder.
7413         (update-copyright): Depend on $(update-copyright-local).
7414
7415 2009-08-06  Jim Meyering  <meyering@redhat.com>
7416
7417         selinux-at: new module
7418         Initially written for coreutils, this module will soon be
7419         used by findutils, too.
7420         * MODULES.html.sh [Misc]: Add selinux-at.
7421         * lib/selinux-at.h: New file, from coreutils.
7422         * lib/selinux-at.c: Likewise.
7423         * modules/selinux-at: Likewise.
7424         (License): Change from LGPL to GPL, since it depends
7425         on the GPL'd openat module.
7426
7427         doc: update README
7428         * README: Remove references to cogito.
7429         Remove cvs-repo-updating instructions from 2007.
7430         Don't imply that CVS is better if you have limited disk space.
7431
7432 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
7433
7434         update-copyright: support C-style comments
7435         * build-aux/update-copyright: Implement and document.
7436         * tests/test-update-copyright.sh: Test.
7437
7438 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
7439
7440         update-copyright: support omitted "(C)"
7441         * build-aux/update-copyright: Implement and document.  Also,
7442         allow variable whitespace before "(C)".
7443         * tests/test-update-copyright.sh: Test.
7444
7445 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
7446
7447         update-copyright: don't trip on non-FSF copyright statements
7448         * build-aux/update-copyright: Fix so that the first correctly
7449         formatted FSF copyright statement is recognized no matter what
7450         appears before it.  Update documentation.
7451         * tests/test-update-copyright.sh: Test that.
7452
7453 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
7454
7455         update-copyright: clean up code a little
7456         * build-aux/update-copyright: Append "_re" to the name of any
7457         variable holding a regular expression.
7458         Replace "old" and "new" with "stmt" in variable names.
7459         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
7460         handled correctly.
7461         Format code more consistently.
7462
7463 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
7464
7465         update-copyright-tests: improve portability
7466         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
7467         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
7468
7469 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
7470
7471         update-copyright: support @copyright{} and &copy;
7472         * build-aux/update-copyright: Implement and document.
7473         * tests/test-update-copyright.sh: Test.
7474
7475 2009-08-04  Jim Meyering  <meyering@redhat.com>
7476
7477         update-copyright-tests: correctly test EOL=\r\n handling
7478         * tests/test-update-copyright.sh: Put \r at the end of some lines
7479         for the dos-eol tests.  Based on a patch by Joel E. Denny.
7480
7481         maint.mk: make update-copyright exclusion list more configurable
7482         * top/maint.mk (update-copyright): Default to excluding COPYING,
7483         but allow an override, in case someone does want to update that file.
7484
7485         maint.mk: don't update copyright date in COPYING
7486         * top/maint.mk (update-copyright): Exclude COPYING.
7487
7488         maint.mk: add a copyright-updating rule
7489         * top/maint.mk (update-copyright): New rule.
7490         Derived from coreutils/Makefile.am.
7491
7492         update-copyright: rename some variables
7493         * build-aux/update-copyright: Rename a few variables for clarity.
7494         Tweak syntax.  List Joel E. Denny as coauthor.
7495
7496 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
7497
7498         update-copyright: fix bug for 2-digit last year and add tests
7499         * build-aux/update-copyright: Fix bug.
7500         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
7501         specified.
7502         * modules/update-copyright-tests: New
7503         * tests/test-update-copyright.sh: New.
7504
7505 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
7506
7507         update-copyright: handle leading tabs in line prefix
7508         * build-aux/update-copyright: Count leading tabs as 8 spaces
7509         when computing margin.  This helps with the formatting of
7510         ChangeLogs, for example.
7511         Fix documentation a little.
7512
7513 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
7514
7515         update-copyright: support EOL=\r\n
7516         * build-aux/update-copyright: Implement that.
7517
7518 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
7519
7520         update-copyright: automatically format copyright statements
7521         * build-aux/update-copyright: Implement that.
7522         Also, be a little more predictable and safer by always failing
7523         when the full copyright format is not perfectly recognized as an
7524         unbroken whole.  Discussed at
7525         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
7526         Rewrite documentation.
7527
7528 2009-08-03  Bruno Haible  <bruno@clisp.org>
7529
7530         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
7531
7532 2009-08-02  Bruno Haible  <bruno@clisp.org>
7533
7534         Tests for module 'uname'.
7535         * modules/uname-tests: New file.
7536         * tests/test-uname.c: New file.
7537
7538         New module 'uname'.
7539         * lib/uname.c: New file.
7540         * m4/uname.m4: New file.
7541         * modules/uname: New file.
7542         * doc/posix-functions/uname.texi: Mention the new module.
7543
7544 2009-08-02  Bruno Haible  <bruno@clisp.org>
7545
7546         Tests for module 'sys_utsname'.
7547         * modules/sys_utsname-tests: New file.
7548         * tests/test-sys_utsname.c: New file.
7549
7550         New module 'sys_utsname'.
7551         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
7552         * m4/sys_utsname_h.m4: New file.
7553         * modules/sys_utsname: New file.
7554         * doc/posix-headers/sys_utsname.texi: Mention the new module.
7555
7556 2009-08-02  Bruno Haible  <bruno@clisp.org>
7557
7558         Implicitly initialize the sockets library.
7559         * lib/gethostname.c: Include sockets.h.
7560         (rpl_gethostname): Invoke gl_sockets_startup.
7561         * lib/socket.c: Include sockets.h.
7562         (rpl_socket): Invoke gl_sockets_startup.
7563         * modules/gethostname (Depends-on): Add sockets.
7564         * modules/socket (Depends-on): Likewise.
7565         * tests/test-poll.c: Don't include sockets.h.
7566         (main): Don't invoke gl_sockets_startup.
7567         * tests/test-select.c: Don't include sockets.h.
7568         (main): Don't invoke gl_sockets_startup.
7569
7570 2009-08-02  Bruno Haible  <bruno@clisp.org>
7571
7572         Allow multiple calls to gl_sockets_startup.
7573         * lib/sockets.c (initialized_sockets_version): New variable.
7574         (gl_sockets_startup): Do nothing if already called for this or a higher
7575         version.
7576         (gl_sockets_cleanup): Reset initialized_sockets_version.
7577
7578 2009-08-03  Simon Josefsson  <simon@josefsson.org>
7579
7580         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
7581         different project/version.
7582
7583 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
7584             Bruno Haible  <bruno@clisp.org>
7585
7586         Tests for module 'pipe-filter-gi'.
7587         * modules/pipe-filter-gi-tests: New file.
7588         * tests/test-pipe-filter-gi1.sh: New file.
7589         * tests/test-pipe-filter-gi1.c: New file.
7590         * tests/test-pipe-filter-gi2.sh: New file.
7591         * tests/test-pipe-filter-gi2-main.c: New file.
7592         * tests/test-pipe-filter-gi2-child.c: New file.
7593
7594         New module 'pipe-filter-gi'.
7595         * lib/pipe-filter-gi.c: New file.
7596         * modules/pipe-filter-gi: New file.
7597
7598 2009-08-02  Bruno Haible  <bruno@clisp.org>
7599             Paolo Bonzini  <bonzini@gnu.org>
7600
7601         Tests for module 'pipe-filter-ii'.
7602         * modules/pipe-filter-ii-tests: New file.
7603         * tests/test-pipe-filter-ii1.sh: New file.
7604         * tests/test-pipe-filter-ii1.c: New file.
7605         * tests/test-pipe-filter-ii2.sh: New file.
7606         * tests/test-pipe-filter-ii2-main.c: New file.
7607         * tests/test-pipe-filter-ii2-child.c: New file.
7608
7609         New module 'pipe-filter-ii'.
7610         * lib/pipe-filter.h: New file.
7611         * lib/pipe-filter-ii.c: New file.
7612         * lib/pipe-filter-aux.h: New file.
7613         * modules/pipe-filter-ii: New file.
7614
7615 2009-08-02  Simon Josefsson  <simon@josefsson.org>
7616
7617         * lib/gc-libgcrypt.c: Change copyright to FSF.
7618         * lib/gc-gnulib.c: Likewise.
7619
7620 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
7621
7622         * lib/gethostname.c: Include limits.h.
7623
7624 2009-08-02  Simon Josefsson  <simon@josefsson.org>
7625             Bruno Haible  <bruno@clisp.org>
7626
7627         Ensure HOST_NAME_MAX as part of the gethostname module.
7628         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
7629         define also HOST_NAME_MAX.
7630         * tests/test-gethostname.c: Include <limits.h>.
7631         (main): Check also HOST_NAME_MAX.
7632         * doc/posix-headers/limits.texi: Document the mingw problem.
7633
7634 2009-08-02  Bruno Haible  <bruno@clisp.org>
7635
7636         * lib/gethostname.c (gethostname): Fix handling of large len argument.
7637         Add comments.
7638
7639 2009-03-31  Simon Josefsson  <simon@josefsson.org>
7640
7641         * lib/gethostname.c: Add Windows wrapper.
7642         * m4/gethostname.m4: Look for gethostname in -lws2_32.
7643         * modules/gethostname: Depend on sys_socket & errno, for also
7644         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
7645         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
7646
7647 2009-07-31  Jim Meyering  <meyering@redhat.com>
7648
7649         getloadavg: fix symbol name in comment
7650         * lib/getloadavg.c: Correct a typo I introduced when adding
7651         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
7652         Matt Kraai spotted the problem.
7653
7654 2009-07-29  Matt Kraai  <mkraai@beckman.com>
7655
7656         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
7657         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
7658         code also if ! defined N_NAME_POINTER.
7659         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
7660         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
7661         but the n_name member is a 12-byte array.
7662
7663 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
7664
7665         update-copyright: generalize comment handling
7666         * build-aux/update-copyright: Handle copyright statements
7667         within more comment styles.
7668         Document usage.
7669         Report any file with an external copyright holder or parse failure.
7670
7671 2009-07-29  Jim Meyering  <meyering@redhat.com>
7672
7673         mktime: correct setting of REPLACE_MKTIME
7674         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
7675
7676         update-copyright: new module
7677         * modules/update-copyright: New file.
7678         * build-aux/update-copyright: New file.
7679         * MODULES.html.sh (maint+release support): Add update-copyright.
7680
7681 2009-07-27  Bruno Haible  <bruno@clisp.org>
7682
7683         Fix compilation error when <ctime> is used and mktime is replaced.
7684         * lib/time.in.h (mktime): New declaration.
7685         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
7686         REPLACE_MKTIME instead of defining mktime in config.h.
7687         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
7688         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
7689         Reported by Ross McFarland <rwmcfa1@neces.com>.
7690
7691 2009-07-27  Bruno Haible  <bruno@clisp.org>
7692
7693         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
7694         Reported by Matt Kraai <mkraai@beckman.com>.
7695
7696 2009-07-25  Jim Meyering  <meyering@redhat.com>
7697
7698         maint.mk: avoid warnings about missing files
7699         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
7700         diagnostic when .prev-version does not exist.
7701         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
7702         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
7703         nonexistent cfg.mk.
7704         Suggestions from Simon Josefsson.
7705
7706 2009-07-25  Bruno Haible  <bruno@clisp.org>
7707
7708         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
7709         defined as macros. Needed on QNX 6.4.1.
7710         Reported by Matt Kraai <mkraai@beckman.com>.
7711
7712 2009-07-23  Jim Meyering  <meyering@redhat.com>
7713
7714         maint.mk: invoke "make dist" with a working value of XZ_OPT
7715         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
7716
7717 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
7718
7719         Make fseeko.c compile on QNX.
7720         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
7721
7722 2009-07-22  Peter Simons  <simons@cryp.to>
7723
7724         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
7725         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
7726         * lib/md4.h: Likewise.
7727         * lib/md5.h: Likewise.
7728         * lib/sha1.h: Likewise.
7729         * lib/sha256.h: Likewise.
7730         * lib/sha512.h: Likewise.
7731
7732         tests-sha1: don't assign literal string to 'char *' variable
7733         * tests/test-sha1.c (main): Declare locals with "const" to match
7734         attributes of the right hand side.
7735
7736 2009-07-21  Eric Blake  <ebb9@byu.net>
7737
7738         dup2: fix more mingw problems
7739         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
7740         fd to itself.
7741         * doc/posix-functions/dup2.texi (dup2): Document the bug.
7742         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
7743         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
7744         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
7745         care of mingw bugs.
7746
7747 2009-07-21  Jim Meyering  <meyering@redhat.com>
7748
7749         vc-list-files: avoid failure when /bin/sh is dash
7750         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
7751         On some Debian based systems, /bin/sh is a symlink to dash, and running
7752         this command would omit the "/" following each 'tests' prefix:
7753           dash -x build-aux/vc-list-files -C . tests
7754         That is because bash and dash work differently:
7755           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
7756           bash ok
7757           dash odd
7758
7759 2009-07-21  Eric Blake  <ebb9@byu.net>
7760
7761         dup2-tests: test previous patch
7762         * modules/dup2-tests: New file.
7763         * tests/test-dup2.c: Likewise.
7764         * tests/test-open.c (main): Avoid unspecified behavior.
7765         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
7766         test.
7767
7768         dup2: work around mingw and cygwin 1.5 bug
7769         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
7770         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
7771         * modules/unistd (Makefile.am): Substitute it.
7772         * lib/unistd.in.h (dup2): Declare the replacement.
7773         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
7774         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
7775         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
7776         * modules/execute (Depends-on): Add dup2.
7777         * modules/fseterr (Depends-on): Likewise.
7778         * modules/pipe (Depends-on): Likewise.
7779         * modules/posix_spawn-internal (Depends-on): Likewise.
7780
7781 2009-07-21  Bruno Haible  <bruno@clisp.org>
7782
7783         * modules/.gitattributes: New file.
7784
7785 2009-07-20  Bruno Haible  <bruno@clisp.org>
7786
7787         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
7788         (main): Use it.
7789
7790 2009-07-20  Eric Blake  <ebb9@byu.net>
7791
7792         test-pipe: make a bit more robust.
7793         * tests/test-pipe.c (myerr): Allow error messages regardless of
7794         what we do to stderr.
7795         (test_pipe): Rearrange to avoid deadlock.
7796         (child_main): Try a larger read, to ensure we avoided deadlock.
7797         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
7798         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
7799         if misused.
7800
7801 2009-07-19  Jim Meyering  <meyering@redhat.com>
7802
7803         fts: avoid false-positive cycle-detection
7804         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
7805         for each new command line argument.
7806
7807 2009-07-19  Bruno Haible  <bruno@clisp.org>
7808
7809         Fix build error on mingw with the modules sys_select and unistd.
7810         * modules/acl-tests (Depends-on): Add close.
7811         * modules/binary-io-tests (Depends-on): Likewise.
7812         * modules/closein-tests (Depends-on): Likewise.
7813         * modules/flock-tests (Depends-on): Likewise.
7814         * modules/fsync-tests (Depends-on): Likewise.
7815         * modules/lseek-tests (Depends-on): Likewise.
7816         * modules/pipe-tests (Depends-on): Likewise.
7817         * modules/posix_spawn-tests (Depends-on): Likewise.
7818         * modules/posix_spawnp-tests (Depends-on): Likewise.
7819         * modules/stat-time-tests (Depends-on): Likewise.
7820         * modules/yesno-tests (Depends-on): Likewise.
7821
7822 2009-07-19  Bruno Haible  <bruno@clisp.org>
7823
7824         Unify conditionals.
7825         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
7826         macros, not at the compiler macros.
7827         * lib/pipe.c: Likewise.
7828         * lib/execute.c: Likewise.
7829         * lib/spawni.c: Likewise.
7830
7831 2009-07-19  Bruno Haible  <bruno@clisp.org>
7832
7833         Fix handling of closed stdin/stdout/stderr on mingw.
7834         * lib/w32spawn.h: Include unistd.h.
7835         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
7836         file descriptor with O_NOINHERIT flag.
7837         (fd_safer_noinherit): New function, based on fd-safer.c.
7838         (dup_safer_noinherit): New function, based on dup-safer.c.
7839         (undup_safer_noinherit): New function.
7840         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
7841         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
7842         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
7843         instead of fd_safer.
7844         * tests/test-pipe.c: Include <windows.h>.
7845         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
7846
7847         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
7848         from main.
7849         (test_pipe): Pass an extra argument for disambiguation.
7850         (main): Invoke parent_main or child_main.
7851
7852         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
7853         consistently.
7854
7855 2009-07-18  Eric Blake  <ebb9@byu.net>
7856
7857         test-pipe: fix mingw build
7858         * tests/test-pipe.c (main): Avoid fcntl on mingw.
7859
7860 2009-07-18  Bruno Haible  <bruno@clisp.org>
7861
7862         * modules/pipe-tests (Makefile.am): Fix typo.
7863
7864 2009-07-18  Eric Blake  <ebb9@byu.net>
7865
7866         error: fix mingw build
7867         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
7868         Reported by Bruno Haible.
7869
7870         error: avoid undefined use of stdout
7871         * lib/error.c (error, error_at_line): Check that fd 1 is open
7872         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
7873         is handling faults and the close_stdout module wants to report the
7874         detection of closed stdout as an error.
7875
7876 2009-07-17  Eric Blake  <ebb9@byu.net>
7877
7878         pipe: be robust in face of closed fds
7879         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
7880         should cause child to misbehave.
7881         * modules/pipe-tests: New module.
7882         * tests/test-pipe.c: New file.
7883         * tests/test-pipe.sh: New file.
7884         Reported by Akim Demaille.
7885
7886 2009-07-14  Bruno Haible  <bruno@clisp.org>
7887
7888         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
7889         Reported by anonymous kc.
7890
7891 2009-07-07  Jim Meyering  <meyering@redhat.com>
7892
7893         maint.mk: don't look for translatable strings in *.m4 or *.mk
7894         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
7895         when searching for translatable strings.
7896
7897 2009-07-05  Jim Meyering  <meyering@redhat.com>
7898
7899         remove superfluous parentheses in STREQ definition
7900         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
7901         * lib/getugroups.c (STREQ): Likewise.
7902         * lib/fnmatch.c (STREQ): Likewise.
7903         Spotted by Bruno Haible.
7904
7905 2009-07-04  Jim Meyering  <meyering@redhat.com>
7906
7907         argv-iter: new module
7908         * MODULES.html.sh: Add argv-iter.
7909         * lib/argv-iter.c, lib/argv-iter.h: New files.
7910         * modules/argv-iter: New file.
7911         * modules/argv-iter-tests: New file.
7912         * tests/test-argv-iter.c: Test it.
7913
7914 2009-07-04  Bruno Haible  <bruno@clisp.org>
7915
7916         Fix assertion.
7917         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
7918         contains more exact copies of a given entry than file2, leave the extra
7919         copies unpaired rather than aborting.
7920         Reported by Eric Blake.
7921
7922 2009-07-02  Bruno Haible  <bruno@clisp.org>
7923
7924         Speedup git-merge-changelog for git cherry-pick.
7925         * lib/git-merge-changelog.c (struct entries_mapping): New type.
7926         (entries_mapping_get): New function, extracted from compute_mapping.
7927         (entries_mapping_reverse_get): New function.
7928         (compute_mapping): Add a 'full' argument. Return the result in a
7929         'struct entries_mapping'.
7930         (main): Update. Access the mappings through entries_mapping_get.
7931         Reported by Eric Blake.
7932
7933 2009-07-02  Bruno Haible  <bruno@clisp.org>
7934
7935         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
7936         best_i.
7937
7938 2009-07-02  Bruno Haible  <bruno@clisp.org>
7939
7940         Speed up approximate search for matching ChangeLog entries.
7941         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
7942         argument. Call fstrcmp_bounded instead of fstrcmp.
7943         (compute_mapping, try_split_merged_entry, main): Update callers.
7944
7945 2009-07-02  Bruno Haible  <bruno@clisp.org>
7946
7947         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
7948
7949 2009-06-30  Bruno Haible  <bruno@clisp.org>
7950
7951         Reduce the number of uc_is_cased calls.
7952         * lib/unicase.h (casing_suffix_context_t): Add
7953         'first_char_except_ignorable' field.
7954         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
7955         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
7956         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
7957         Update initializer.
7958         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
7959         case-ignorable characters.
7960         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
7961         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
7962         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
7963         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
7964         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
7965
7966 2009-06-30  Bruno Haible  <bruno@clisp.org>
7967
7968         Tests for module 'unicase/ignorable'.
7969         * modules/unicase/ignorable-tests: New file.
7970         * tests/unicase/test-ignorable.c: New file, generated by
7971         gen-uni-tables.
7972
7973         Tests for module 'unicase/cased'.
7974         * modules/unicase/cased-tests: New file.
7975         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
7976         * tests/unicase/test-predicate-part1.h: New file, derived from
7977         tests/unictype/test-predicate-part1.h.
7978         * tests/unicase/test-predicate-part2.h: New file, same as
7979         tests/unictype/test-predicate-part2.h.
7980
7981         Fix evaluation of "Before C" condition of FINAL_SIGMA.
7982         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
7983         (output_casing_properties): New function.
7984         (main): Call it.
7985         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
7986         * lib/unicase/cased.c: Include unictype/bitmap.h.
7987         (uc_is_cased): Define through a bitmap lookup.
7988         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
7989         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
7990         (uc_is_case_ignorable): Define through a bitmap lookup.
7991         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
7992         lib/unictype/bitmap.h.
7993         (Depends-on): Add inline. Clean up.
7994         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
7995         lib/unictype/bitmap.h.
7996         (Depends-on): Add inline. Clean up.
7997         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
7998         recognition.
7999         * tests/unicase/test-u16-tolower.c (main): Likewise.
8000         * tests/unicase/test-u32-tolower.c (main): Likewise.
8001
8002 2009-06-30  Bruno Haible  <bruno@clisp.org>
8003
8004         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
8005         * lib/unicase/u16-casemap.c: Likewise.
8006         * lib/unicase/u32-casemap.c: Likewise.
8007
8008 2009-06-29  Bruno Haible  <bruno@clisp.org>
8009
8010         Define u32_casefold as a wrapper around u32_ct_casefold.
8011         * lib/unicase/u32-casefold.c: Update.
8012         * modules/unicase/u32-casefold (Depends-on): Add
8013         unicase/u32-ct-casefold, unicase/empty-prefix-context,
8014         unicase/empty-suffix-context. Clean up.
8015
8016         Define u16_casefold as a wrapper around u16_ct_casefold.
8017         * lib/unicase/u16-casefold.c: Update.
8018         * modules/unicase/u16-casefold (Depends-on): Add
8019         unicase/u16-ct-casefold, unicase/empty-prefix-context,
8020         unicase/empty-suffix-context. Clean up.
8021
8022         Define u8_casefold as a wrapper around u8_ct_casefold.
8023         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
8024         * lib/unicase/u8-casefold.c: Update.
8025         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
8026         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
8027
8028         Define u32_totitle as a wrapper around u32_ct_totitle.
8029         * lib/unicase/u32-totitle.c: Update.
8030         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
8031         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
8032
8033         Define u16_totitle as a wrapper around u16_ct_totitle.
8034         * lib/unicase/u16-totitle.c: Update.
8035         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
8036         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
8037
8038         Define u8_totitle as a wrapper around u8_ct_totitle.
8039         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
8040         functions.
8041         (FUNC): Delegate to U_CT_TOTITLE.
8042         * lib/unicase/u8-totitle.c: Update.
8043         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
8044         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
8045
8046         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
8047         invocation.
8048         * modules/unicase/u32-tolower (Depends-on): Add
8049         unicase/empty-prefix-context, unicase/empty-suffix-context.
8050
8051         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
8052         invocation.
8053         * modules/unicase/u16-tolower (Depends-on): Add
8054         unicase/empty-prefix-context, unicase/empty-suffix-context.
8055
8056         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
8057         * modules/unicase/u8-tolower (Depends-on): Add
8058         unicase/empty-prefix-context, unicase/empty-suffix-context.
8059
8060         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
8061         invocation.
8062         * modules/unicase/u32-toupper (Depends-on): Add
8063         unicase/empty-prefix-context, unicase/empty-suffix-context.
8064
8065         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
8066         invocation.
8067         * modules/unicase/u16-toupper (Depends-on): Add
8068         unicase/empty-prefix-context, unicase/empty-suffix-context.
8069
8070         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
8071         * modules/unicase/u8-toupper (Depends-on): Add
8072         unicase/empty-prefix-context, unicase/empty-suffix-context.
8073
8074         New module 'unicase/u32-ct-casefold'.
8075         * lib/unicase/u32-ct-casefold.c: New file.
8076         * modules/unicase/u32-ct-casefold: New file.
8077
8078         New module 'unicase/u16-ct-casefold'.
8079         * lib/unicase/u16-ct-casefold.c: New file.
8080         * modules/unicase/u16-ct-casefold: New file.
8081
8082         New module 'unicase/u8-ct-casefold'.
8083         * lib/unicase/u8-ct-casefold.c: New file.
8084         * lib/unicase/u-ct-casefold.h: New file, derived from
8085         lib/unicase/u-casefold.h.
8086         * modules/unicase/u8-ct-casefold: New file.
8087
8088         New module 'unicase/u32-ct-totitle'.
8089         * lib/unicase/u32-ct-totitle.c: New file.
8090         * modules/unicase/u32-ct-totitle: New file.
8091
8092         New module 'unicase/u16-ct-totitle'.
8093         * lib/unicase/u16-ct-totitle.c: New file.
8094         * modules/unicase/u16-ct-totitle: New file.
8095
8096         New module 'unicase/u8-ct-totitle'.
8097         * lib/unicase/u8-ct-totitle.c: New file.
8098         * lib/unicase/u-ct-totitle.h: New file, derived from
8099         lib/unicase/u-totitle.h.
8100         * modules/unicase/u8-ct-totitle: New file.
8101
8102         New module 'unicase/u32-ct-tolower'.
8103         * lib/unicase/u32-ct-tolower.c: New file.
8104         * modules/unicase/u32-ct-tolower: New file.
8105
8106         New module 'unicase/u16-ct-tolower'.
8107         * lib/unicase/u16-ct-tolower.c: New file.
8108         * modules/unicase/u16-ct-tolower: New file.
8109
8110         New module 'unicase/u8-ct-tolower'.
8111         * lib/unicase/u8-ct-tolower.c: New file.
8112         * modules/unicase/u8-ct-tolower: New file.
8113
8114         New module 'unicase/u32-ct-toupper'.
8115         * lib/unicase/u32-ct-toupper.c: New file.
8116         * modules/unicase/u32-ct-toupper: New file.
8117
8118         New module 'unicase/u16-ct-toupper'.
8119         * lib/unicase/u16-ct-toupper.c: New file.
8120         * modules/unicase/u16-ct-toupper: New file.
8121
8122         New module 'unicase/u8-ct-toupper'.
8123         * lib/unicase/u8-ct-toupper.c: New file.
8124         * modules/unicase/u8-ct-toupper: New file.
8125
8126         Add context arguments to u*_casemap functions.
8127         * lib/unicase/unicasemap.h: Include unicase.h.
8128         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
8129         suffix_context arguments.
8130         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
8131         functions.
8132         (FUNC): Add prefix_context and suffix_context arguments. Use
8133         uc_is_cased and uc_is_case_ignorable.
8134         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
8135         * lib/unicase/u16-casemap.c: Likewise.
8136         * lib/unicase/u32-casemap.c: Likewise.
8137         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
8138         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
8139         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
8140         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
8141         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
8142         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
8143
8144         New module 'unicase/u32-suffix-context'.
8145         * lib/unicase/u32-suffix-context.c: New file.
8146         * modules/unicase/u32-suffix-context: New file.
8147
8148         New module 'unicase/u16-suffix-context'.
8149         * lib/unicase/u16-suffix-context.c: New file.
8150         * modules/unicase/u16-suffix-context: New file.
8151
8152         New module 'unicase/u8-suffix-context'.
8153         * lib/unicase/u8-suffix-context.c: New file.
8154         * lib/unicase/u-suffix-context.h: New file.
8155         * modules/unicase/u8-suffix-context: New file.
8156
8157         New module 'unicase/empty-suffix-context'.
8158         * lib/unicase/empty-suffix-context.c: New file.
8159         * modules/unicase/empty-suffix-context: New file.
8160
8161         New module 'unicase/u32-prefix-context'.
8162         * lib/unicase/u32-prefix-context.c: New file.
8163         * modules/unicase/u32-prefix-context: New file.
8164
8165         New module 'unicase/u16-prefix-context'.
8166         * lib/unicase/u16-prefix-context.c: New file.
8167         * modules/unicase/u16-prefix-context: New file.
8168
8169         New module 'unicase/u8-prefix-context'.
8170         * lib/unicase/u8-prefix-context.c: New file.
8171         * lib/unicase/u-prefix-context.h: New file.
8172         * lib/unicase/context.h: New file.
8173         * modules/unicase/u8-prefix-context: New file.
8174
8175         New module 'unicase/empty-prefix-context'.
8176         * lib/unicase/empty-prefix-context.c: New file.
8177         * modules/unicase/empty-prefix-context: New file.
8178
8179         New module 'unicase/ignorable'.
8180         * lib/unicase/ignorable.c: New file.
8181         * modules/unicase/ignorable: New file.
8182
8183         New module 'unicase/cased'.
8184         * lib/unicase/caseprop.h: New file.
8185         * lib/unicase/cased.c: New file.
8186         * modules/unicase/cased: New file.
8187
8188         New functions for case mapping of substrings.
8189         * lib/unicase.h (casing_prefix_context_t): New type.
8190         (unicase_empty_prefix_context): New variable.
8191         (u8_casing_prefix_context, u16_casing_prefix_context,
8192         u32_casing_prefix_context, u8_casing_prefixes_context,
8193         u16_casing_prefixes_context, u32_casing_prefixes_context): New
8194         declarations.
8195         (casing_suffix_context_t): New type.
8196         (unicase_empty_suffix_context): New variable.
8197         (u8_casing_suffix_context, u16_casing_suffix_context,
8198         u32_casing_suffix_context, u8_casing_suffixes_context,
8199         u16_casing_suffixes_context, u32_casing_suffixes_context,
8200         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
8201         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
8202         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
8203         declarations.
8204
8205 2009-06-28  Jim Meyering  <meyering@redhat.com>
8206
8207         boostrap: indent only with spaces
8208         * build-aux/bootstrap: Indent only with spaces, never TABs.
8209
8210         bootstrap: split long lines
8211         * build-aux/bootstrap: Keep line length < 80.
8212
8213         bootstrap: sync from coreutils
8214         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
8215         just as autoreconf does.  Verify a list of prerequisite
8216         package-name,version-number pairs if defined in bootstrap.conf.
8217         Refer to README-prereq, if prerequisites are not satisfied.
8218
8219 2009-06-27  Eric Blake  <ebb9@byu.net>
8220
8221         tests: add test for bogus NULL definition
8222         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
8223         * tests/test-stdlib.c: Likewise.
8224         * tests/test-string.c: Likewise.
8225         * tests/test-locale.c: Likewise.
8226         * tests/test-unistd.c: Likewise.
8227         * modules/stdio-tests (Depends-on): Add verify.
8228         * modules/stdlib-tests (Depends-on): Likewise.
8229         * modules/string-tests (Depends-on): Likewise.
8230         * modules/locale-tests (Depends-on): Likewise.
8231         * modules/unistd-tests (Depends-on): Likewise.
8232
8233 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
8234
8235         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
8236         self-explaining comment.
8237         * m4/selinux-selinux-h: Update serial.
8238         (gl_LIBSELINUX): New macro, adding a warning for missing development
8239         packages to code extracted from...
8240         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
8241         Add warning for missing development packages here, too.
8242
8243 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
8244
8245         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
8246
8247 2009-06-25  Eric Blake  <ebb9@byu.net>
8248
8249         version-etc: fix regression
8250         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
8251         gcc.
8252         (version_etc): Use it, to catch bugs with trailing NULL.
8253         * lib/version-etc.c (version_etc_arn): Delete unused argument.
8254         (version_etc_va): Fix logic bug.
8255         * modules/version-etc-tests: Add test.
8256         * tests/test-version-etc.c: New file.
8257         * tests/test-version-etc.sh: Likewise.
8258
8259 2009-06-25  Sam Steingold  <sds@gnu.org>
8260
8261         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
8262         mbtowc declaration.
8263
8264 2009-06-25  Eric Blake  <ebb9@byu.net>
8265
8266         fpurge: migrate into <stdio.h>
8267         * lib/fpurge.h: Delete...
8268         * lib/stdio.in.h (fpurge): ...and declare here, instead.
8269         * lib/fpurge.c (fpurge): Change declaring header.
8270         * modules/fpurge (Files): Drop deleted file.
8271         (Depends-on): Add stdio.
8272         (configure.ac): Set witness.
8273         * modules/stdio (Makefile.am): Support fpurge macros.
8274         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
8275         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
8276         * lib/fflush.c: Update client.
8277         * tests/test-fpurge.c: Likewise.
8278         * NEWS: Mention the change.
8279
8280 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
8281
8282         * lib/argp-version-etc.c (program_authors): Add const
8283         qualifier.
8284         * lib/version-etc.c: Fix typos in the comments.
8285         * modules/argp-version-etc: Depends on version-etc.
8286
8287 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
8288
8289         argp-version-etc: new module.
8290
8291         * lib/argp-version-etc.c: New file.
8292         * lib/argp-version-etc.h: New file.
8293         * modules/argp-version-etc: New file.
8294         * modules/argp-version-etc-tests: New file.
8295         * tests/test-argp-version-etc.c: New test.
8296         * tests/test-argp-version-etc-1.sh: New test.
8297
8298 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
8299
8300         Provide additional interfaces and documentation for version-etc
8301         module.
8302
8303         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
8304         interfaces.
8305         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
8306         prototypes.
8307
8308 2009-06-24  Bruno Haible  <bruno@clisp.org>
8309
8310         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
8311         HAVE_LIB${NAME} macro.
8312         Reported by Sam Steingold <sds@gnu.org>.
8313
8314 2009-06-23  Simon Josefsson  <simon@josefsson.org>
8315
8316         * modules/hash-tests (test_hash_LDADD): Link to libintl when
8317         needed.
8318
8319 2009-06-21  Bruno Haible  <bruno@clisp.org>
8320
8321         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
8322         work.
8323         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
8324         together with LIB${NAME}, LTLIB${NAME}.
8325         Reported by Sam Steingold <sds@gnu.org>.
8326
8327 2009-06-20  Jim Meyering  <meyering@redhat.com>
8328
8329         tests: make sc_require_test_exit_idiom more generic
8330         * top/maint.mk (Exit_witness_file): New overridable variable.
8331         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
8332         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
8333
8334 2009-06-19  Jim Meyering  <meyering@redhat.com>
8335
8336         hash: reverse order of src/dst parameters in an internal interface
8337         * lib/hash.c (transfer_entries): Reverse order of parameters to
8338         put DST before SRC.  Adjust callers.
8339
8340         tests: test-hash: avoid wholesale duplication
8341         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
8342         Instead, use a loop and add a single conditional.
8343
8344         tests: test-hash: allow seed selection via a command line argument
8345         * tests/test-hash.c (get_seed): New function.
8346         (main): Use it.
8347
8348 2009-06-19  Eric Blake  <ebb9@byu.net>
8349
8350         hash: avoid memory leak on allocation failure
8351         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
8352         failure.  Factor repeated algorithm...
8353         (transfer_entries): ...into new helper routine.
8354         (hash_delete): React to hash_rehash return value.
8355
8356         hash: reduce memory pressure in hash_rehash no-op case
8357         * lib/hash.c (next_prime): Avoid overflow.
8358         (hash_initialize): Factor bucket size computation...
8359         (compute_bucket_size): ...into new helper function.
8360         (hash_rehash): Use new function and open coding to reduce memory
8361         pressure, and avoid a memory leak in USE_OBSTACK code.
8362         Reported by Jim Meyering.
8363
8364 2009-06-18  Eric Blake  <ebb9@byu.net>
8365
8366         hash: make rotation more obvious
8367         * modules/hash (Depends-on): Add bitrotate and stdint.
8368         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
8369         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
8370         (SIZE_MAX): Rely on headers for definition.
8371         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
8372         (raw_hasher): Use rotr_sz.
8373         Suggested by Jim Meyering.
8374
8375         hash: fix memory leak in last patch
8376         * lib/hash.c (hash_rehash): Avoid memory leak.
8377
8378         hash: avoid no-op rehashing
8379         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
8380
8381         hash: provide default callback functions
8382         * lib/hash.c (raw_hasher, raw_comparator): New functions.
8383         (hash_initialize): Use them as defaults.
8384         * tests/test-hash.c (main): Test this.
8385
8386         hash: minor optimization
8387         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
8388         when possible.
8389         (hash_initialize): Document this promise.
8390         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
8391         * tests/test-hash.c (hash_compare_strings): Test this.
8392
8393 2009-06-18  Bruno Haible  <bruno@clisp.org>
8394
8395         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
8396         going to be replaced anyway.
8397
8398 2009-06-18  Bruno Haible  <bruno@clisp.org>
8399
8400         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
8401         in one place.
8402         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
8403         be replaced anyway.
8404
8405 2009-06-18  Eric Blake  <ebb9@byu.net>
8406
8407         hash: check for resize before insertion
8408         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
8409         threshold before insertion, so that a pathological hash_rehash
8410         that fills every bucket can still trigger another rehash.
8411
8412 2009-06-18  Jim Meyering  <meyering@redhat.com>
8413
8414         hash-tests: add a loop around the small tests
8415         * tests/test-hash.c (main): Repeat small tests with selected
8416         small initial table sizes.
8417
8418 2009-06-17  Eric Blake  <ebb9@byu.net>
8419
8420         hash: minor cleanups
8421         * lib/hash.h (hash_entry): Make opaque, by moving...
8422         * lib/hash.c (hash_entry): ...here.
8423         (hash_insert): Clarify restrictions on what can be inserted.
8424         (hash_get_next): Clarify when it is safe to remove an element
8425         during traversal.
8426         (check_tuning): Skip verification when tuning is known safe.
8427         (hash_initialize): Clarify restrictions on tuning.
8428
8429 2009-06-17  Jim Meyering  <jim@meyering.net>
8430         and Eric Blake  <ebb9@byu.net>
8431
8432         hash-tests: new module
8433         * modules/hash-tests: New file.
8434         * tests/test-hash.c: New file.
8435
8436 2009-06-17  Eric Blake  <ebb9@byu.net>
8437
8438         strstr-simple: document new module
8439         * MODULES.html.sh: Document new module.
8440
8441         strstr, strcasestr: replace on platforms with broken memchr
8442         * modules/strstr: Split into...
8443         * modules/strstr-simple: ...new module that does not care about
8444         performance, but does care about glibc bug.
8445         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
8446         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
8447         if platform memchr is broken, per Debian bug 521737.
8448         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
8449         memchr.
8450         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
8451         * doc/posix-functions/strstr.texi (strstr): Document the fix.
8452         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
8453         * modules/mountlist (Depends-on): Add strstr-simple.
8454         * modules/gen-uni-tables (Depends-on): Likewise.
8455         * modules/argz (Depends-on): Add strstr.
8456
8457 2009-06-17  Bruno Haible  <bruno@clisp.org>
8458
8459         * modules/posix_spawn-internal (Depends-on): Add errno.
8460
8461 2009-06-17  Bruno Haible  <bruno@clisp.org>
8462
8463         Define missing ESTALE on Interix 3.5.
8464         * lib/errno.in.h (ESTALE): Assign a value if missing.
8465         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
8466         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
8467         missing.
8468         * doc/posix-headers/errno.texi: Mention the Interix bug.
8469         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
8470
8471 2009-06-15  Eric Blake  <ebb9@byu.net>
8472
8473         memchr, memchr2: add valgrind exception
8474         * lib/memchr.valgrind: New file.
8475         * lib/memchr2.valgrind: New file.
8476         * modules/memchr (Files): Distribute valgrind file.
8477         * modules/memchr2 (Files): Likewise.
8478
8479         docs: memchr is no longer obsolete
8480         * MODULES.html.sh: Move memchr from obsolete to string.h section.
8481         * lib/string.in.h (memchr): Simplify logic.
8482
8483 2009-06-14  Jim Meyering  <meyering@redhat.com>
8484
8485         link-follow: fix the "checking..." message to not mention trailing slash
8486         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
8487         never considered trailing slashes.
8488
8489 2009-06-14  Bruno Haible  <bruno@clisp.org>
8490
8491         * m4/memchr.m4: Mention also the bug on IA-64.
8492         * doc/posix-functions/memchr.texi: Likewise.
8493
8494 2009-06-12  Eric Blake  <ebb9@byu.net>
8495
8496         memchr: detect broken x86_64 and alpha implementations
8497         * modules/memchr-tests (Depends-on): Move mmap detection...
8498         * modules/memchr (Depends-on): ...here.
8499         (configure.ac): Set indicator.
8500         * lib/string.in.h (memchr): Declare replacement.
8501         * modules/string (Makefile.am): Trigger replacement.
8502         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
8503         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
8504         bugs.
8505         * doc/posix-functions/memchr.texi (memchr): Document the bug.
8506         * modules/getpagesize (License): Relax license.
8507
8508 2009-06-11  Bruno Haible  <bruno@clisp.org>
8509
8510         * lib/idpriv.h: Add more references.
8511
8512 2009-06-08  Bruno Haible  <bruno@clisp.org>
8513
8514         Tests for module 'idpriv-droptemp'.
8515         * modules/idpriv-droptemp-tests: New file.
8516         * tests/test-idpriv-droptemp.sh: New file.
8517         * tests/test-idpriv-droptemp.su.sh: New file.
8518         * tests/test-idpriv-droptemp.c: New file.
8519
8520         New module 'idpriv-droptemp'.
8521         * lib/idpriv-droptemp.c: New file.
8522         * modules/idpriv-droptemp: New file.
8523
8524 2009-06-08  Bruno Haible  <bruno@clisp.org>
8525
8526         Tests for module 'idpriv-drop'.
8527         * modules/idpriv-drop-tests: New file.
8528         * tests/test-idpriv-drop.sh: New file.
8529         * tests/test-idpriv-drop.su.sh: New file.
8530         * tests/test-idpriv-drop.c: New file.
8531
8532         New module 'idpriv-drop'.
8533         * lib/idpriv.h: New file.
8534         * lib-idpriv-drop.c: New file.
8535         * m4/idpriv.m4: New file.
8536         * modules/idpriv-drop: New file.
8537
8538 2009-06-08  Bruno Haible  <bruno@clisp.org>
8539
8540         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
8541         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
8542         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
8543         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
8544         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
8545         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
8546         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
8547
8548 2009-06-08  Eric Blake  <ebb9@byu.net>
8549
8550         test-strstr: use memory fence, when possible
8551         * tests/test-strstr.c (main): Use memory fence, in order to be
8552         more likely to trigger Debian bug 521737.
8553         * modules/strstr-tests (Files): Pull in additional files.
8554
8555         memchr: no longer obsolete, for wider field testing
8556         * modules/memchr (Status, Notice): Delete, this module is no
8557         longer obsolete.
8558         * modules/vasnprintf (Depends-on): Add memchr.
8559
8560 2009-06-07  Jim Meyering  <meyering@redhat.com>
8561
8562         hash: declare some functions with the warn_unused_result attribute
8563         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
8564
8565 2009-06-07  Bruno Haible  <bruno@clisp.org>
8566
8567         * tests/test-alignof.c: Don't test int64_t if it does not exist.
8568         Reported by Eric Blake.
8569
8570 2009-06-06  Eric Blake  <ebb9@byu.net>
8571
8572         test-alignof: fix typo with long double
8573         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
8574         compiler error.
8575
8576 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
8577
8578         Escape non-texinfo { and }s.
8579         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
8580         markup error.
8581
8582 2009-06-04  Jim Meyering  <meyering@redhat.com>
8583
8584         gitlog-to-changelog: don't infloop on an empty commit log
8585         * build-aux/gitlog-to-changelog: Warn about an empty log message.
8586         Reported by Boris Petersen <transacid@centerim.org>.
8587
8588 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
8589
8590         version-etc: extend for packagers
8591         Add three new configure options, intended for packagers:
8592           --with-packager="packager name"
8593           --with-packager-version="packager-specific version"
8594           --with-packager-bug-reports="packager bug reporting"
8595         An example with coreutils:
8596           $ ./configure \
8597             --with-packager=Gentoo \
8598             --with-packager-bug-report=http://bugs.gentoo.org/ \
8599             --with-packager-version="patchset 1.6"
8600           $ ./src/ls --version | head -n3
8601           ls (GNU coreutils) 7.1-dirty
8602           Packaged by Gentoo (patchset 1.6)
8603           Copyright (C) 2009 Free Software Foundation, Inc.
8604         Note that the bug reporting info via --help doesn't show up because
8605         coreutils uses its own custom emit_bug_reporting_address() implementation
8606         in src/system.h.  If it didn't, it'd look like:
8607           $ ./src/ls --help | tail -n4
8608           Report bugs to <bug-coreutils@gnu.org>.
8609           Report Gentoo bugs to <http://bugs.gentoo.org/>.
8610           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
8611           General help using GNU software: <http://www.gnu.org/gethelp/>.
8612         * lib/version-etc.c: Print new information, if provided.
8613         * m4/version-etc.m4: New file.
8614         * modules/version-etc (Files): Add m4/version-etc.m4.
8615         (configure.ac): Add gl_VERSION_ETC.
8616
8617 2009-05-31  Bruno Haible  <bruno@clisp.org>
8618
8619         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
8620         and 'int64_t'.
8621         * modules/alignof-tests (Dependencies): Add stdint.
8622         Reported by Eric Blake.
8623
8624 2009-05-31  Bruno Haible  <bruno@clisp.org>
8625
8626         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
8627         restriction due to compiler bugs.
8628         Reported by Eric Blake.
8629
8630 2009-05-31  Simon Josefsson  <simon@josefsson.org>
8631             Bruno Haible  <bruno@clisp.org>
8632
8633         Fix test-alignof failure.
8634         * lib/alignof.h (alignof_slot): New macro.
8635         (alignof_type): New macro, with the same semantics as the previous
8636         'alignof'.
8637         (alignof): Alias to alignof_slot.
8638         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
8639         check that the results are usable as constant expressions.
8640
8641 2009-05-31  Bruno Haible  <bruno@clisp.org>
8642
8643         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
8644         * tests/test-memchr.c (main): Check that memchr does not read past the
8645         first occurrence of the byte.
8646         * tests/test-strstr.c (main): Update comment.
8647         Suggested by Eric Blake.
8648
8649 2009-05-30  Bruno Haible  <bruno@clisp.org>
8650
8651         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
8652         detail how to use dumpbin.
8653         Reported by David Byron <dbyron@dbyron.com>.
8654
8655 2009-06-02  Simon Josefsson  <simon@josefsson.org>
8656
8657         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
8658
8659 2009-06-02  Simon Josefsson  <simon@josefsson.org>
8660
8661         * m4/manywarnings.m4: Add GCC 4.4 warnings.
8662
8663 2009-05-28  Bruno Haible  <bruno@clisp.org>
8664
8665         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
8666         build-aux/ files.
8667
8668 2009-05-28  Simon Josefsson  <simon@josefsson.org>
8669
8670         * gnulib-tool (func_import): Transform license on build-aux/ files too.
8671
8672 2009-05-27  Simon Josefsson  <simon@josefsson.org>
8673
8674         * gnulib-tool (sed_transform_main_lib_file)
8675         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
8676         regexps.
8677
8678 2009-05-26  Simon Josefsson  <simon@josefsson.org>
8679
8680         * tests/test-strstr.c: Add another self-test.
8681         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
8682         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
8683
8684 2009-05-23  Bruno Haible  <bruno@clisp.org>
8685
8686         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
8687         change.
8688
8689 2009-05-21  Bruno Haible  <bruno@clisp.org>
8690
8691         Simplify use of mode_t varargs.
8692         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
8693         uses 'mode_t' or 'int'.
8694         * lib/openat.c (openat): Likewise.
8695         * lib/open-safer.c (open_safer): Likewise.
8696         * m4/mode_t.m4: New file.
8697         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
8698         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
8699         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
8700         * modules/open (Files): Add m4/mode_t.m4.
8701         * modules/openat (Files): Likewise.
8702         * modules/fcntl-safer (Files): Likewise.
8703         Suggested by Eric Blake.
8704
8705 2009-05-21  Pádraig Brady  <P@draigbrady.com>
8706
8707         * doc/glibc-functions/fallocate.texi: New file.
8708         * doc/gnulib.texi: Include it.
8709
8710 2009-05-21  Eric Blake  <ebb9@byu.net>
8711             Bruno Haible  <bruno@clisp.org>
8712
8713         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
8714         invocations.
8715         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
8716
8717 2009-05-21  Eric Blake  <ebb9@byu.net>
8718             Bruno Haible  <bruno@clisp.org>
8719
8720         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
8721         include_next. Fix of 2008-11-20 commit.
8722         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
8723         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
8724         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
8725         NEXT_MATH_H.
8726         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
8727         instead of NEXT_MATH_H.
8728
8729 2009-05-21  Bruno Haible  <bruno@clisp.org>
8730
8731         Avoid redefinition warnings for SIZE_MAX.
8732         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
8733         Reported by Simon Josefsson.
8734
8735 2009-05-21  Bruno Haible  <bruno@clisp.org>
8736
8737         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
8738         AC_CACHE_VAL.
8739
8740 2009-05-20  Bruno Haible  <bruno@clisp.org>
8741
8742         Make zeroptr.h work on mingw.
8743         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
8744         mprotect.
8745         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
8746         * modules/memchr2-tests (configure.ac): Likewise.
8747         * modules/memcmp-tests (configure.ac): Likewise.
8748         * modules/memmem-tests (configure.ac): Likewise.
8749         * modules/memrchr-tests (configure.ac): Likewise.
8750         Reported by Simon Josefsson.
8751
8752 2009-05-20  Simon Josefsson  <simon@josefsson.org>
8753
8754         * tests/test-glob.c: Include string.h for strcmp prototype.
8755
8756 2009-05-20  Simon Josefsson  <simon@josefsson.org>
8757
8758         * modules/getdelim (Depends-on): Add explicit stdint, although it
8759         was implicitly already pulled in via realloc-posix.
8760         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
8761
8762 2009-05-20  Simon Josefsson  <simon@josefsson.org>
8763
8764         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
8765         G. Christensen" <tgc@jupiterrise.com>.
8766         * m4/sys_socket_h.m4: Check for sa_family_t.
8767         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
8768         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
8769         * tests/test-sys_socket.c: Check that sa_family_t works.
8770
8771 2009-05-18  Eric Blake  <ebb9@byu.net>
8772
8773         maint.mk: allow gnulib_dir in VPATH build
8774         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
8775
8776 2009-05-15  Jim Meyering  <meyering@redhat.com>
8777
8778         maint.mk: Give gnulib_dir a default definition.
8779         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
8780         Thus, most packages no longer need to specify this variable in cfg.mk
8781
8782 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
8783
8784         rename.m4: fix typos that would make non-mingw cross-configure fail
8785         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
8786
8787 2009-05-13  Eric Blake  <ebb9@byu.net>
8788
8789         mmap-anon: avoid out-of-order autoconf expansion
8790         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
8791         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
8792         * modules/memchr-tests (Depends-on): Add extensions.
8793         * modules/memchr2-tests (Depends-on): Add extensions.
8794         * modules/memcmp-tests (Depends-on): Add extensions.
8795         * modules/memmem-tests (Depends-on): Add extensions.
8796         * modules/memrchr-tests (Depends-on): Add extensions.
8797
8798 2009-05-13  Bruno Haible  <bruno@clisp.org>
8799
8800         Make some tests ISO C 99 compliant.
8801         * tests/zerosize-ptr.h: New file.
8802         * tests/test-memchr.c: Include zerosize-ptr.h.
8803         (main): Use a zero-size object pointer instead of NULL.
8804         * tests/test-memchr2.c: Include zerosize-ptr.h.
8805         (main): Use a zero-size object pointer instead of NULL.
8806         * tests/test-memcmp.c: Include zerosize-ptr.h.
8807         (main): Use a zero-size object pointer instead of NULL.
8808         * tests/test-memmem.c: Include zerosize-ptr.h.
8809         (main): Use a zero-size object pointer instead of NULL.
8810         * tests/test-memrchr.c: Include zerosize-ptr.h.
8811         (main): Use a zero-size object pointer instead of NULL.
8812         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
8813         m4/mmap-anon.m4.
8814         (Depends-on): Add getpagesize.
8815         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
8816         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
8817         m4/mmap-anon.m4.
8818         (Depends-on): Add getpagesize.
8819         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
8820         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
8821         m4/mmap-anon.m4.
8822         (Depends-on): Add getpagesize.
8823         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
8824         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
8825         m4/mmap-anon.m4.
8826         (Depends-on): Add getpagesize.
8827         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
8828         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
8829         m4/mmap-anon.m4.
8830         (Depends-on): Add getpagesize.
8831         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
8832
8833 2009-05-12  Bruno Haible  <bruno@clisp.org>
8834
8835         Tests for module 'alignof'.
8836         * modules/alignof-tests: New file.
8837         * tests/test-alignof.c: New file.
8838
8839 2009-05-12  Bruno Haible  <bruno@clisp.org>
8840
8841         Fix alignof macro.
8842         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
8843         vendor compilers that are always correct.
8844
8845 2009-05-12  Bruno Haible  <bruno@clisp.org>
8846
8847         Make the MAP_ANONYMOUS detection work on HP-UX 11.
8848         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
8849         not whether its fully works.
8850
8851 2009-05-12  Bruno Haible  <bruno@clisp.org>
8852
8853         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
8854
8855 2009-05-12  Jim Meyering  <meyering@redhat.com>
8856
8857         * top/maint.mk: Adjust backslash alignment.
8858
8859 2009-05-11  Simon Josefsson  <simon@josefsson.org>
8860
8861         * top/maint.mk: Make $(srcdir)/build-aux configurable.
8862
8863 2009-05-11  Eric Blake  <ebb9@byu.net>
8864
8865         argp: avoid undefined behavior
8866         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
8867         macros.
8868
8869 2009-05-08  Simon Josefsson  <simon@josefsson.org>
8870
8871         * tests/test-vc-list-files-git.sh: Do git config of user.email and
8872         user.name to prevent git commit from complaining.
8873
8874 2009-05-10  Bruno Haible  <bruno@clisp.org>
8875
8876         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
8877         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
8878         it rewrites every file name only once.
8879         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
8880
8881 2009-05-08  Bruno Haible  <bruno@clisp.org>
8882
8883         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
8884         instead of 'max'.
8885
8886 2009-05-08  Simon Josefsson  <simon@josefsson.org>
8887
8888         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
8889         sockaddr_storage test.
8890
8891 2009-05-07  Simon Josefsson  <simon@josefsson.org>
8892
8893         * modules/sys_socket (Makefile.am): Substitute
8894         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
8895         * m4/sys_socket_h.m4: Check for sockaddr_storage.
8896         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
8897         * tests/test-sys_socket.c: Check sockaddr_storage.
8898
8899 2009-05-08  Bruno Haible  <bruno@clisp.org>
8900
8901         New module 'alignof'.
8902         * lib/alignof.h: New file.
8903         * modules/alignof: New file.
8904
8905 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
8906             Bruno Haible  <bruno@clisp.org>
8907
8908         Fix test-file-has-acl on FreeBSD.
8909         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
8910         mask is implicitly added.
8911         * tests/test-file-has-acl.c: Include <signal.h>.
8912         (main): Terminate the test after 5 seconds.
8913         * modules/acl-tests (configure.ac): Check for alarm function.
8914
8915 2009-05-04  Bruno Haible  <bruno@clisp.org>
8916
8917         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
8918         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
8919         * modules/errno (configure.ac): Drop AC_REQUIRE.
8920         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
8921         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
8922
8923 2009-05-04  Simon Josefsson  <simon@josefsson.org>
8924
8925         * modules/glob-tests: New module.
8926         * tests/test-glob.c: Add.
8927
8928 2009-05-04  Simon Josefsson  <simon@josefsson.org>
8929
8930         * modules/fnmatch-tests: New module.
8931         * tests/test-fnmatch.c: Add.
8932
8933 2009-05-04  Eric Blake  <ebb9@byu.net>
8934
8935         maint: make the new no-submodule-changes rule VPATH-safe
8936         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
8937
8938 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
8939             Bruno Haible  <bruno@clisp.org>
8940
8941         acl: Fix infinite loop on FreeBSD.
8942         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
8943         of return value from acl_get_entry.
8944         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
8945         Likewise.
8946
8947 2009-05-03  Bruno Haible  <bruno@clisp.org>
8948
8949         * lib/acl-internal.h (acl_entries): Clarify return value.
8950         * lib/acl_entries.c (acl_entries): Likewise.
8951
8952 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
8953
8954         Bug fix in acl module.
8955         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
8956
8957 2009-05-03  Bruno Haible  <bruno@clisp.org>
8958
8959         Create gperf-generated file in the source dir, not in the build dir.
8960         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
8961         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
8962         * modules/unicase/locale-language (unicase/locale-languages.h):
8963         Likewise.
8964         * modules/unicase/special-casing (unicase/special-casing-table.h):
8965         Likewise.
8966         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
8967         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
8968         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
8969         Reported by Ralf Wildenhues.
8970
8971 2009-05-03  Bruno Haible  <bruno@clisp.org>
8972
8973         * modules/fnmatch (Description, configure.ac): Taken from
8974         fnmatch-posix.
8975         * modules/fnmatch-posix: Turn into a symbolic reference to the
8976         'fnmatch' module, and deprecate.
8977         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
8978
8979 2009-05-03  Bruno Haible  <bruno@clisp.org>
8980
8981         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
8982         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
8983         Reported by Ralf Wildenhues.
8984
8985 2009-05-04  Simon Josefsson  <simon@josefsson.org>
8986
8987         * m4/fnmatch.m4: Fix fnmatch re-define.
8988
8989 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
8990
8991         priv-set: new module and tests; adapt write-any-file
8992         * lib/priv-set.c: New file.
8993         * lib/priv-set.h: New file.
8994         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
8995         * lib/write-any-file.c: Simplify by using priv-set module.
8996         * m4/priv-set.m4: New file.
8997         * modules/priv-set: New file.
8998         * modules/unlinkdir: Add dependency on priv-set module.
8999         * modules/write-any-file: Likewise.
9000
9001         Tests for module 'priv-set'.
9002         * modules/priv-set-tests: New file.
9003         * tests/test-priv-set.c: New file.
9004
9005 2009-05-03  Jim Meyering  <meyering@redhat.com>
9006             Bruno Haible  <bruno@clisp.org>
9007
9008         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
9009         use the converted UTF-8 variant of the name instead.
9010
9011 2009-05-03  Jim Meyering  <meyering@redhat.com>
9012
9013         tests: tighten some getdate tests
9014         * tests/test-getdate.c (main): Tighten tests: require equality,
9015         not just greater than.  Set TZ envvar to UTC0.
9016
9017 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
9018
9019         getdate: correctly interpret "next monday" when run on a Monday
9020         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
9021         that e.g., "next tues" (when run on a tuesday) results in a date
9022         that is one week in the future, and not today's date.
9023         I.e., add a week when the wday is the same as the current one.
9024         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
9025         and earlier by Martin Bernreuther and Jan Minář.
9026         * tests/test-getdate.c (main): Check that "next DAY" is always in
9027         the future and that "last DAY" is always in the past.
9028
9029 2009-05-02  Jim Meyering  <meyering@redhat.com>
9030
9031         build: ensure that a release build fails when a submodule is unclean
9032         * top/maint.mk (no-submodule-changes): New rule.
9033         (alpha beta major): Depend on it.
9034
9035 2009-05-02  Bruno Haible  <bruno@clisp.org>
9036
9037         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
9038         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
9039         shell variable gl_fnmatch_required to detect which variant is
9040         requested.
9041         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
9042         gl_FUNC_FNMATCH_POSIX.
9043         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
9044         exclude fnmatch-posix.
9045
9046 2009-05-02  Bruno Haible  <bruno@clisp.org>
9047
9048         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
9049         * modules/mbsrtowcs (License): Change to LGPLv2+.
9050         * modules/strnlen1 (License): Likewise.
9051         Reported by Simon Josefsson.
9052
9053 2009-05-02  Bruno Haible  <bruno@clisp.org>
9054
9055         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
9056         "cross".
9057         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
9058         gnulib-tool was called with option --source-base=lib.
9059
9060 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9061
9062         Use automake *-local hooks without commands, for extensibility.
9063         * modules/localcharset (Makefile.am): Rename install-exec-local
9064         rule to install-exec-localcharset, and make it a prerequisite of
9065         install-exec-local.  Likewise, rename the uninstall-local rule to
9066         uninstall-localcharset, and make it a prerequisite of the former.
9067
9068 2009-05-01  Bruno Haible  <bruno@clisp.org>
9069
9070         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
9071         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
9072         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
9073         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
9074         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
9075         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
9076         m4/locale-zh.m4, m4/codeset.m4.
9077
9078         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
9079         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
9080         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
9081         m4/locale-zh.m4.
9082
9083         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
9084         REPLACE_WCRTOMB if mbstate_t must be replaced.
9085         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
9086         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
9087
9088 2009-05-01  Bruno Haible  <bruno@clisp.org>
9089
9090         Avoid compiler warnings when redefining macros defined by <libintl.h>.
9091         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
9092         dngettext, dcngettext, textdomain, bindtextdomain,
9093         bind_textdomain_codeset): Undefine before redefining.
9094
9095 2009-04-30  Bruno Haible  <bruno@clisp.org>
9096
9097         Fix bug introduced on 2009-04-25.
9098         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
9099         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
9100         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
9101         is defined.
9102         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
9103         is defined.
9104         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
9105         is defined.
9106         Reported by Elbert_Pol <elbert.pol@gmail.com>.
9107
9108 2009-04-28  Bruno Haible  <bruno@clisp.org>
9109
9110         Comment tweaks.
9111         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
9112         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
9113         * lib/unicase.h (u*_casexfrm): Likewise.
9114         Reported by Paolo Bonzini.
9115
9116 2009-04-28  Bruno Haible  <bruno@clisp.org>
9117
9118         Fix a compilation error.
9119         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
9120         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
9121         Reported by Jim Meyering.
9122
9123 2009-04-27  Bruno Haible  <bruno@clisp.org>
9124
9125         New module 'libunistring'.
9126         * modules/libunistring: New file.
9127         * m4/libunistring.m4: New file.
9128         * MODULES.html.sh (Unicode string functions): Add it.
9129
9130 2009-04-27  Eric Blake  <ebb9@byu.net>
9131
9132         maint.mk: allow package-specific header to provide <config.h>
9133         * top/maint.mk (sc_require_config_h): New variable.
9134         (sc_require_config_h, sc_require_config_h_first): Use it.
9135
9136 2009-04-27  Simon Josefsson  <simon@josefsson.org>
9137
9138         * top/maint.mk (sc_avoid_if_before_free): Except
9139         useless-if-before-free script.
9140
9141 2009-04-27  Eric Blake  <ebb9@byu.net>
9142
9143         maintainer-makefile: depend on all required helper scripts
9144         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
9145         useless-if-before-free.
9146         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
9147         version, rather than assuming gnulib checkout is available.
9148         Reported by Simen Josefsson.
9149
9150 2009-04-26  Bruno Haible  <bruno@clisp.org>
9151
9152         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
9153         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
9154         "../" or "..".
9155
9156 2009-04-26  Bruno Haible  <bruno@clisp.org>
9157
9158         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
9159         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
9160         AC_LIB_HAVE_LINKFLAGS.
9161
9162 2009-04-26  Bruno Haible  <bruno@clisp.org>
9163
9164         Simplify calling convention of u*_conv_from_encoding.
9165         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
9166         u32_conv_from_encoding): Expect a resultbuf argument and return the
9167         result directly as a pointer.
9168         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
9169         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
9170         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
9171         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
9172         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
9173         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
9174         Update.
9175         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
9176         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
9177         * lib/vasnprintf.c (VASNPRINTF): Update.
9178         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
9179         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
9180         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
9181         * NEWS: Mention the change.
9182
9183 2009-04-26  Bruno Haible  <bruno@clisp.org>
9184
9185         Simplify calling convention of u*_conv_to_encoding.
9186         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
9187         u32_conv_to_encoding): Expect a resultbuf argument and return the
9188         result directly as a pointer.
9189         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
9190         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
9191         freeing scaled_offsets if mem_iconveha failed.
9192         * lib/unicase/u-casexfrm.h (FUNC): Update.
9193         * lib/uninorm/u-normxfrm.h (FUNC): Update.
9194         * lib/vasnprintf.c (VASNPRINTF): Update.
9195         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
9196         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
9197         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
9198         * NEWS: Mention the change.
9199
9200 2009-04-26  Bruno Haible  <bruno@clisp.org>
9201
9202         Avoid test failures on AIX and OSF/1.
9203         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
9204         malloc(0).
9205         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
9206         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
9207         Likewise.
9208         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
9209         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
9210         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
9211         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
9212         * doc/posix-functions/malloc.texi: Document the portability problem
9213         related to malloc(0).
9214
9215 2009-04-26  Bruno Haible  <bruno@clisp.org>
9216
9217         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
9218         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
9219         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
9220
9221 2009-04-25  Bruno Haible  <bruno@clisp.org>
9222
9223         Avoid link error when creating a namespace clean library.
9224         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
9225         as macro with arguments if already defined as an alias.
9226         * lib/signbitf.c (gl_signbitf): Don't undefine.
9227         * lib/signbitd.c (gl_signbitd): Don't undefine.
9228         * lib/signbitl.c (gl_signbitl): Don't undefine.
9229
9230 2009-04-25  Jim Meyering  <meyering@redhat.com>
9231
9232         vc-list-files: fix another quoting bug
9233         * build-aux/vc-list-files: Avoid sed backslash expansion
9234         of pathological directory names.
9235
9236 2009-04-25  Eric Blake  <ebb9@byu.net>
9237
9238         vc-list-files: fix shell quoting error
9239         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
9240         timestamp.
9241
9242 2009-04-25  Jim Meyering  <meyering@redhat.com>
9243
9244         vc-list-files: restore lost functionality with subdir argument
9245         * build-aux/vc-list-files: When given a non-"." sub-directory
9246         argument, substitute the $dir/ prefix back onto each resulting name.
9247         Otherwise, coreutils' root_tests check would fail.
9248
9249 2009-04-24  Eric Blake  <ebb9@byu.net>
9250
9251         vc-list-files: ignore git symlinks
9252         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
9253         than ls-files, to ignore git symlinks.
9254
9255         maint.mk: import improvements from m4
9256         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
9257         (move_if_change): Delete unused macro.
9258         (news-date-check, vc-diff-check): Support VPATH builds.
9259         (announcement): Likewise.  Split --bootstrap-tools list...
9260         (boostrap-tools): ...into separate list, which can be overridden
9261         in cfg.mk.
9262         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
9263         requiring dependency on useless-if-before-free module.
9264         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
9265         Support VPATH builds.
9266
9267 2009-04-24  Jim Meyering  <meyering@redhat.com>
9268
9269         maint.mk: remove coreutils-specific rules and variables
9270         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
9271         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
9272         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
9273
9274         maint.mk: remove obsolete rule
9275         * top/maint.mk (rel-check): Remove rule.
9276         (WGET, WGETFLAGS): Remove now-unused variables.
9277
9278 2009-04-24  Simon Josefsson  <simon@josefsson.org>
9279
9280         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
9281         consistency.
9282
9283         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
9284         '$(PATH_SEPARATOR)' instead of ':'.
9285
9286 2009-04-24  Simon Josefsson  <simon@josefsson.org>
9287
9288         * lib/getopt1.c (main): Use 'const' for static array.
9289
9290 2009-04-24  Simon Josefsson  <simon@josefsson.org>
9291
9292         * top/maint.mk: Sync with coreutils.
9293         * NEWS: Explain incompatibilities.
9294
9295 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
9296             Bruno Haible  <bruno@clisp.org>
9297
9298         Fix cross-compilation results.
9299         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
9300         statement, as third argument of AC_TRY_RUN.
9301         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
9302         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
9303         Likewise.
9304         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
9305         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
9306         Likewise.
9307         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
9308         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
9309         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
9310
9311 2009-04-20  Bruno Haible  <bruno@clisp.org>
9312
9313         Avoid test failure on mingw.
9314         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
9315
9316 2009-04-20  Bruno Haible  <bruno@clisp.org>
9317
9318         Avoid compilation error on mingw.
9319         * modules/localename-tests (Depends-on): Add locale.
9320
9321 2009-04-19  Bruno Haible  <bruno@clisp.org>
9322
9323         Support for building a shared library on Windows platforms.
9324         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
9325         (main): Test the presence of UNINORM_NFC here.
9326         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
9327         (main): Test the presence of UNINORM_NFD here.
9328         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
9329         (main): Test the presence of UNINORM_NFKC here.
9330         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
9331         (main): Test the presence of UNINORM_NFKD here.
9332
9333 2009-04-19  Bruno Haible  <bruno@clisp.org>
9334
9335         Avoid a compiler warning.
9336         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
9337         Change type of variable 'sequence'.
9338
9339 2009-04-19  Bruno Haible  <bruno@clisp.org>
9340
9341         * modules/configmake (Makefile.am): When the contents of configmake.h
9342         does not change, arrange to preserve its modification time.
9343
9344 2009-04-17  Simon Josefsson  <simon@josefsson.org>
9345
9346         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
9347         gettext domain.
9348
9349 2009-04-16  Jim Meyering  <meyering@redhat.com>
9350
9351         useless-if-before-free: improve conversion code
9352         * build-aux/useless-if-before-free: Adjust code-in-comment to match
9353         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
9354
9355 2009-04-14  Bruno Haible  <bruno@clisp.org>
9356
9357         * modules/fcntl (Depends-on): Add extensions.
9358         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
9359
9360 2009-04-12  Ben Pfaff  <blp@gnu.org>
9361
9362         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
9363         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
9364
9365 2009-03-20  Ben Pfaff  <blp@gnu.org>
9366
9367         Make rename replace existing destinations on Windows.
9368         * m4/rename.m4: Add test for Mingw.
9369         * lib/rename.c: Add rename replacement that uses MoveFileEx with
9370         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
9371         * doc/posix-functions/rename.texi: Document.
9372
9373 2009-04-10  Bruno Haible  <bruno@clisp.org>
9374
9375         New include file "iconveh.h".
9376         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
9377         * lib/striconveh.h: Include it.
9378         (enum iconv_ilseq_handler): Remove definition.
9379         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
9380         striconveh.h.
9381         * lib/striconveha.c: Include striconveh.h.
9382         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
9383         * modules/striconveh (Files): Add lib/iconveh.h.
9384         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
9385         lib/striconveh.h.
9386
9387 2009-04-10  Bruno Haible  <bruno@clisp.org>
9388
9389         * lib/uniconv.h: Update comment.
9390
9391 2009-04-10  Bruno Haible  <bruno@clisp.org>
9392
9393         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
9394         always.
9395         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
9396         * lib/unistr/u16-mbtouc-aux.c: Likewise.
9397         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
9398         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
9399         "unistring-notinline.h", so that the function gets defined always.
9400         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
9401         * lib/unistr/u8-uctomb.c: Likewise.
9402         * lib/unistr/u16-mbtouc.c: Likewise.
9403         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
9404         * lib/unistr/u16-uctomb.c: Likewise.
9405         * lib/unistr/u32-mbtouc.c: Likewise.
9406         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
9407         * lib/unistr/u32-uctomb.c: Likewise.
9408
9409 2009-04-10  Bruno Haible  <bruno@clisp.org>
9410
9411         Mark 'utime' obsolete.
9412         * modules/utime (Status, Notice): New sections.
9413         Suggested by Jim Meyering.
9414
9415         Fix cross-compile guess for utime test.
9416         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
9417         autoconf.
9418         * doc/posix-functions/utime.texi: Give more precisions.
9419         Reported by Jan <ipif@ymail.com>.
9420
9421 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
9422
9423         filevercmp: correct today's change
9424         * lib/filevercmp.c: Also handle coreutils' test inputs.
9425         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
9426
9427         Fix regression in 'filevercmp' module. Thanks Sven Joachim
9428         for reporting it.
9429         * lib/filevercmp.c: Special handle for "", "." and "..".
9430         * tests/test-filevercmp.c: Enlarge the set suite.
9431
9432 2009-04-07  Jim Meyering  <meyering@redhat.com>
9433
9434         useless-if-before-free: show how to remove braced useless free, too
9435         * build-aux/useless-if-before-free: still only in a comment, though.
9436
9437 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
9438
9439         maint.mk: import changes to syntax-check macros from coreutils
9440         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
9441         Use them in the relevant macros.
9442
9443 2009-04-06  Bruno Haible  <bruno@clisp.org>
9444
9445         Fix unportable use of bit-fields.
9446         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
9447         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
9448         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
9449
9450 2009-04-06  Bruno Haible  <bruno@clisp.org>
9451
9452         Avoid test failures on AIX and OSF/1.
9453         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
9454         that malloc(0) = NULL.
9455         * tests/unicase/test-u8-tolower.c (check): Likewise.
9456         * tests/unicase/test-u8-totitle.c (check): Likewise.
9457         * tests/unicase/test-u8-toupper.c (check): Likewise.
9458         * tests/unicase/test-u16-casefold.c (check): Likewise.
9459         * tests/unicase/test-u16-tolower.c (check): Likewise.
9460         * tests/unicase/test-u16-totitle.c (check): Likewise.
9461         * tests/unicase/test-u16-toupper.c (check): Likewise.
9462         * tests/unicase/test-u32-casefold.c (check): Likewise.
9463         * tests/unicase/test-u32-tolower.c (check): Likewise.
9464         * tests/unicase/test-u32-totitle.c (check): Likewise.
9465         * tests/unicase/test-u32-toupper.c (check): Likewise.
9466         * tests/uninorm/test-u8-nfc.c (check): Likewise.
9467         * tests/uninorm/test-u8-nfd.c (check): Likewise.
9468         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
9469         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
9470         * tests/uninorm/test-u16-nfc.c (check): Likewise.
9471         * tests/uninorm/test-u16-nfd.c (check): Likewise.
9472         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
9473         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
9474         * tests/uninorm/test-u32-nfc.c (check): Likewise.
9475         * tests/uninorm/test-u32-nfd.c (check): Likewise.
9476         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
9477         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
9478
9479 2009-04-05  Bruno Haible  <bruno@clisp.org>
9480
9481         Work around an autoconf limitation.
9482         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
9483         comment line if it would be longer than 3 KB.
9484
9485 2009-04-05  Bruno Haible  <bruno@clisp.org>
9486
9487         Avoid test failure with libiconv-1.13.
9488         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
9489         of the expected test results.
9490
9491 2009-04-05  Bruno Haible  <bruno@clisp.org>
9492
9493         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
9494         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
9495         that it should be installed.
9496
9497 2009-04-05  Bruno Haible  <bruno@clisp.org>
9498
9499         * gnulib-tool: New option --copy-file.
9500         (func_usage): Document it.
9501         (func_dest_tmpfilename): Moved out of func_import.
9502         (func_add_file, func_update_file): New functions, extracted from
9503         func_import.
9504         (func_import): Update.
9505
9506 2009-04-05  Karl Berry  <karl@gnu.org>
9507
9508         * README: prominently mention gnulib-tool.
9509         Rearrange sections so getting the code is near the top.
9510
9511 2009-04-05  Bruno Haible  <bruno@clisp.org>
9512
9513         * lib/unicase.h: Mention u*_cmp2.
9514         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
9515         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
9516         * lib/unicase/ulc-casecmp.c: Likewise.
9517         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
9518         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
9519         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
9520         unistr/u8-cmp.
9521         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
9522         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
9523         unistr/u16-cmp.
9524         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
9525         unistr/u32-cmp.
9526
9527         * lib/uninorm.h: Mention u*_cmp2.
9528         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
9529         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
9530         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
9531         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
9532         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
9533         unistr/u8-cmp.
9534         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
9535         unistr/u16-cmp.
9536         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
9537         unistr/u32-cmp.
9538
9539         New module 'unistr/u32-cmp2'.
9540         * lib/unistr/u32-cmp2.c: New file.
9541         * modules/unistr/u32-cmp2: New file.
9542
9543         New module 'unistr/u16-cmp2'.
9544         * lib/unistr/u16-cmp2.c: New file.
9545         * modules/unistr/u16-cmp2: New file.
9546
9547         New module 'unistr/u8-cmp2'.
9548         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
9549         * lib/unistr/u8-cmp2.c: New file.
9550         * lib/unistr/u-cmp2.h: New file.
9551         * modules/unistr/u8-cmp2: New file.
9552
9553 2009-04-05  Bruno Haible  <bruno@clisp.org>
9554
9555         * lib/unictype.h (uc_property_is_valid): New macro.
9556         * tests/unictype/test-pr_byname.c (main): Use it.
9557
9558         * lib/unistr.h: Doc fixes.
9559         * lib/uniconv.h: Doc fixes.
9560         * lib/unictype.h: Doc fixes.
9561
9562 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
9563
9564         Port coreutils 7.2 to Solaris 8.
9565
9566         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
9567         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
9568         for Solaris 8.  This is a bit of a hack, as it means it's the
9569         caller's responsibility to add -lnsl if needed, but most likely it
9570         won't be needed since only getaddrinfo uses this and getaddrinfo
9571         isn't needed on Solaris 8.
9572
9573         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
9574         problem to Solaris 8 encountered with coreutils 7.2, which
9575         resulted in a message "fnmatch.c:292: warning: passing argument 4
9576         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
9577         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
9578
9579 2009-04-03  Simon Josefsson  <simon@josefsson.org>
9580
9581         * m4/ld-version-script.m4: Add FIXME comment.
9582
9583 2009-04-02  Simon Josefsson  <simon@josefsson.org>
9584
9585         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
9586         SOVERSION variable.
9587
9588 2009-04-02  Bruno Haible  <bruno@clisp.org>
9589
9590         * Makefile (info, html, dvi, pdf): Combine the rules.
9591         Suggested by Jim Meyering.
9592
9593 2009-04-01  Bruno Haible  <bruno@clisp.org>
9594
9595         * Makefile (info, html, dvi, pdf): New targets.
9596         Reported by Reuben Thomas <rrt@sc3d.org>.
9597
9598 2009-04-01  Bruno Haible  <bruno@clisp.org>
9599
9600         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
9601         can be put into PATH.
9602         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
9603
9604 2009-04-01  Bruno Haible  <bruno@clisp.org>
9605
9606         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
9607
9608 2009-04-01  Bruno Haible  <bruno@clisp.org>
9609
9610         Rename module 'visibility'.
9611         * modules/lib-symbol-visibility: Renamed from modules/visibility.
9612         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
9613         * doc/gnulib.texi: Update.
9614         * MODULES.html.sh (Misc): Update.
9615         * NEWS: Mention the change.
9616
9617 2009-04-01  Simon Josefsson  <simon@josefsson.org>
9618
9619         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
9620         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
9621         Eric Blake <ebb9@byu.net> for review.
9622         * MODULES.html.sh: Add lib-msvc-compat.
9623         * doc/gnulib.texi: Link to new section.
9624         * m4/ld-output-def.m4: New file.
9625         * doc/ld-output-def.texi: New file.
9626
9627 2009-04-01  Simon Josefsson  <simon@josefsson.org>
9628
9629         Rename ld-version-script to lib-symbol-versions.  Suggested by
9630         Bruno Haible <bruno@clisp.org>.
9631         * modules/ld-version-script: Renamed to lib-symbol-versions.
9632         * doc/ld-version-script.texi: Fix module name.
9633         * MODULES.html.sh: Add lib-symbol-versions.
9634
9635 2009-03-31  Simon Josefsson  <simon@josefsson.org>
9636
9637         * modules/u64-tests: New file.
9638         * tests/test-u64.c: New file.
9639
9640 2009-03-04  Simon Josefsson  <simon@josefsson.org>
9641
9642         * MODULES.html.sh: Mention u64.
9643         * modules/u64: New module.
9644         * modules/crypto/sha512: Depend on u64 module instead of providing
9645         u64.h.
9646
9647 2009-03-27  Eric Blake  <ebb9@byu.net>
9648
9649         test-strerror: make debugging EAI_SYSTEM easier
9650         * modules/getaddrinfo-tests (Depends-on): Add strerror.
9651         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
9652         failure was EAI_SYSTEM.
9653
9654 2009-03-25  Bruno Haible  <bruno@clisp.org>
9655
9656         Fix a problem with --enable-relocatable on Solaris 7.
9657         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
9658         since 2008-02-24.
9659
9660 2009-03-25  Eric Blake  <ebb9@byu.net>
9661
9662         test-sockets: avoid gcc warning
9663         * tests/test-sockets.c (main): Silence compiler warning.
9664
9665 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
9666
9667         New modules nproc, pthread, contributed by Glen Lenker.
9668
9669         * MODULES.html.sh: Add pthread, nproc.
9670         * lib/nproc.c: New file.
9671         * lib/nproc.h: New file.
9672         * lib/pthread.in.h: New file.
9673         * m4/pthread.m4: New file.
9674         * modules/nproc: New file.
9675         * modules/pthread: New file.
9676
9677 2009-03-24  Simon Josefsson  <simon@josefsson.org>
9678
9679         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
9680         New variable.
9681
9682 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
9683
9684         filevercmp: handle simple~ and numbered.~3~ backup suffixes
9685         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
9686         * tests/test-filevercmp.c: Add tests for backup suffixes.
9687
9688 2009-03-24  Simon Josefsson  <simon@josefsson.org>
9689
9690         * modules/stdlib (Depends-on): Add stdint, needed when defining
9691         struct random_data on, for example, HP-UX 10.20.  Reported by
9692         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
9693
9694 2009-03-24  Simon Josefsson  <simon@josefsson.org>
9695
9696         * lib/readline.c (readline): Call fflush on stdout after printing
9697         prompt.
9698
9699 2009-03-20  Bruno Haible  <bruno@clisp.org>
9700
9701         Remove dependency from 'close' module to -lws2_32 on native Windows.
9702         * lib/close-hook.h: New file.
9703         * lib/close-hook.c: New file.
9704         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
9705         w32sock.h.
9706         (_gl_close_fd_maybe_socket): Remove function.
9707         (rpl_close): Invoke execute_all_close_hooks instead of
9708         _gl_close_fd_maybe_socket.
9709         * lib/sockets.c: Include close-hook.h, w32sock.h.
9710         (close_fd_maybe_socket): New function, essentially from lib/close.c.
9711         (close_sockets_hook): New variable.
9712         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
9713         (gl_sockets_cleanup): Unregister it.
9714         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
9715         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
9716         * modules/close-hook: New file.
9717         * modules/close (Files): Remove lib/w32sock.h.
9718         (Depends-on): Add close-hook.
9719         (Link): Remove section.
9720         * modules/sockets (Files): Add lib/w32sock.h.
9721         (Depends-on): Add close-hook.
9722         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
9723         invocation.
9724         * NEWS: Mention that LIB_CLOSE is gone.
9725
9726 2009-03-23  Eric Blake  <ebb9@byu.net>
9727
9728         signal-tests: test previous patch
9729         * tests/test-signal.c: New file.
9730         * modules/signal-tests: Likewise.
9731
9732         signal.h: always support 'volatile sig_atomic_t'
9733         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
9734         (gl_SIGNAL_H_DEFAULTS): Add a default.
9735         * modules/signal (Makefile.am): Substitute if needed.
9736         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
9737         users can blindly add volatile.
9738         * doc/posix-headers/signal.texi (signal.h): Document it.
9739         Reported by Matthew Woehlke.
9740
9741 2009-03-23  Jim Meyering  <meyering@redhat.com>
9742
9743         pathmax: PATH_MAX: use pathconf only when available
9744         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
9745         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
9746         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
9747         This avoids a link failure in a PSP cross-compilation environment
9748         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
9749
9750         * lib/vasnprintf.c (divide): Fix typo in comment.
9751
9752 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9753
9754         * gnulib-tool (func_filter_filelist): Fix comment.
9755
9756 2009-03-20  Bruno Haible  <bruno@clisp.org>
9757
9758         Make sockets.h self-contained.
9759         * lib/sockets.c: Include sockets.h first.
9760         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
9761
9762 2009-03-19  Eric Blake  <ebb9@byu.net>
9763
9764         doc: mention more functions added in cygwin 1.7.0
9765         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
9766         addition.
9767         * doc/posix-functions/log2f.texi: Likewise.
9768
9769 2009-03-19  Jim Meyering  <meyering@redhat.com>
9770
9771         fsusage: avoid syntax error due to statement-before-declaration
9772         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
9773         after all declarations.  Reported by Matthew Woehlke in
9774         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
9775
9776 2009-03-18  Eric Blake  <ebb9@byu.net>
9777
9778         build-aux/compile: sync from automake
9779         * build-aux/compile: New file, from automake.
9780         * config/srclist.txt: Mention build-aux/compile.
9781
9782 2009-03-17  Bruno Haible  <bruno@clisp.org>
9783
9784         * lib/git-merge-changelog.c: Fix typo in comment.
9785         Reported by Reuben Thomas <rrt@sc3d.org>.
9786
9787 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
9788
9789         * m4/regex.m4: update and improve help for
9790         --without-included-regex.
9791
9792 2009-03-17  Simon Josefsson  <simon@josefsson.org>
9793
9794         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
9795         failure on missing include files.
9796
9797 2009-03-17  Eric Blake  <ebb9@byu.net>
9798
9799         doc: mention more functions added in cygwin 1.7.0
9800         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
9801         addition.
9802         * doc/posix-functions/fwscanf.texi: Likewise.
9803         * doc/posix-functions/swprintf.texi: Likewise.
9804         * doc/posix-functions/swscanf.texi: Likewise.
9805         * doc/posix-functions/vfwprintf.texi: Likewise.
9806         * doc/posix-functions/vfwscanf.texi: Likewise.
9807         * doc/posix-functions/vswprintf.texi: Likewise.
9808         * doc/posix-functions/vswscanf.texi: Likewise.
9809         * doc/posix-functions/vwprintf.texi: Likewise.
9810         * doc/posix-functions/vwscanf.texi: Likewise.
9811         * doc/posix-functions/wcscasecmp.texi: Likewise.
9812         * doc/posix-functions/wcsdup.texi: Likewise.
9813         * doc/posix-functions/wcsftime.texi: Likewise.
9814         * doc/posix-functions/wcsncasecmp.texi: Likewise.
9815         * doc/posix-functions/wprintf.texi: Likewise.
9816         * doc/posix-functions/wscanf.texi: Likewise.
9817         * doc/glibc-functions/gethostbyname2.texi: Likewise.
9818
9819 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9820
9821         maint.mk: really add $(AM_MAKEFLAGS)
9822         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
9823         was inadvertently omitted in the last commit.
9824         Spotted by Bruno Haible.
9825
9826         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
9827         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
9828         $(AM_MAKEFLAGS)' rather than plain `make'.
9829
9830         gnulib-tool: execute $MAKE not make
9831         * gnulib-tool: Default $MAKE to 'make'.
9832         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
9833         than make.  Initialize $MAKE in the do-autobuild script.
9834
9835         gnulib-tool: use $MAKE not make in generated files
9836         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
9837         make, in generated files.  Initialize $MAKE in the do-autobuild
9838         script.
9839
9840         * top/GNUmakefile (_have-git-version-gen): Fix typo.
9841
9842         GNUmakefile: disable parallelism only for multiple, recursive targets
9843         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
9844         additions in the Makefile.
9845         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
9846         by Automake.
9847         (.NOTPARALLEL): Only disable parallel builds if multiple targets
9848         are listed on the command line and at least one of them is
9849         listed in $(ALL_RECURSIVE_TARGETS).
9850
9851 2009-03-14  Bruno Haible  <bruno@clisp.org>
9852
9853         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
9854         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
9855         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
9856         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
9857         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
9858         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
9859         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
9860         unistr/u8-uctomb.
9861         * modules/unistr/u8-strchr (Depends-on): Likewise.
9862         * modules/unistr/u8-strrchr (Depends-on): Likewise.
9863         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
9864         unistr/u16-uctomb.
9865         * modules/unistr/u16-strchr (Depends-on): Likewise.
9866         * modules/unistr/u16-strrchr (Depends-on): Likewise.
9867
9868 2009-03-12  Bruno Haible  <bruno@clisp.org>
9869
9870         Work around select() bug on Interix 3.5.
9871         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
9872         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
9873         * m4/select.m4: New file.
9874         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
9875         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
9876         * modules/select (Files): Add m4/select.m4.
9877         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
9878         * modules/nanosleep (Depends-on): Add select.
9879         * modules/poll (Depends-on): Likewise.
9880         * doc/posix-functions/select.texi: Mention the Interix bug.
9881         Reported by Markus Duft <mduft@gentoo.org>.
9882
9883         * lib/select.c: Renamed from lib/winsock-select.c.
9884         * modules/select (Files): Add lib/select.c, remove
9885         lib/winsock-select.c.
9886         (configure.ac): Update.
9887
9888 2009-03-12  Jim Meyering  <meyering@redhat.com>
9889
9890         avoid gcc warnings about unused macro definitions
9891         * lib/readtokens.c (STREQ): Remove unused definition.
9892         * lib/xmalloc.c (SIZE_MAX): Likewise.
9893         * lib/openat-die.c (N_): Likewise.
9894         * lib/mountlist.c (SIZE_MAX): Remove definition.
9895         Instead, include <stdint.h>.
9896         * lib/readutmp.c: Likewise.
9897         * modules/readutmp (Depends-on): Add stdint.
9898         * modules/mountlist (Depends-on): Add stdint.
9899         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
9900
9901 2009-03-10  Bruno Haible  <bruno@clisp.org>
9902
9903         Tests for module 'mbmemcasecoll'.
9904         * modules/mbmemcasecoll-tests: New file.
9905         * tests/test-mbmemcasecoll1.sh: New file.
9906         * tests/test-mbmemcasecoll2.sh: New file.
9907         * tests/test-mbmemcasecoll3.sh: New file.
9908         * tests/test-mbmemcasecoll.c: New file.
9909
9910         New module 'mbmemcasecoll'.
9911         * lib/mbmemcasecoll.h: New file.
9912         * lib/mbmemcasecoll.c: New file.
9913         * modules/mbmemcasecoll: New file.
9914
9915         * tests/test-mbmemcasecmp.h: New file, extracted from
9916         tests/test-mbmemcasecmp.c.
9917         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
9918         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
9919         (main): Update.
9920         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
9921
9922 2009-03-09  Bruno Haible  <bruno@clisp.org>
9923
9924         Tests for module 'mbmemcasecmp'.
9925         * modules/mbmemcasecmp-tests: New file.
9926         * tests/test-mbmemcasecmp1.sh: New file.
9927         * tests/test-mbmemcasecmp2.sh: New file.
9928         * tests/test-mbmemcasecmp3.sh: New file.
9929         * tests/test-mbmemcasecmp.c: New file.
9930
9931         New module 'mbmemcasecmp'.
9932         * lib/mbmemcasecmp.h: New file.
9933         * lib/mbmemcasecmp.c: New file.
9934         * modules/mbmemcasecmp: New file.
9935
9936 2009-03-09  Bruno Haible  <bruno@clisp.org>
9937
9938         Tests for module 'unicase/ulc-casecoll'.
9939         * modules/unicase/ulc-casecoll-tests: New file.
9940         * tests/unicase/test-ulc-casecoll1.sh: New file.
9941         * tests/unicase/test-ulc-casecoll2.sh: New file.
9942         * tests/unicase/test-ulc-casecoll.c: New file.
9943
9944         New module 'unicase/ulc-casecoll'.
9945         * lib/unicase.h (ulc_casecoll): New declaration.
9946         * lib/unicase/ulc-casecoll.c: New file.
9947         * modules/unicase/ulc-casecoll: New file.
9948
9949         New module 'unicase/ulc-casexfrm'.
9950         * lib/unicase.h (ulc_casexfrm): New declaration.
9951         * lib/unicase/ulc-casexfrm.c: New file.
9952         * modules/unicase/ulc-casexfrm: New file.
9953
9954 2009-03-09  Bruno Haible  <bruno@clisp.org>
9955
9956         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
9957         invocations.
9958
9959         * m4/mbscasecmp.m4: Remove file.
9960         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
9961         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
9962
9963         * m4/mbscasestr.m4: Remove file.
9964         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
9965         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
9966
9967         * m4/mbschr.m4: Remove file.
9968         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
9969         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
9970
9971         * m4/mbscspn.m4: Remove file.
9972         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
9973         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
9974
9975         * m4/mbslen.m4: Remove file.
9976         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
9977         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
9978
9979         * m4/mbsncasecmp.m4: Remove file.
9980         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
9981         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
9982
9983         * m4/mbsnlen.m4: Remove file.
9984         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
9985         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
9986
9987         * m4/mbspbrk.m4: Remove file.
9988         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
9989         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
9990
9991         * m4/mbspcasecmp.m4: Remove file.
9992         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
9993         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
9994
9995         * m4/mbsrchr.m4: Remove file.
9996         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
9997         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
9998
9999         * m4/mbssep.m4: Remove file.
10000         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
10001         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
10002
10003         * m4/mbsspn.m4: Remove file.
10004         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
10005         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
10006
10007         * m4/mbsstr.m4: Remove file.
10008         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
10009         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
10010
10011         * m4/mbstok_r.m4: Remove file.
10012         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
10013         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
10014
10015         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
10016
10017         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
10018         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
10019
10020         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
10021
10022 2009-03-08  Bruno Haible  <bruno@clisp.org>
10023
10024         Tests for module 'unicase/ulc-casecmp'.
10025         * modules/unicase/ulc-casecmp-tests: New file.
10026         * tests/unicase/test-ulc-casecmp1.sh: New file.
10027         * tests/unicase/test-ulc-casecmp2.sh: New file.
10028         * tests/unicase/test-ulc-casecmp.c: New file.
10029
10030         New module 'unicase/ulc-casecmp'.
10031         * lib/unicase.h (ulc_casecmp): New declaration.
10032         * lib/unicase/ulc-casecmp.c: New file.
10033         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
10034         'const SRC_UNIT *'.
10035         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
10036         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
10037         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
10038         * modules/unicase/ulc-casecmp: New file.
10039
10040         Tests for module 'unicase/u32-is-cased'.
10041         * modules/unicase/u32-is-cased-tests: New file.
10042         * tests/unicase/test-u32-is-cased.c: New file.
10043
10044         Tests for module 'unicase/u16-is-cased'.
10045         * modules/unicase/u16-is-cased-tests: New file.
10046         * tests/unicase/test-u16-is-cased.c: New file.
10047
10048         Tests for module 'unicase/u8-is-cased'.
10049         * modules/unicase/u8-is-cased-tests: New file.
10050         * tests/unicase/test-u8-is-cased.c: New file.
10051         * tests/unicase/test-is-cased.h: New file.
10052
10053         New module 'unicase/u32-is-cased'.
10054         * lib/unicase/u32-is-cased.c: New file.
10055         * modules/unicase/u32-is-cased: New file.
10056
10057         New module 'unicase/u16-is-cased'.
10058         * lib/unicase/u16-is-cased.c: New file.
10059         * modules/unicase/u16-is-cased: New file.
10060
10061         New module 'unicase/u8-is-cased'.
10062         * lib/unicase/u8-is-cased.c: New file.
10063         * lib/unicase/u-is-cased.h: New file.
10064         * modules/unicase/u8-is-cased: New file.
10065
10066         Tests for module 'unicase/u32-is-casefolded'.
10067         * modules/unicase/u32-is-casefolded-tests: New file.
10068         * tests/unicase/test-u32-is-casefolded.c: New file.
10069
10070         Tests for module 'unicase/u16-is-casefolded'.
10071         * modules/unicase/u16-is-casefolded-tests: New file.
10072         * tests/unicase/test-u16-is-casefolded.c: New file.
10073
10074         Tests for module 'unicase/u8-is-casefolded'.
10075         * modules/unicase/u8-is-casefolded-tests: New file.
10076         * tests/unicase/test-u8-is-casefolded.c: New file.
10077         * tests/unicase/test-is-casefolded.h: New file.
10078
10079         New module 'unicase/u32-is-casefolded'.
10080         * lib/unicase/u32-is-casefolded.c: New file.
10081         * modules/unicase/u32-is-casefolded: New file.
10082
10083         New module 'unicase/u16-is-casefolded'.
10084         * lib/unicase/u16-is-casefolded.c: New file.
10085         * modules/unicase/u16-is-casefolded: New file.
10086
10087         New module 'unicase/u8-is-casefolded'.
10088         * lib/unicase/u8-is-casefolded.c: New file.
10089         * modules/unicase/u8-is-casefolded: New file.
10090
10091         Tests for module 'unicase/u32-is-titlecase'.
10092         * modules/unicase/u32-is-titlecase-tests: New file.
10093         * tests/unicase/test-u32-is-titlecase.c: New file.
10094
10095         Tests for module 'unicase/u16-is-titlecase'.
10096         * modules/unicase/u16-is-titlecase-tests: New file.
10097         * tests/unicase/test-u16-is-titlecase.c: New file.
10098
10099         Tests for module 'unicase/u8-is-titlecase'.
10100         * modules/unicase/u8-is-titlecase-tests: New file.
10101         * tests/unicase/test-u8-is-titlecase.c: New file.
10102         * tests/unicase/test-is-titlecase.h: New file.
10103
10104         New module 'unicase/u32-is-titlecase'.
10105         * lib/unicase/u32-is-titlecase.c: New file.
10106         * modules/unicase/u32-is-titlecase: New file.
10107
10108         New module 'unicase/u16-is-titlecase'.
10109         * lib/unicase/u16-is-titlecase.c: New file.
10110         * modules/unicase/u16-is-titlecase: New file.
10111
10112         New module 'unicase/u8-is-titlecase'.
10113         * lib/unicase/u8-is-titlecase.c: New file.
10114         * modules/unicase/u8-is-titlecase: New file.
10115
10116         Tests for module 'unicase/u32-is-lowercase'.
10117         * modules/unicase/u32-is-lowercase-tests: New file.
10118         * tests/unicase/test-u32-is-lowercase.c: New file.
10119
10120         Tests for module 'unicase/u16-is-lowercase'.
10121         * modules/unicase/u16-is-lowercase-tests: New file.
10122         * tests/unicase/test-u16-is-lowercase.c: New file.
10123
10124         Tests for module 'unicase/u8-is-lowercase'.
10125         * modules/unicase/u8-is-lowercase-tests: New file.
10126         * tests/unicase/test-u8-is-lowercase.c: New file.
10127         * tests/unicase/test-is-lowercase.h: New file.
10128
10129         New module 'unicase/u32-is-lowercase'.
10130         * lib/unicase/u32-is-lowercase.c: New file.
10131         * modules/unicase/u32-is-lowercase: New file.
10132
10133         New module 'unicase/u16-is-lowercase'.
10134         * lib/unicase/u16-is-lowercase.c: New file.
10135         * modules/unicase/u16-is-lowercase: New file.
10136
10137         New module 'unicase/u8-is-lowercase'.
10138         * lib/unicase/u8-is-lowercase.c: New file.
10139         * modules/unicase/u8-is-lowercase: New file.
10140
10141         Tests for module 'unicase/u32-is-uppercase'.
10142         * modules/unicase/u32-is-uppercase-tests: New file.
10143         * tests/unicase/test-u32-is-uppercase.c: New file.
10144
10145         Tests for module 'unicase/u16-is-uppercase'.
10146         * modules/unicase/u16-is-uppercase-tests: New file.
10147         * tests/unicase/test-u16-is-uppercase.c: New file.
10148
10149         Tests for module 'unicase/u8-is-uppercase'.
10150         * modules/unicase/u8-is-uppercase-tests: New file.
10151         * tests/unicase/test-u8-is-uppercase.c: New file.
10152         * tests/unicase/test-is-uppercase.h: New file.
10153
10154         New module 'unicase/u32-is-uppercase'.
10155         * lib/unicase/u32-is-uppercase.c: New file.
10156         * modules/unicase/u32-is-uppercase: New file.
10157
10158         New module 'unicase/u16-is-uppercase'.
10159         * lib/unicase/u16-is-uppercase.c: New file.
10160         * modules/unicase/u16-is-uppercase: New file.
10161
10162         New module 'unicase/u8-is-uppercase'.
10163         * lib/unicase/u8-is-uppercase.c: New file.
10164         * modules/unicase/u8-is-uppercase: New file.
10165
10166         New module 'unicase/u32-is-invariant'.
10167         * lib/unicase/u32-is-invariant.c: New file.
10168         * modules/unicase/u32-is-invariant: New file.
10169
10170         New module 'unicase/u16-is-invariant'.
10171         * lib/unicase/u16-is-invariant.c: New file.
10172         * modules/unicase/u16-is-invariant: New file.
10173
10174         New module 'unicase/u8-is-invariant'.
10175         * lib/unicase/u8-is-invariant.c: New file.
10176         * lib/unicase/invariant.h: New file.
10177         * lib/unicase/u-is-invariant.h: New file.
10178         * modules/unicase/u8-is-invariant: New file.
10179
10180         Tests for module 'unicase/u32-casecoll'.
10181         * modules/unicase/u32-casecoll-tests: New file.
10182         * tests/unicase/test-u32-casecoll.c: New file.
10183
10184         Tests for module 'unicase/u16-casecoll'.
10185         * modules/unicase/u16-casecoll-tests: New file.
10186         * tests/unicase/test-u16-casecoll.c: New file.
10187
10188         Tests for module 'unicase/u8-casecoll'.
10189         * modules/unicase/u8-casecoll-tests: New file.
10190         * tests/unicase/test-u8-casecoll.c: New file.
10191
10192         New module 'unicase/u32-casecoll'.
10193         * lib/unicase/u32-casecoll.c: New file.
10194         * modules/unicase/u32-casecoll: New file.
10195
10196         New module 'unicase/u16-casecoll'.
10197         * lib/unicase/u16-casecoll.c: New file.
10198         * modules/unicase/u16-casecoll: New file.
10199
10200         New module 'unicase/u8-casecoll'.
10201         * lib/unicase/u8-casecoll.c: New file.
10202         * lib/unicase/u-casecoll.h: New file.
10203         * modules/unicase/u8-casecoll: New file.
10204
10205         New module 'unicase/u32-casexfrm'.
10206         * lib/unicase/u32-casexfrm.c: New file.
10207         * modules/unicase/u32-casexfrm: New file.
10208
10209         New module 'unicase/u16-casexfrm'.
10210         * lib/unicase/u16-casexfrm.c: New file.
10211         * modules/unicase/u16-casexfrm: New file.
10212
10213         New module 'unicase/u8-casexfrm'.
10214         * lib/unicase/u8-casexfrm.c: New file.
10215         * lib/unicase/u-casexfrm.h: New file.
10216         * modules/unicase/u8-casexfrm: New file.
10217
10218         Tests for module 'unicase/u32-casecmp'.
10219         * modules/unicase/u32-casecmp-tests: New file.
10220         * tests/unicase/test-u32-casecmp.c: New file.
10221
10222         Tests for module 'unicase/u16-casecmp'.
10223         * modules/unicase/u16-casecmp-tests: New file.
10224         * tests/unicase/test-u16-casecmp.c: New file.
10225
10226         Tests for module 'unicase/u8-casecmp'.
10227         * modules/unicase/u8-casecmp-tests: New file.
10228         * tests/unicase/test-u8-casecmp.c: New file.
10229         * tests/unicase/test-casecmp.h: New file.
10230
10231         New module 'unicase/u32-casecmp'.
10232         * lib/unicase/u32-casecmp.c: New file.
10233         * modules/unicase/u32-casecmp: New file.
10234
10235         New module 'unicase/u16-casecmp'.
10236         * lib/unicase/u16-casecmp.c: New file.
10237         * modules/unicase/u16-casecmp: New file.
10238
10239         New module 'unicase/u8-casecmp'.
10240         * lib/unicase/u8-casecmp.c: New file.
10241         * lib/unicase/u-casecmp.h: New file.
10242         * modules/unicase/u8-casecmp: New file.
10243
10244         Tests for module 'unicase/u32-casefold'.
10245         * modules/unicase/u32-casefold-tests: New file.
10246         * tests/unicase/test-u32-casefold.c: New file.
10247
10248         Tests for module 'unicase/u16-casefold'.
10249         * modules/unicase/u16-casefold-tests: New file.
10250         * tests/unicase/test-u16-casefold.c: New file.
10251
10252         Tests for module 'unicase/u8-casefold'.
10253         * modules/unicase/u8-casefold-tests: New file.
10254         * tests/unicase/test-u8-casefold.c: New file.
10255
10256         New module 'unicase/u32-casefold'.
10257         * lib/unicase/u32-casefold.c: New file.
10258         * modules/unicase/u32-casefold: New file.
10259
10260         New module 'unicase/u16-casefold'.
10261         * lib/unicase/u16-casefold.c: New file.
10262         * modules/unicase/u16-casefold: New file.
10263
10264         New module 'unicase/u8-casefold'.
10265         * lib/unicase/u8-casefold.c: New file.
10266         * lib/unicase/u-casefold.h: New file.
10267         * modules/unicase/u8-casefold: New file.
10268
10269         New module 'unicase/tocasefold'.
10270         * lib/unicase/casefold.h: New file.
10271         * lib/unicase/tocasefold.c: New file.
10272         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
10273         * modules/unicase/tocasefold: New file.
10274
10275         Tests for module 'unicase/u32-totitle'.
10276         * modules/unicase/u32-totitle-tests: New file.
10277         * tests/unicase/test-u32-totitle.c: New file.
10278
10279         Tests for module 'unicase/u16-totitle'.
10280         * modules/unicase/u16-totitle-tests: New file.
10281         * tests/unicase/test-u16-totitle.c: New file.
10282
10283         Tests for module 'unicase/u8-totitle'.
10284         * modules/unicase/u8-totitle-tests: New file.
10285         * tests/unicase/test-u8-totitle.c: New file.
10286
10287         New module 'unicase/u32-totitle'.
10288         * lib/unicase/u32-totitle.c: New file.
10289         * modules/unicase/u32-totitle: New file.
10290
10291         New module 'unicase/u16-totitle'.
10292         * lib/unicase/u16-totitle.c: New file.
10293         * modules/unicase/u16-totitle: New file.
10294
10295         New module 'unicase/u8-totitle'.
10296         * lib/unicase/u8-totitle.c: New file.
10297         * lib/unicase/u-totitle.h: New file.
10298         * modules/unicase/u8-totitle: New file.
10299
10300         Tests for module 'unicase/u32-tolower'.
10301         * modules/unicase/u32-tolower-tests: New file.
10302         * tests/unicase/test-u32-tolower.c: New file.
10303
10304         Tests for module 'unicase/u16-tolower'.
10305         * modules/unicase/u16-tolower-tests: New file.
10306         * tests/unicase/test-u16-tolower.c: New file.
10307
10308         Tests for module 'unicase/u8-tolower'.
10309         * modules/unicase/u8-tolower-tests: New file.
10310         * tests/unicase/test-u8-tolower.c: New file.
10311
10312         New module 'unicase/u32-tolower'.
10313         * lib/unicase/u32-tolower.c: New file.
10314         * modules/unicase/u32-tolower: New file.
10315
10316         New module 'unicase/u16-tolower'.
10317         * lib/unicase/u16-tolower.c: New file.
10318         * modules/unicase/u16-tolower: New file.
10319
10320         New module 'unicase/u8-tolower'.
10321         * lib/unicase/u8-tolower.c: New file.
10322         * modules/unicase/u8-tolower: New file.
10323
10324         Tests for module 'unicase/u32-toupper'.
10325         * modules/unicase/u32-toupper-tests: New file.
10326         * tests/unicase/test-u32-toupper.c: New file.
10327
10328         Tests for module 'unicase/u16-toupper'.
10329         * modules/unicase/u16-toupper-tests: New file.
10330         * tests/unicase/test-u16-toupper.c: New file.
10331
10332         Tests for module 'unicase/u8-toupper'.
10333         * modules/unicase/u8-toupper-tests: New file.
10334         * tests/unicase/test-u8-toupper.c: New file.
10335
10336         New module 'unicase/u32-toupper'.
10337         * lib/unicase/u32-toupper.c: New file.
10338         * modules/unicase/u32-toupper: New file.
10339
10340         New module 'unicase/u16-toupper'.
10341         * lib/unicase/u16-toupper.c: New file.
10342         * modules/unicase/u16-toupper: New file.
10343
10344         New module 'unicase/u8-toupper'.
10345         * lib/unicase/u8-toupper.c: New file.
10346         * modules/unicase/u8-toupper: New file.
10347
10348         New module 'unicase/u32-casemap'.
10349         * lib/unicase/u32-casemap.c: New file.
10350         * modules/unicase/u32-casemap: New file.
10351
10352         New module 'unicase/u16-casemap'.
10353         * lib/unicase/u16-casemap.c: New file.
10354         * modules/unicase/u16-casemap: New file.
10355
10356         New module 'unicase/u8-casemap'.
10357         * lib/unicase/unicasemap.h: New file.
10358         * lib/unicase/u8-casemap.c: New file.
10359         * lib/unicase/u-casemap.h: New file.
10360         * modules/unicase/u8-casemap: New file.
10361
10362         New module 'unicase/special-casing'.
10363         * lib/unicase/special-casing.h: New file.
10364         * lib/unicase/special-casing.c: New file.
10365         * lib/unicase/special-casing-table.gperf: New file, generated by
10366         gen-uni-tables.c.
10367         * modules/unicase/special-casing: New file.
10368
10369         Tests for module 'unicase/locale-language'.
10370         * modules/unicase/locale-language-tests: New file.
10371         * tests/unicase/test-locale-language.sh: New file.
10372         * tests/unicase/test-locale-language.c: New file.
10373
10374         New module 'unicase/locale-language'.
10375         * lib/unicase/locale-language.c: New file.
10376         * lib/unicase/locale-languages.gperf: New file.
10377         * modules/unicase/locale-language: New file.
10378
10379         Generate more tables for case conversion and case folding.
10380         * lib/gen-uni-tables.c (SCC_*): New enum items.
10381         (struct special_casing_rule): New type.
10382         (casing_rules, num_casing_rules, allocated_casing_rules): New
10383         variables.
10384         (add_casing_rule, fill_casing_rules): New functions.
10385         (struct casefold_rule): New type.
10386         (casefolding_rules, num_casefolding_rules,
10387         allocated_casefolding_rules): New variables.
10388         (fill_casefolding_rules): New function.
10389         (unicode_casefold): New variable.
10390         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
10391         sort_casing_rules, output_casing_rules): New functions.
10392         (main): Accept to more arguments: SpecialCasing.txt and
10393         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
10394         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
10395         Output mapping for casefolding.
10396
10397         * lib/unicase.h: Include stdbool.h, uninorm.h.
10398         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
10399         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
10400         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
10401         arguments.
10402         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
10403         resultp arguments.
10404         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
10405         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
10406         resultp arguments.
10407         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
10408         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
10409         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
10410         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
10411         declarations.
10412         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
10413
10414 2009-03-08  Bruno Haible  <bruno@clisp.org>
10415
10416         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
10417         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
10418         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
10419         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
10420
10421 2009-03-07  Bruno Haible  <bruno@clisp.org>
10422
10423         Adjust u*_normcmp, u*_normcoll API.
10424         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
10425         u16_normcoll, u32_normcoll): Change failure conventions.
10426         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
10427         errno and return -1.
10428         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
10429
10430 2009-03-07  Bruno Haible  <bruno@clisp.org>
10431
10432         Tests for module 'uninorm/u32-normcoll'.
10433         * modules/uninorm/u32-normcoll-tests: New file.
10434         * tests/uninorm/test-u32-normcoll.c: New file.
10435
10436         Tests for module 'uninorm/u16-normcoll'.
10437         * modules/uninorm/u16-normcoll-tests: New file.
10438         * tests/uninorm/test-u16-normcoll.c: New file.
10439
10440         Tests for module 'uninorm/u8-normcoll'.
10441         * modules/uninorm/u8-normcoll-tests: New file.
10442         * tests/uninorm/test-u8-normcoll.c: New file.
10443
10444 2009-03-07  Bruno Haible  <bruno@clisp.org>
10445
10446         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
10447         tests/uninorm/test-u32-normcmp.c.
10448         * tests/uninorm/test-u32-normcmp.c: Include it.
10449         (test_nonascii): New function, extracted from main. Add some more
10450         tests.
10451         (main): Invoke test_ascii and test_nonascii.
10452         * modules/uninorm/u32-normcmp-tests (Files): Add
10453         tests/uninorm/test-u32-normcmp.h.
10454         (Depends-on): Remove uninorm/u32-normcmp.
10455
10456         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
10457         tests/uninorm/test-u16-normcmp.c.
10458         * tests/uninorm/test-u16-normcmp.c: Include it.
10459         (test_nonascii): New function, extracted from main. Add some more
10460         tests.
10461         (main): Invoke test_ascii and test_nonascii.
10462         * modules/uninorm/u16-normcmp-tests (Files): Add
10463         tests/uninorm/test-u16-normcmp.h.
10464         (Depends-on): Remove uninorm/u16-normcmp.
10465
10466         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
10467         tests/uninorm/test-u8-normcmp.c.
10468         * tests/uninorm/test-u8-normcmp.c: Include it.
10469         (test_nonascii): New function, extracted from main. Add some more
10470         tests.
10471         (main): Invoke test_ascii and test_nonascii.
10472         * modules/uninorm/u8-normcmp-tests (Files): Add
10473         tests/uninorm/test-u8-normcmp.h.
10474         (Depends-on): Remove uninorm/u8-normcmp.
10475
10476 2009-03-07  Bruno Haible  <bruno@clisp.org>
10477
10478         New module 'uninorm/u32-normcoll'.
10479         * lib/uninorm/u32-normcoll.c: New file.
10480         * modules/uninorm/u32-normcoll: New file.
10481
10482         New module 'uninorm/u16-normcoll'.
10483         * lib/uninorm/u16-normcoll.c: New file.
10484         * modules/uninorm/u16-normcoll: New file.
10485
10486         New module 'uninorm/u8-normcoll'.
10487         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
10488         declarations.
10489         * lib/uninorm/u8-normcoll.c: New file.
10490         * lib/uninorm/u-normcoll.h: New file.
10491         * modules/uninorm/u8-normcoll: New file.
10492
10493         New module 'uninorm/u32-normxfrm'.
10494         * lib/uninorm/u32-normxfrm.c: New file.
10495         * modules/uninorm/u32-normxfrm: New file.
10496
10497         New module 'uninorm/u16-normxfrm'.
10498         * lib/uninorm/u16-normxfrm.c: New file.
10499         * modules/uninorm/u16-normxfrm: New file.
10500
10501         New module 'uninorm/u8-normxfrm'.
10502         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
10503         declarations.
10504         * lib/uninorm/u8-normxfrm.c: New file.
10505         * lib/uninorm/u-normxfrm.h: New file.
10506         * modules/uninorm/u8-normxfrm: New file.
10507
10508 2009-03-07  Bruno Haible  <bruno@clisp.org>
10509
10510         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
10511         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
10512         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
10513
10514 2009-03-07  Bruno Haible  <bruno@clisp.org>
10515
10516         New module 'memxfrm'.
10517         * lib/memxfrm.h: New file.
10518         * lib/memxfrm.c: New file.
10519         * modules/memxfrm: New file.
10520
10521 2009-03-07  Bruno Haible  <bruno@clisp.org>
10522
10523         New module 'memcmp2'.
10524         * lib/memcmp2.h: New file.
10525         * lib/memcmp2.c: New file.
10526         * modules/memcmp2: New file.
10527
10528 2009-03-07  Bruno Haible  <bruno@clisp.org>
10529
10530         Tests for module 'uninorm/decomposing-form'.
10531         * modules/uninorm/decomposing-form-tests: New file.
10532         * tests/uninorm/test-decomposing-form.c: New file.
10533
10534         New module 'uninorm/decomposing-form'.
10535         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
10536         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
10537         Add 'decomposing_variant' field.
10538         * lib/uninorm/decomposing-form.c: New file.
10539         * lib/uninorm/nfc.c (uninorm_nfc): Update.
10540         * lib/uninorm/nfd.c (uninorm_nfd): Update.
10541         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
10542         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
10543         * modules/uninorm/decomposing-form: New file.
10544         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
10545         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
10546
10547 2009-03-07  Bruno Haible  <bruno@clisp.org>
10548
10549         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
10550         strings.
10551
10552 2009-03-06  Bruno Haible  <bruno@clisp.org>
10553
10554         Tests for module 'uninorm/u32-normcmp'.
10555         * tests/uninorm/test-u32-normcmp.c: New file.
10556         * modules/uninorm/u32-normcmp-tests: New file.
10557
10558         Tests for module 'uninorm/u16-normcmp'.
10559         * tests/uninorm/test-u16-normcmp.c: New file.
10560         * modules/uninorm/u16-normcmp-tests: New file.
10561
10562         Tests for module 'uninorm/u8-normcmp'.
10563         * tests/uninorm/test-u8-normcmp.c: New file.
10564         * modules/uninorm/u8-normcmp-tests: New file.
10565
10566         New module 'uninorm/u32-normcmp'.
10567         * lib/uninorm/u32-normcmp.c: New file.
10568         * modules/uninorm/u32-normcmp: New file.
10569
10570         New module 'uninorm/u16-normcmp'.
10571         * lib/uninorm/u16-normcmp.c: New file.
10572         * modules/uninorm/u16-normcmp: New file.
10573
10574         New module 'uninorm/u8-normcmp'.
10575         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
10576         declarations.
10577         * lib/uninorm/u8-normcmp.c: New file.
10578         * lib/uninorm/u-normcmp.h: New file.
10579         * modules/uninorm/u8-normcmp: New file.
10580
10581 2009-03-06  Bruno Haible  <bruno@clisp.org>
10582
10583         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
10584         Reported by Eric Blake.
10585
10586 2009-03-06  Eric Blake  <ebb9@byu.net>
10587             Bruno Haible  <bruno@clisp.org>
10588
10589         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
10590         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
10591         condition.
10592         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
10593         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
10594         condition.
10595         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
10596
10597 2009-03-06  Eric Blake  <ebb9@byu.net>
10598
10599         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
10600         to avoid compiler warnings.
10601         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
10602
10603 2009-03-05  Bruno Haible  <bruno@clisp.org>
10604
10605         * tests/test-ftell.c (main): Disable test beyond end of file on
10606         FreeMiNT.
10607         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
10608
10609 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
10610
10611         * lib/filevercmp.c: Move hidden files up in ordering.
10612         * tests/test-filevercmp.c: Add tests for hidden files.
10613
10614 2009-03-04  Bruno Haible  <bruno@clisp.org>
10615
10616         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
10617         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
10618         AM_CFLAGS.
10619         Reported by Simon Josefsson.
10620
10621 2009-03-03  Bruno Haible  <bruno@clisp.org>
10622
10623         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
10624         Reported by Simon Josefsson.
10625
10626         * doc/ld-version-script.texi: Update node reference.
10627
10628 2009-03-03  Bruno Haible  <bruno@clisp.org>
10629
10630         * modules/visibility (License): Change to 'unlimited'.
10631         Suggested by Simon Josefsson.
10632
10633 2009-03-03  Jim Meyering  <meyering@redhat.com>
10634
10635         unlinkdir: cannot_unlink_dir may modify process state
10636         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
10637         it's neither thread-safe nor appropriate for use in a library.
10638
10639 2009-03-03  Eric Blake  <ebb9@byu.net>
10640
10641         test-closein: silence test under Darwin
10642         * tests/test-closein.sh: Ignore stderr from cat, since we don't
10643         care if it dies from EPIPE or EBADF.
10644
10645 2009-03-03  Bruno Haible  <bruno@clisp.org>
10646
10647         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
10648         earlier.
10649         * doc/visibility.texi: Fix @node and @section.
10650
10651 2009-03-03  Simon Josefsson  <simon@josefsson.org>
10652
10653         * doc/gnulib.texi: Link to sections for ld version script and
10654         visibility.
10655         * doc/visibility.texi: Add @node and @section.
10656         * modules/ld-version-script: New module.
10657         * m4/ld-version-script.m4: New file.
10658         * doc/ld-version-script.texi: New file.
10659
10660 2009-03-02  David Lutterkort  <lutter@redhat.com>
10661
10662         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
10663         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10664
10665 2009-03-02  Bruno Haible  <bruno@clisp.org>
10666
10667         * doc/visibility.texi: Mention libtool's -export-symbols option.
10668
10669 2009-03-02  Jim Meyering  <meyering@redhat.com>
10670
10671         announce-gen: new option: --no-print-checksums
10672         * build-aux/announce-gen (usage): Describe it.
10673         (print_checksums): Print a newline here, not in the [*] footnote.
10674         (main): Honor it.
10675
10676 2009-03-01  Bruno Haible  <bruno@clisp.org>
10677
10678         Use socklen_t in the native Windows replacements prototypes.
10679         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
10680         instead of 'int'.
10681         * lib/getsockopt.c (rpl_getsockopt): Likewise.
10682         * lib/setsockopt.c (rpl_setsockopt): Likewise.
10683         * modules/getsockopt (Depends-on): Add socklen.
10684         * modules/setsockopt (Depends-on): Add socklen.
10685
10686 2009-03-01  Bruno Haible  <bruno@clisp.org>
10687
10688         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
10689         least 4.2.
10690
10691 2009-03-01  Eric Blake  <ebb9@byu.net>
10692             Bruno Haible  <bruno@clisp.org>
10693
10694         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
10695         error messages.
10696         * lib/wait-process.c (wait_subprocess): Omit error message about
10697         deadly signal sent to the child of termsigp != NULL.
10698
10699 2009-03-01  Eric Blake  <ebb9@byu.net>
10700
10701         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
10702
10703 2009-03-01  Bruno Haible  <bruno@clisp.org>
10704
10705         Avoid a gcc warning.
10706         * tests/test-sched.c (b): Make global.
10707         Reported by Eric Blake.
10708
10709 2009-01-19  Martin Lambers  <marlam@marlam.de>
10710
10711         Provide POSIX semantics for socket timeout options on W32.
10712         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
10713         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
10714         * modules/setsockopt: Depend on sys_time module for struct timeval.
10715         * modules/getsockopt: Depend on sys_time module for struct timeval.
10716
10717 2009-03-01  Simon Josefsson  <simon@josefsson.org>
10718
10719         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
10720         __USE_GNU, for consistency with netdb.in.h.
10721         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
10722
10723 2009-03-01  Bruno Haible  <bruno@clisp.org>
10724
10725         More support for FreeMiNT.
10726         * lib/fseeko.c (rpl_fseeko): Complete last commit.
10727         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
10728
10729 2009-03-01  Bruno Haible  <bruno@clisp.org>
10730
10731         More support for FreeMiNT.
10732         * lib/fpurge.c (fpurge): Correct last commit.
10733         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
10734
10735 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10736
10737         Fix unportable awk script in vc-list-files.
10738         * build-aux/vc-list-files: In the replacement awk script, use
10739         substr with a second argument of 1, not zero.
10740         Report by Simon Josefsson.
10741
10742 2009-02-28  Bruno Haible  <bruno@clisp.org>
10743
10744         More support for FreeMiNT.
10745         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
10746         to FreeMiNT today.
10747         * lib/fwriting.c (fwriting): Likewise.
10748         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
10749
10750 2009-02-28  Bruno Haible  <bruno@clisp.org>
10751
10752         * tests/test-freadseek.c (main): Disable test beyond end of file on
10753         FreeMiNT.
10754         * tests/test-ftello.c (main): Likewise.
10755         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
10756
10757 2009-02-28  Bruno Haible  <bruno@clisp.org>
10758
10759         Add tentative support for FreeMiNT.
10760         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
10761         * lib/fpurge.c (fpurge): Likewise.
10762         * lib/freadable.c (freadable): Likewise.
10763         * lib/freading.c (freading): Likewise.
10764         * lib/freadptr.c (freadptr): Likewise.
10765         * lib/freadseek.c (freadptrinc): Likewise.
10766         * lib/fseeko.c (rpl_fseeko): Likewise.
10767         * lib/fseterr.c (fseterr): Likewise.
10768         * lib/fwritable.c (fwritable): Likewise.
10769         * lib/fwriting.c (fwriting): Likewise.
10770         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
10771         Hourihane.
10772         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
10773
10774 2009-02-28  Bruno Haible  <bruno@clisp.org>
10775
10776         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
10777         SIGCHLD.
10778         Reported by Jim Meyering.
10779
10780 2009-02-28  Bruno Haible  <bruno@clisp.org>
10781
10782         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
10783         Mention the results of these tests on various platforms.
10784         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
10785         order.
10786         * doc/posix-functions/printf.texi: Likewise.
10787         * doc/posix-functions/snprintf.texi: Likewise.
10788         * doc/posix-functions/sprintf.texi: Likewise.
10789         * doc/posix-functions/vfprintf.texi: Likewise.
10790         * doc/posix-functions/vprintf.texi: Likewise.
10791         * doc/posix-functions/vsnprintf.texi: Likewise.
10792         * doc/posix-functions/vsprintf.texi: Likewise.
10793         * doc/glibc-functions/obstack_printf.texi: Likewise.
10794         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
10795
10796 2009-02-28  Bruno Haible  <bruno@clisp.org>
10797
10798         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
10799         Reported by Loïc Minier <lool@dooz.org>.
10800
10801 2009-02-27  Bruno Haible  <bruno@clisp.org>
10802
10803         * gnulib-tool (func_import): Make the sed expression used to create the
10804         sed script for updating the .gitignore file POSIX compliant.
10805         Reported by Eric Blake.
10806
10807 2009-02-27  Bruno Haible  <bruno@clisp.org>
10808
10809         * gnulib-tool (sed): Don't alias as "sed --posix".
10810         Reported by Eric Blake.
10811
10812 2009-02-27  Bruno Haible  <bruno@clisp.org>
10813
10814         Avoid test link errors.
10815         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
10816         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
10817         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
10818         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
10819         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10820
10821 2009-02-27  Bruno Haible  <bruno@clisp.org>
10822
10823         Avoid spurious "(cached)" in configure output.
10824         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
10825         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
10826         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
10827         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
10828         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
10829         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
10830         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
10831         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
10832         Reported by Eric Blake.
10833
10834 2009-02-27  Eric Blake  <ebb9@byu.net>
10835
10836         printf: fix regression in previous patch
10837         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
10838
10839 2009-02-27  Bruno Haible  <bruno@clisp.org>
10840
10841         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
10842         value.
10843         * lib/stdint.in.h: Likewise.
10844         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
10845
10846 2009-02-27  Eric Blake  <ebb9@byu.net>
10847
10848         doc: mention more functions added in cygwin 1.7.0
10849         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
10850         addition.
10851         * doc/posix-functions/open_wmemstream.texi: Likewise.
10852         * doc/posix-functions/wcsnlen.texi: Likewise.
10853         * doc/posix-functions/wcsnrtombs.texi: Likewise.
10854         * doc/posix-functions/wcstod.texi: Likewise.
10855         * doc/posix-functions/wcstof.texi: Likewise.
10856         * doc/posix-functions/wcstoimax.texi: Likewise.
10857         * doc/posix-functions/wcstok.texi: Likewise.
10858         * doc/posix-functions/wcstoumax.texi: Likewise.
10859
10860         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
10861         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
10862         * doc/posix-functions/fprintf.texi: Update.
10863         * doc/posix-functions/printf.texi: Update.
10864         * doc/posix-functions/snprintf.texi: Update.
10865         * doc/posix-functions/sprintf.texi: Update.
10866         * doc/posix-functions/vfprintf.texi: Update.
10867         * doc/posix-functions/vprintf.texi: Update.
10868         * doc/posix-functions/vsnprintf.texi: Update.
10869         * doc/posix-functions/vsprintf.texi: Update.
10870         * doc/glibc-functions/obstack_printf.texi: Update.
10871         * doc/glibc-functions/obstack_vprintf.texi: Update.
10872
10873 2009-02-26  Eric Blake  <ebb9@byu.net>
10874
10875         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
10876         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
10877         compilation bug by using runtime conversion.
10878         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
10879         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
10880         * modules/ceill-tests (Files): Use nan.h.
10881         * modules/floorl-tests (Files): Likewise.
10882         * modules/frexpl-tests (Files): Likewise.
10883         * modules/isnanl-tests (Files): Likewise.
10884         * modules/ldexpl-tests (Files): Likewise.
10885         * modules/roundl-tests (Files): Likewise.
10886         * modules/truncl-tests (Files): Likewise.
10887         * tests/test-ceill.c (main): Use a working NaN.
10888         * tests/test-floorl.c (main): Likewise.
10889         * tests/test-frexpl.c (main): Likewise.
10890         * tests/test-isnan.c (test_long_double): Likewise.
10891         * tests/test-isnanl.h (main): Likewise.
10892         * tests/test-ldexpl.h (main): Likewise.
10893         * tests/test-roundl.h (main): Likewise.
10894         * tests/test-truncl.h (main): Likewise.
10895         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
10896
10897 2009-02-26  Eric Blake  <ebb9@byu.net>
10898             Bruno Haible  <bruno@clisp.org>
10899
10900         Work around a *printf bug with %ls on Solaris.
10901         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
10902         precision is specified, sprintf stops converting the wide string
10903         argument when the number of bytes that have been produced by this
10904         conversion equals or exceeds the precision.
10905         * doc/posix-functions/fprintf.texi: Update.
10906         * doc/posix-functions/printf.texi: Update.
10907         * doc/posix-functions/snprintf.texi: Update.
10908         * doc/posix-functions/sprintf.texi: Update.
10909         * doc/posix-functions/vfprintf.texi: Update.
10910         * doc/posix-functions/vprintf.texi: Update.
10911         * doc/posix-functions/vsnprintf.texi: Update.
10912         * doc/posix-functions/vsprintf.texi: Update.
10913         * doc/glibc-functions/obstack_printf.texi: Update.
10914         * doc/glibc-functions/obstack_vprintf.texi: Update.
10915
10916 2009-02-26  Eric Blake  <ebb9@byu.net>
10917
10918         stdlib: favor compiler check of random.h
10919         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
10920         to avoid an ObjC random.h installed by Swarm.
10921
10922 2009-02-26  Bruno Haible  <bruno@clisp.org>
10923
10924         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
10925         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
10926         Reported by Gary V. Vaughan <gary@gnu.org>.
10927
10928 2009-02-26  Bruno Haible  <bruno@clisp.org>
10929
10930         Fix *printf behaviour regarding the %ls directive.
10931         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
10932         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
10933         NEED_PRINTF_DIRECTIVE_LS.
10934         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
10935         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
10936         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
10937         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
10938         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
10939         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
10940         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
10941         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
10942         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
10943         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
10944         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
10945         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
10946         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
10947         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
10948         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
10949         * doc/posix-functions/fprintf.texi: Update.
10950         * doc/posix-functions/printf.texi: Update.
10951         * doc/posix-functions/snprintf.texi: Update.
10952         * doc/posix-functions/sprintf.texi: Update.
10953         * doc/posix-functions/vfprintf.texi: Update.
10954         * doc/posix-functions/vprintf.texi: Update.
10955         * doc/posix-functions/vsnprintf.texi: Update.
10956         * doc/posix-functions/vsprintf.texi: Update.
10957         * doc/glibc-functions/obstack_printf.texi: Update.
10958         * doc/glibc-functions/obstack_vprintf.texi: Update.
10959         Reported by Eric Blake.
10960
10961 2009-02-25  Bruno Haible  <bruno@clisp.org>
10962
10963         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
10964         with known value.
10965         Reported by Gary V. Vaughan <gary@gnu.org>.
10966
10967 2009-02-25  Bruno Haible  <bruno@clisp.org>
10968
10969         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
10970         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
10971         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
10972         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
10973         Reported by Gary V. Vaughan <gary@gnu.org>.
10974
10975 2009-02-25  Bruno Haible  <bruno@clisp.org>
10976
10977         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
10978         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
10979         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
10980         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
10981         Reported by Gary V. Vaughan <gary@gnu.org>.
10982
10983 2009-02-25  Eric Blake  <ebb9@byu.net>
10984
10985         tests: skip fseek/ftell tests if ungetc is broken
10986         * m4/ungetc.m4: New file.
10987         * modules/fseek-tests: Split test, so ungetc dependency is
10988         separate from rest of test.
10989         * modules/fseeko-tests: Likewise.
10990         * modules/ftell-tests: Likewise.
10991         * modules/ftello-tests: Likewise.
10992         * tests/test-fseek.c (main): Isolate ungetc dependency.
10993         * tests/test-fseeko.c (main): Likewise.
10994         * tests/test-ftell.c (main): Likewise.
10995         * tests/test-ftello.c (main): Likewise.
10996         * tests/test-fseek2.sh: New file.
10997         * tests/test-fseeko2.sh: Likewise.
10998         * tests/test-ftell2.sh: Likewise.
10999         * tests/test-ftello2.sh: Likewise.
11000
11001 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
11002
11003         test-getaddrinfo: fix usage of skip return code 77
11004         * tests/test-gettaddrinfo.c: Return skip code 77 only
11005         for first occurance of skip (4x77 is not 77)
11006
11007 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
11008
11009         strtod: avoid C99 decl-after-statement
11010         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
11011
11012 2009-02-24  Eric Blake  <ebb9@byu.net>
11013
11014         strtod: detect HP-UX 11.31 bug
11015         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
11016         Reported by Gary V. Vaughan.
11017
11018 2009-02-23  Bruno Haible  <bruno@clisp.org>
11019
11020         Fix invalid read past end of memory block.
11021         * lib/vasnprintf.c (DCHAR_SET): Define.
11022         (local_wcslen): Define only when needed.
11023         (local_strnlen, local_wcsnlen): New functions.
11024         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
11025         directives that involve a conversion ourselves.
11026         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
11027         wcsnlen, mbrtowc, wcrtomb.
11028         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
11029         * tests/test-vasprintf-posix.c (test_function): Likewise.
11030         * tests/test-snprintf-posix.h (test_function): Likewise.
11031         * tests/test-sprintf-posix.h (test_function): Likewise.
11032         Reported by Ben Pfaff <blp@cs.stanford.edu>.
11033
11034 2009-02-22  Bruno Haible  <bruno@clisp.org>
11035
11036         Implement new clarified decomposition of Hangul syllables.
11037         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
11038         of type LTV, return only a pairwise decomposition.
11039         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
11040         Likewise.
11041         * tests/uninorm/test-decomposition.c (main): Updated expected result.
11042         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
11043         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
11044
11045 2009-02-22  Bruno Haible  <bruno@clisp.org>
11046
11047         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
11048         zero-length results and shrink excess allocated memory.
11049         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
11050         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
11051         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
11052         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
11053         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
11054         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
11055         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
11056         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
11057         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
11058         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
11059         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
11060         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
11061
11062 2009-02-21  Bruno Haible  <bruno@clisp.org>
11063
11064         * doc/gnulib.texi: Include safe-alloc.texi earlier.
11065         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
11066         spaces after a period. Put a space between a macro name and its
11067         argument list. Trivial rewordings.
11068         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
11069         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
11070         (main): Return 0 explicitly.
11071
11072 2009-02-21  Bruno Haible  <bruno@clisp.org>
11073
11074         Tests for module 'uninorm/filter'.
11075         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
11076         * modules/uninorm/filter-tests: New file.
11077
11078         New module 'uninorm/filter'.
11079         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
11080         uninorm_filter_flush, uninorm_filter_free): New declarations.
11081         * lib/uninorm/uninorm-filter.c: New file.
11082         * modules/uninorm/filter: New file.
11083
11084 2009-02-21  Bruno Haible  <bruno@clisp.org>
11085
11086         Tests for module 'uninorm/nfkc'.
11087         * tests/uninorm/test-nfkc.c: New file.
11088         * tests/uninorm/test-u8-nfkc.c: New file.
11089         * tests/uninorm/test-u16-nfkc.c: New file.
11090         * tests/uninorm/test-u32-nfkc.c: New file.
11091         * tests/uninorm/test-u32-nfkc-big.sh: New file.
11092         * tests/uninorm/test-u32-nfkc-big.c: New file.
11093         * modules/uninorm/nfkc-tests: New file.
11094
11095         New module 'uninorm/nfkc'.
11096         * lib/uninorm/nfkc.c: New file.
11097         * modules/uninorm/nfkc: New file.
11098
11099         Tests for module 'uninorm/nfkd'.
11100         * tests/uninorm/test-nfkd.c: New file.
11101         * tests/uninorm/test-u8-nfkd.c: New file.
11102         * tests/uninorm/test-u16-nfkd.c: New file.
11103         * tests/uninorm/test-u32-nfkd.c: New file.
11104         * tests/uninorm/test-u32-nfkd-big.sh: New file.
11105         * tests/uninorm/test-u32-nfkd-big.c: New file.
11106         * modules/uninorm/nfkd-tests: New file.
11107
11108         New module 'uninorm/nfkd'.
11109         * lib/uninorm/nfkd.c: New file.
11110         * modules/uninorm/nfkd: New file.
11111
11112         Tests for module 'uninorm/nfc'.
11113         * tests/uninorm/test-nfc.c: New file.
11114         * tests/uninorm/test-u8-nfc.c: New file.
11115         * tests/uninorm/test-u16-nfc.c: New file.
11116         * tests/uninorm/test-u32-nfc.c: New file.
11117         * tests/uninorm/test-u32-nfc-big.sh: New file.
11118         * tests/uninorm/test-u32-nfc-big.c: New file.
11119         * modules/uninorm/nfc-tests: New file.
11120
11121         New module 'uninorm/nfc'.
11122         * lib/uninorm/nfc.c: New file.
11123         * modules/uninorm/nfc: New file.
11124
11125         Tests for module 'uninorm/nfd'.
11126         * tests/uninorm/test-nfd.c: New file.
11127         * tests/uninorm/test-u8-nfd.c: New file.
11128         * tests/uninorm/test-u16-nfd.c: New file.
11129         * tests/uninorm/test-u32-nfd.c: New file.
11130         * tests/uninorm/test-u32-nfd-big.sh: New file.
11131         * tests/uninorm/test-u32-nfd-big.c: New file.
11132         * tests/uninorm/test-u32-normalize-big.h: New file.
11133         * tests/uninorm/test-u32-normalize-big.c: New file.
11134         * tests/uninorm/NormalizationTest.txt: New file, created from
11135         Unicode 5.1.0 NormalizationTest.txt.
11136         * modules/uninorm/nfd-tests: New file.
11137
11138         New module 'uninorm/nfd'.
11139         * lib/uninorm/nfd.c: New file.
11140         * modules/uninorm/nfd: New file.
11141
11142         New module 'uninorm/u32-normalize'.
11143         * lib/uninorm/u32-normalize.c: New file.
11144         * modules/uninorm/u32-normalize: New file.
11145
11146         New module 'uninorm/u16-normalize'.
11147         * lib/uninorm/u16-normalize.c: New file.
11148         * modules/uninorm/u16-normalize: New file.
11149
11150         New module 'uninorm/u8-normalize'.
11151         * lib/uninorm/u8-normalize.c: New file.
11152         * lib/uninorm/normalize-internal.h: New file.
11153         * lib/uninorm/u-normalize-internal.h: New file.
11154         * modules/uninorm/u8-normalize: New file.
11155
11156         New module 'uninorm/decompose-internal'.
11157         * lib/uninorm/decompose-internal.c: New file.
11158         * modules/uninorm/decompose-internal: New file.
11159
11160         Tests for module 'uninorm/composition'.
11161         * tests/uninorm/test-composition.c: New file.
11162         * modules/uninorm/composition-tests: New file.
11163
11164         New module 'uninorm/composition'.
11165         * lib/uninorm/composition.c: New file.
11166         * lib/uninorm/composition-table.gperf: New file, generated by
11167         gen-uni-tables.
11168         * modules/uninorm/composition: New file.
11169
11170         Tests for module 'uninorm/compat-decomposition'.
11171         * tests/uninorm/test-compat-decomposition.c: New file.
11172         * modules/uninorm/compat-decomposition-tests: New file.
11173
11174         New module 'uninorm/compat-decomposition'.
11175         * lib/uninorm/decompose-internal.h: New file.
11176         * lib/uninorm/compat-decomposition.c: New file.
11177         * modules/uninorm/compat-decomposition: New file.
11178
11179         Tests for module 'uninorm/canonical-decomposition'.
11180         * tests/uninorm/test-canonical-decomposition.c: New file.
11181         * modules/uninorm/canonical-decomposition-tests: New file.
11182
11183         New module 'uninorm/canonical-decomposition'.
11184         * lib/uninorm/canonical-decomposition.c: New file.
11185         * modules/uninorm/canonical-decomposition: New file.
11186
11187         Tests for module 'uninorm/decomposition'.
11188         * tests/uninorm/test-decomposition.c: New file.
11189         * modules/uninorm/decomposition-tests: New file.
11190
11191         New module 'uninorm/decomposition'.
11192         * lib/uninorm/decomposition.c: New file.
11193         * modules/uninorm/decomposition: New file.
11194
11195         New module 'uninorm/decomposition-table'.
11196         * lib/uninorm/decomposition-table.h: New file.
11197         * lib/uninorm/decomposition-table.c: New file.
11198         * lib/uninorm/decomposition-table1.h: New file, generated by
11199         gen-uni-tables.
11200         * lib/uninorm/decomposition-table2.h: New file, generated by
11201         gen-uni-tables.
11202         * modules/uninorm/decomposition-table: New file.
11203
11204         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
11205         (UC_DECOMP_*): New enumeration items.
11206         (get_decomposition): New function.
11207         (struct decomp_table): New type.
11208         (output_decomposition, output_decomposition_tables): New functions.
11209         (unicode_composition_exclusions): New variable.
11210         (fill_composition_exclusions, debug_output_composition_tables): New
11211         functions.
11212         (main): Accept one more argument. Invoke fill_composition_exclusions.
11213         Output decomposition and composition tables.
11214
11215         New module 'uninorm/base'.
11216         * lib/uninorm.h: New file.
11217         * lib/unictype.h: Update comment.
11218         * modules/uninorm/base: New file.
11219
11220 2009-02-21  David Lutterkort  <lutter@redhat.com>
11221
11222         Tests for module 'safe-alloc'.
11223         * tests/test-safe-alloc.c: New file.
11224         * modules/safe-alloc-tests: New file.
11225
11226         New module 'safe-alloc'.
11227         * lib/safe-alloc.h: New file.
11228         * lib/safe-alloc.c: New file.
11229         * m4/safe-alloc.m4: New file.
11230         * modules/safe-alloc: New file.
11231         * doc/safe-alloc.texi: New file.
11232         * doc/gnulib.texi: Include it.
11233         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
11234         safe-alloc.
11235
11236 2009-02-18  Bruno Haible  <bruno@clisp.org>
11237
11238         Fix link error on non-glibc systems.
11239         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
11240         variable.
11241         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11242
11243 2009-02-18  Jim Meyering  <meyering@redhat.com>
11244
11245         fts: avoid used-uninitialized error due to recent change
11246         * lib/fts.c (fts_read): Guard uses of the new member,
11247         parent->fts_n_dirs_remaining, since it's not relevant for
11248         the parent of a directory specified on the command-line.
11249
11250 2009-02-17  James Youngman  <jay@gnu.org>
11251             Bruno Haible  <bruno@clisp.org>
11252
11253         * m4/include_next.m4: Reformulate comment.
11254
11255 2009-02-16  Jim Meyering  <meyering@redhat.com>
11256
11257         fts: add #if guards so that the fts_lgpl module still builds
11258         * lib/fts.c: Guard just-added hash-table-using parts with
11259         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
11260         Reported by Simon Josefsson.
11261
11262 2009-02-15  Bruno Haible  <bruno@clisp.org>
11263
11264         * modules/array-mergesort-tests: New file.
11265         * tests/test-array-mergesort.c: New file.
11266
11267         New module 'array-mergesort'.
11268         * modules/array-mergesort: New file.
11269         * lib/array-mergesort.h: New file.
11270
11271 2009-02-15  Bruno Haible  <bruno@clisp.org>
11272
11273         Fix 2009-02-07 commit.
11274         * lib/gen-uni-tables.c (output_predicate, output_category,
11275         output_combclass, output_bidi_category, output_decimal_digit,
11276         output_digit, output_numeric, output_mirror, output_scripts,
11277         output_ident_category, output_simple_mapping): Fix format directives.
11278         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
11279
11280 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
11281
11282         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
11283         fixes are available from IBM.
11284
11285 2009-02-13  Jim Meyering  <meyering@redhat.com>
11286
11287         fts: arrange not to stat non-directories in more cases
11288         This makes GNU find (when it doesn't need to stat each file)
11289         *much* more efficient at traversing reiserfs file systems.
11290         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
11291         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
11292         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
11293         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
11294         (leaf_optimization_applies): New function.
11295         (LCO_hash, LCO_compare): New helper functions.
11296         (link_count_optimize_ok): New function.
11297         (fts_stat): Initialize new member (if dir).
11298         (fts_read): Decrement parent's fts_n_dirs_remaining count if
11299         we've just stat'ed a directory.  Skip the stat call when possible.
11300         ---
11301         Note this AFS-related exchange:
11302         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
11303         and note find's pioctl call in find/fstype.c.
11304         But that is necessary only if you want to enable the
11305         optimization for AFS, and for now, I don't.
11306
11307         fts: move a function definition "up" (no semantic change)
11308         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
11309         "up" to precede upcoming use of a related function.
11310
11311 2009-02-11  Jim Meyering  <meyering@redhat.com>
11312
11313         fts: correct internal computation of nlinks (optimization-related)
11314         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
11315         whether the current entry is a directory, so don't test it.
11316
11317 2009-02-10  Bruno Haible  <bruno@clisp.org>
11318
11319         Tests for module 'uniwbrk/ulc-wordbreaks'.
11320         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
11321         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
11322         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
11323
11324         Tests for module 'uniwbrk/u32-wordbreaks'.
11325         * modules/uniwbrk/u32-wordbreaks-tests: New file.
11326         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
11327
11328         Tests for module 'uniwbrk/u16-wordbreaks'.
11329         * modules/uniwbrk/u16-wordbreaks-tests: New file.
11330         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
11331
11332         Tests for module 'uniwbrk/u8-wordbreaks'.
11333         * modules/uniwbrk/u8-wordbreaks-tests: New file.
11334         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
11335
11336 2009-02-10  Bruno Haible  <bruno@clisp.org>
11337
11338         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
11339         property.
11340         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
11341         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
11342         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
11343
11344 2009-02-10  Simon Josefsson  <simon@josefsson.org>
11345
11346         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
11347         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
11348
11349 2009-02-10  Bruno Haible  <bruno@clisp.org>
11350
11351         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
11352         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
11353         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
11354         * lib/unilbrk/u8-possible-linebreaks.c: Update.
11355         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
11356         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
11357
11358 2009-02-09  Simon Josefsson  <simon@josefsson.org>
11359
11360         * lib/sockets.h (gl_fd_to_handle): New function.
11361
11362         * tests/test-sockets.c: Call gl_fd_to_handle.
11363
11364 2009-02-09  Bruno Haible  <bruno@clisp.org>
11365
11366         * doc/havelib.texi: Document the conventions on bi-arch systems.
11367
11368 2009-02-08  Bruno Haible  <bruno@clisp.org>
11369
11370         Document the AC_LIB_LINKFLAGS macro.
11371         * doc/havelib.texi: New file, mostly written on 2005-05-24.
11372         * doc/gnulib.texi: Include it.
11373
11374 2009-02-08  Bruno Haible  <bruno@clisp.org>
11375
11376         Fix wrong order of sections, compared to TOC.
11377         * doc/gnulib.texi: Include relocatable-maint.texi after the
11378         "Regular expressions" node, not before.
11379
11380 2009-02-08  Bruno Haible  <bruno@clisp.org>
11381
11382         Tests for module 'unicase/totitle'.
11383         * modules/unicase/totitle-tests: New file.
11384
11385         Tests for module 'unicase/tolower'.
11386         * modules/unicase/tolower-tests: New file.
11387
11388         Tests for module 'unicase/toupper'.
11389         * modules/unicase/toupper-tests: New file.
11390         * tests/unicase/test-mapping-part1.h: New file.
11391         * tests/unicase/test-mapping-part2.h: New file.
11392
11393         New module 'unicase/totitle'.
11394         * modules/unicase/totitle: New file.
11395         * lib/unicase/totitle.c: New file.
11396
11397         New module 'unicase/tolower'.
11398         * modules/unicase/tolower: New file.
11399         * lib/unicase/tolower.c: New file.
11400
11401         New module 'unicase/toupper'.
11402         * modules/unicase/toupper: New file.
11403         * lib/unicase/toupper.c: New file.
11404         * lib/unicase/simple-mapping.h: New file.
11405
11406         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
11407         (mapping_table): New structure.
11408         (output_simple_mapping): New function.
11409         (main): Invoke output_simple_mapping_test and output_simple_mapping.
11410         * modules/gen-uni-tables (Description): Update.
11411         * lib/unicase/toupper.h: New file, automatically generated by
11412         gen-uni-tables.
11413         * lib/unicase/tolower.h: New file, automatically generated by
11414         gen-uni-tables.
11415         * lib/unicase/totitle.h: New file, automatically generated by
11416         gen-uni-tables.
11417         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
11418         gen-uni-tables.
11419         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
11420         gen-uni-tables.
11421         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
11422         gen-uni-tables.
11423
11424         New module 'unicase/base'.
11425         * modules/unicase/base: New file.
11426         * lib/unicase.h: New file.
11427
11428 2009-02-08  Bruno Haible  <bruno@clisp.org>
11429
11430         New module 'uniwbrk/ulc-wordbreaks'.
11431         * modules/uniwbrk/ulc-wordbreaks: New file.
11432         * lib/uniwbrk/ulc-wordbreaks.c: New file.
11433
11434         New module 'uniwbrk/u32-wordbreaks'.
11435         * modules/uniwbrk/u32-wordbreaks: New file.
11436         * lib/uniwbrk/u32-wordbreaks.c: New file.
11437
11438         New module 'uniwbrk/u16-wordbreaks'.
11439         * modules/uniwbrk/u16-wordbreaks: New file.
11440         * lib/uniwbrk/u16-wordbreaks.c: New file.
11441
11442         New module 'uniwbrk/u8-wordbreaks'.
11443         * modules/uniwbrk/u8-wordbreaks: New file.
11444         * lib/uniwbrk/u8-wordbreaks.c: New file.
11445         * lib/uniwbrk/u-wordbreaks.h: New file.
11446
11447         New module 'uniwbrk/table'.
11448         * modules/uniwbrk/table: New file.
11449         * lib/uniwbrk/wbrktable.h: New file.
11450         * lib/uniwbrk/wbrktable.c: New file.
11451
11452         New module 'uniwbrk/wordbreak-property'.
11453         * modules/uniwbrk/wordbreak-property: New file.
11454         * lib/uniwbrk/wordbreak-property.c: New file.
11455
11456         * lib/gen-uni-tables.c (WBP_*): New enum items.
11457         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
11458         (unicode_org_wbp): New variable.
11459         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
11460         New functions.
11461         (wbp_table): New structure.
11462         (output_wbp, output_wbrk_tables): New functions.
11463         (main): Accept additional argument. Invoke fill_org_wbp,
11464         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
11465         output_wbrk_tables.
11466         * modules/gen-uni-tables (Description): Update.
11467         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
11468         gen-uni-tables.
11469
11470         New module 'uniwbrk/base'.
11471         * modules/uniwbrk/base: New file.
11472         * lib/uniwbrk.h: New file.
11473
11474 2009-02-08  Bruno Haible  <bruno@clisp.org>
11475
11476         Update to Unicode 5.1.0.
11477         * lib/gen-uni-tables.c (is_property_alphabetic): Include
11478         U+2185..U+2188.
11479         (is_property_default_ignorable_code_point): Don't include characters
11480         of category Cc or Cs and not-a-characters.
11481         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
11482         U+0D79, U+109E, U+109F, U+A60C.
11483         * lib/unictype/bidi_of.h: Regenerated.
11484         * lib/unictype/blocks.h: Regenerated.
11485         * lib/unictype/categ_C.h: Regenerated.
11486         * lib/unictype/categ_Cf.h: Regenerated.
11487         * lib/unictype/categ_Cn.h: Regenerated.
11488         * lib/unictype/categ_L.h: Regenerated.
11489         * lib/unictype/categ_Ll.h: Regenerated.
11490         * lib/unictype/categ_Lm.h: Regenerated.
11491         * lib/unictype/categ_Lo.h: Regenerated.
11492         * lib/unictype/categ_Lu.h: Regenerated.
11493         * lib/unictype/categ_M.h: Regenerated.
11494         * lib/unictype/categ_Mc.h: Regenerated.
11495         * lib/unictype/categ_Me.h: Regenerated.
11496         * lib/unictype/categ_Mn.h: Regenerated.
11497         * lib/unictype/categ_N.h: Regenerated.
11498         * lib/unictype/categ_Nd.h: Regenerated.
11499         * lib/unictype/categ_Nl.h: Regenerated.
11500         * lib/unictype/categ_No.h: Regenerated.
11501         * lib/unictype/categ_P.h: Regenerated.
11502         * lib/unictype/categ_Pd.h: Regenerated.
11503         * lib/unictype/categ_Pe.h: Regenerated.
11504         * lib/unictype/categ_Pf.h: Regenerated.
11505         * lib/unictype/categ_Pi.h: Regenerated.
11506         * lib/unictype/categ_Po.h: Regenerated.
11507         * lib/unictype/categ_Ps.h: Regenerated.
11508         * lib/unictype/categ_S.h: Regenerated.
11509         * lib/unictype/categ_Sk.h: Regenerated.
11510         * lib/unictype/categ_Sm.h: Regenerated.
11511         * lib/unictype/categ_So.h: Regenerated.
11512         * lib/unictype/categ_of.h: Regenerated.
11513         * lib/unictype/combining.h: Regenerated.
11514         * lib/unictype/ctype_alnum.h: Regenerated.
11515         * lib/unictype/ctype_alpha.h: Regenerated.
11516         * lib/unictype/ctype_graph.h: Regenerated.
11517         * lib/unictype/ctype_lower.h: Regenerated.
11518         * lib/unictype/ctype_print.h: Regenerated.
11519         * lib/unictype/ctype_punct.h: Regenerated.
11520         * lib/unictype/ctype_upper.h: Regenerated.
11521         * lib/unictype/decdigit.h: Regenerated.
11522         * lib/unictype/digit.h: Regenerated.
11523         * lib/unictype/mirror.h: Regenerated.
11524         * lib/unictype/numeric.h: Regenerated.
11525         * lib/unictype/pr_alphabetic.h: Regenerated.
11526         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
11527         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
11528         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
11529         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
11530         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
11531         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
11532         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
11533         * lib/unictype/pr_combining.h: Regenerated.
11534         * lib/unictype/pr_dash.h: Regenerated.
11535         * lib/unictype/pr_decimal_digit.h: Regenerated.
11536         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
11537         * lib/unictype/pr_deprecated.h: Regenerated.
11538         * lib/unictype/pr_diacritic.h: Regenerated.
11539         * lib/unictype/pr_extender.h: Regenerated.
11540         * lib/unictype/pr_format_control.h: Regenerated.
11541         * lib/unictype/pr_grapheme_base.h: Regenerated.
11542         * lib/unictype/pr_grapheme_extend.h: Regenerated.
11543         * lib/unictype/pr_grapheme_link.h: Regenerated.
11544         * lib/unictype/pr_id_continue.h: Regenerated.
11545         * lib/unictype/pr_id_start.h: Regenerated.
11546         * lib/unictype/pr_ideographic.h: Regenerated.
11547         * lib/unictype/pr_ignorable_control.h: Regenerated.
11548         * lib/unictype/pr_lowercase.h: Regenerated.
11549         * lib/unictype/pr_math.h: Regenerated.
11550         * lib/unictype/pr_numeric.h: Regenerated.
11551         * lib/unictype/pr_other_alphabetic.h: Regenerated.
11552         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
11553         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
11554         * lib/unictype/pr_other_id_continue.h: Regenerated.
11555         * lib/unictype/pr_other_lowercase.h: Regenerated.
11556         * lib/unictype/pr_other_math.h: Regenerated.
11557         * lib/unictype/pr_punctuation.h: Regenerated.
11558         * lib/unictype/pr_sentence_terminal.h: Regenerated.
11559         * lib/unictype/pr_soft_dotted.h: Regenerated.
11560         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
11561         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
11562         * lib/unictype/pr_unified_ideograph.h: Regenerated.
11563         * lib/unictype/pr_uppercase.h: Regenerated.
11564         * lib/unictype/pr_xid_continue.h: Regenerated.
11565         * lib/unictype/pr_xid_start.h: Regenerated.
11566         * lib/unictype/pr_zero_width.h: Regenerated.
11567         * lib/unictype/scripts.h: Regenerated.
11568         * lib/unictype/scripts_byname.gperf: Regenerated.
11569         * lib/unictype/sy_java_ident.h: Regenerated.
11570         * lib/unilbrk/lbrkprop1.h: Regenerated.
11571         * lib/unilbrk/lbrkprop2.h: Regenerated.
11572         * tests/unictype/test-categ_C.c: Regenerated.
11573         * tests/unictype/test-categ_Cf.c: Regenerated.
11574         * tests/unictype/test-categ_Cn.c: Regenerated.
11575         * tests/unictype/test-categ_L.c: Regenerated.
11576         * tests/unictype/test-categ_Ll.c: Regenerated.
11577         * tests/unictype/test-categ_Lm.c: Regenerated.
11578         * tests/unictype/test-categ_Lo.c: Regenerated.
11579         * tests/unictype/test-categ_Lu.c: Regenerated.
11580         * tests/unictype/test-categ_M.c: Regenerated.
11581         * tests/unictype/test-categ_Mc.c: Regenerated.
11582         * tests/unictype/test-categ_Me.c: Regenerated.
11583         * tests/unictype/test-categ_Mn.c: Regenerated.
11584         * tests/unictype/test-categ_N.c: Regenerated.
11585         * tests/unictype/test-categ_Nd.c: Regenerated.
11586         * tests/unictype/test-categ_Nl.c: Regenerated.
11587         * tests/unictype/test-categ_No.c: Regenerated.
11588         * tests/unictype/test-categ_P.c: Regenerated.
11589         * tests/unictype/test-categ_Pd.c: Regenerated.
11590         * tests/unictype/test-categ_Pe.c: Regenerated.
11591         * tests/unictype/test-categ_Pf.c: Regenerated.
11592         * tests/unictype/test-categ_Pi.c: Regenerated.
11593         * tests/unictype/test-categ_Po.c: Regenerated.
11594         * tests/unictype/test-categ_Ps.c: Regenerated.
11595         * tests/unictype/test-categ_S.c: Regenerated.
11596         * tests/unictype/test-categ_Sk.c: Regenerated.
11597         * tests/unictype/test-categ_Sm.c: Regenerated.
11598         * tests/unictype/test-categ_So.c: Regenerated.
11599         * tests/unictype/test-ctype_alnum.c: Regenerated.
11600         * tests/unictype/test-ctype_alpha.c: Regenerated.
11601         * tests/unictype/test-ctype_graph.c: Regenerated.
11602         * tests/unictype/test-ctype_lower.c: Regenerated.
11603         * tests/unictype/test-ctype_print.c: Regenerated.
11604         * tests/unictype/test-ctype_punct.c: Regenerated.
11605         * tests/unictype/test-ctype_upper.c: Regenerated.
11606         * tests/unictype/test-decdigit.h: Regenerated.
11607         * tests/unictype/test-digit.h: Regenerated.
11608         * tests/unictype/test-numeric.h: Regenerated.
11609         * tests/unictype/test-pr_alphabetic.c: Regenerated.
11610         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
11611         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
11612         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
11613         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
11614         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
11615         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
11616         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
11617         * tests/unictype/test-pr_combining.c: Regenerated.
11618         * tests/unictype/test-pr_dash.c: Regenerated.
11619         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
11620         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
11621         * tests/unictype/test-pr_deprecated.c: Regenerated.
11622         * tests/unictype/test-pr_diacritic.c: Regenerated.
11623         * tests/unictype/test-pr_extender.c: Regenerated.
11624         * tests/unictype/test-pr_format_control.c: Regenerated.
11625         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
11626         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
11627         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
11628         * tests/unictype/test-pr_id_continue.c: Regenerated.
11629         * tests/unictype/test-pr_id_start.c: Regenerated.
11630         * tests/unictype/test-pr_ideographic.c: Regenerated.
11631         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
11632         * tests/unictype/test-pr_lowercase.c: Regenerated.
11633         * tests/unictype/test-pr_math.c: Regenerated.
11634         * tests/unictype/test-pr_numeric.c: Regenerated.
11635         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
11636         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
11637         Regenerated.
11638         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
11639         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
11640         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
11641         * tests/unictype/test-pr_other_math.c: Regenerated.
11642         * tests/unictype/test-pr_punctuation.c: Regenerated.
11643         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
11644         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
11645         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
11646         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
11647         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
11648         * tests/unictype/test-pr_uppercase.c: Regenerated.
11649         * tests/unictype/test-pr_xid_continue.c: Regenerated.
11650         * tests/unictype/test-pr_xid_start.c: Regenerated.
11651         * tests/unictype/test-pr_zero_width.c: Regenerated.
11652
11653         Update to Unicode 5.1.0.
11654         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
11655         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
11656         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
11657         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
11658         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
11659         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
11660         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
11661         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
11662         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
11663         (nonspacing_table_ind): Update.
11664         * tests/uniwidth/test-uc_width2.sh: Update expected result.
11665
11666         Update to Unicode 5.1.0.
11667         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
11668         code transform.
11669         * lib/uniname/uniname.c (unicode_character_name,
11670         unicode_name_character): Add the range 0x1Fxxx to the code transform.
11671         * lib/uniname/uninames.h: Regenerated.
11672         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
11673
11674 2009-02-07  Bruno Haible  <bruno@clisp.org>
11675
11676         Merge gen-ctype and gen-lbrk into a single program.
11677         * lib/gen-uni-tables.c: New file, incorporating
11678         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
11679         Add directory prefixes to the names of the generated files.
11680         * lib/unictype/gen-ctype.c: Remove file.
11681         * lib/unilbrk/gen-lbrk.c: Remove file.
11682         * modules/gen-uni-tables: New file.
11683         * modules/unictype/gen-ctype: Remove file.
11684         * modules/unilbrk/gen-lbrk: Remove file.
11685
11686 2009-02-07  Bruno Haible  <bruno@clisp.org>
11687
11688         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
11689
11690         New module 'unistr/u32-strcoll'.
11691         * modules/unistr/u32-strcoll: New file.
11692         * lib/unistr/u32-strcoll.c: New file.
11693
11694         New module 'unistr/u16-strcoll'.
11695         * modules/unistr/u16-strcoll: New file.
11696         * lib/unistr/u16-strcoll.c: New file.
11697
11698         New module 'unistr/u8-strcoll'.
11699         * modules/unistr/u8-strcoll: New file.
11700         * lib/unistr/u8-strcoll.c: New file.
11701         * lib/unistr/u-strcoll.h: New file.
11702
11703 2009-02-07  Bruno Haible  <bruno@clisp.org>
11704
11705         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
11706         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
11707         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
11708         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
11709         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
11710         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
11711
11712 2009-02-07  Bruno Haible  <bruno@clisp.org>
11713
11714         Make 64-bit clean.
11715         * lib/unictype/gen-ctype.c (output_predicate, output_category,
11716         output_combclass, output_bidi_category, output_decimal_digit,
11717         output_digit, output_numeric, output_mirror, output_scripts,
11718         output_ident_category): Use proper width specifier in format strings.
11719
11720 2009-02-07  Bruno Haible  <bruno@clisp.org>
11721
11722         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
11723         failure behaviour.
11724
11725 2009-02-07  Jim Meyering  <meyering@redhat.com>
11726
11727         regex: avoid compilation failure with upcoming gcc-4.4
11728         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
11729         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
11730         "... error: integer overflow in preprocessor expression".
11731
11732 2009-02-05  Ben Pfaff  <blp@gnu.org>
11733
11734         Fix link errors on Windows when close module is used.
11735         * modules/close: Add $(LIB_CLOSE) to Link section.
11736         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
11737         $(LIB_CLOSE) on Windows.
11738
11739 2009-02-05  Jim Meyering  <meyering@redhat.com>
11740
11741         still avoid unused-parameter warnings, but do it cleanly
11742         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
11743         (get_fs_usage): Cast to void instead.
11744         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
11745         (dev_from_mount_options, read_file_system_list): Cast to void.
11746         Prompted by Bruno Haible.
11747
11748 2009-02-04  Jim Meyering  <meyering@redhat.com>
11749
11750         fsusage.c: correct copyright year
11751         * lib/fsusage.c: Reflect year in which the change is pushed into
11752
11753         avoid misc. warnings
11754         * lib/fsusage.c (UNUSED_PARAM): Define.
11755         (get_fs_usage): Mark parameter "disk" as unused.
11756         * lib/getugroups.c (getgrent): Use "void" in prototype.
11757         * lib/mountlist.c: Mark unused parameters.
11758         (read_file_system_list): Declare a local with "const".
11759         * lib/nanosleep.c (getnow): Declare static.
11760         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
11761
11762         dirfd: set errno upon failure
11763         * lib/dirfd.c: Include <errno.h>.
11764         Set errno to ENOTSUP when returning -1.
11765         * modules/dirfd (Depends-on): Add errno.
11766         Suggested by John Kodis <kodis@comcast.net>.
11767
11768 2009-02-01  Bruno Haible  <bruno@clisp.org>
11769
11770         Don't assume sizeof (long) >= sizeof (void *).
11771         * lib/memcmp.c: Include stdint.h.
11772         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
11773         srcp2 to 'const byte *'.
11774         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
11775         types to uintptr_t.
11776         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
11777         * modules/memcmp (Depends-on): Add stdint.
11778         Reported by Ozkan Sezer <sezeroz@gmail.com>.
11779
11780 2009-01-30  Eric Blake  <ebb9@byu.net>
11781
11782         fix more require-before-expand issues
11783         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
11784         expand, AC_PROG_AWK.
11785         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
11786
11787 2009-01-28  Eric Blake  <ebb9@byu.net>
11788
11789         version-etc: use consistent URL formatting
11790         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
11791         Improve formatting.  Use fputs for string without %.
11792
11793 2009-01-28  Jim Meyering  <meyering@redhat.com>
11794
11795         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
11796         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
11797         "underquoted definition of NAME" from autoconf-2.59.
11798
11799 2009-01-28  Bruno Haible  <bruno@clisp.org>
11800
11801         * doc/gnulib.texi: Add "Obsolete modules" to index.
11802
11803 2009-01-28  Jim Meyering  <meyering@redhat.com>
11804
11805         useless-if-before-free: recognize more variants
11806         * build-aux/useless-if-before-free: Also recognize e.g.,
11807         if (NULL != p) free (p);
11808
11809 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
11810
11811         test-getaddrinfo: skip (don't fail) this test when there's no network
11812         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
11813         on the presumption that it means you lack network access.
11814
11815 2009-01-26  Jim Meyering  <meyering@redhat.com>
11816
11817         fflush: avoid warnings on modern systems
11818         * lib/fflush.c (rpl_fflush): Move declarations of locals,
11819         pos and result, into scopes where they're used.
11820
11821 2009-01-26  Eric Blake  <ebb9@byu.net>
11822
11823         Silence warning reintroduced by recent extensions patch.
11824         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
11825         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
11826         autoconf.
11827
11828         Backport improved autoconf semantics of AC_DEFUN_ONCE.
11829         * m4/00gnulib.m4: New file.
11830         * gnulib-tool (func_get_filelist): Always use it.
11831         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
11832         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
11833
11834 2009-01-25  Bruno Haible  <bruno@clisp.org>
11835
11836         Make test-quotearg work on MacOS X and AIX.
11837         * tests/test-quotearg.sh: New file.
11838         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
11839         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
11840         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
11841         include <libintl.h>.
11842         (fake_locale): Remove variable.
11843         (gettext, dgettext, dcgettext): Remove functions.
11844         (main): Instead of setting a fake locale, set a real locale. Call
11845         textdomain and bindtextdomain.
11846         * modules/quotearg-tests (Files): Add the new files.
11847         (Depends-on): Add gettext, setenv, unsetenv.
11848         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
11849         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
11850         Augment TESTS_ENVIRONMENT.
11851
11852 2009-01-25  Bruno Haible  <bruno@clisp.org>
11853
11854         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
11855         fr_FR.ISO8859-1 locale on MacOS X.
11856         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
11857         ja_JP.eucJP locale on MacOS X.
11858         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
11859         zh_CN.GB18030 locale on MacOS X.
11860
11861 2009-01-25  Bruno Haible  <bruno@clisp.org>
11862
11863         Avoid link errors on MacOS X 10.3.
11864         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
11865         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
11866
11867 2009-01-25  Bruno Haible  <bruno@clisp.org>
11868
11869         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
11870         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
11871         * modules/pipe (Files): Remove m4/posix_spawn.m4.
11872         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
11873         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
11874         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
11875         posix_spawnattr_init, posix_spawnattr_setsigmask,
11876         posix_spawnattr_setflags, posix_spawnattr_destroy.
11877
11878         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
11879         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
11880         * modules/execute (Files): Remove m4/posix_spawn.m4.
11881         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
11882         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
11883         posix_spawnattr_init, posix_spawnattr_setsigmask,
11884         posix_spawnattr_setflags, posix_spawnattr_destroy.
11885
11886 2009-01-25  Bruno Haible  <bruno@clisp.org>
11887
11888         * lib/glthread/threadlib.c: Include <stdlib.h>.
11889
11890 2009-01-25  Bruno Haible  <bruno@clisp.org>
11891
11892         * lib/glthread/threadlib.c (dummy): New declaration.
11893
11894 2009-01-25  Bruno Haible  <bruno@clisp.org>
11895
11896         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
11897         multibyte characters also for the GB18030 encoding. Don't crash when
11898         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
11899
11900 2009-01-25  Bruno Haible  <bruno@clisp.org>
11901
11902         Avoid redefining 'struct random_data' on OSF/1 5.1.
11903         * lib/stdlib.in.h: Include <random.h> if it exists.
11904         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
11905         HAVE_RANDOM_H. Include <random.h> when testing whether
11906         'struct random_data' exists.
11907         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
11908
11909 2009-01-25  Bruno Haible  <bruno@clisp.org>
11910
11911         Don't install charset.alias on MacOS X >= 10.3.
11912         * lib/localcharset.c (DARWIN7): New macro.
11913         (get_charset_aliases): Hardcode the result for Darwin7.
11914         * modules/localcharset (install-exec-local): Don't install
11915         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
11916
11917 2009-01-25  Bruno Haible  <bruno@clisp.org>
11918
11919         Don't install charset.alias on mingw and Cygwin.
11920         * modules/localcharset (install-exec-local): Don't install
11921         charset.alias on mingw and Cygwin, if the file does not yet exist.
11922         The result for these platforms is hardcoded in localcharset.c.
11923
11924 2009-01-25  Bruno Haible  <bruno@clisp.org>
11925
11926         Make it possible again to use AC_GNU_SOURCE together with gnulib.
11927         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
11928         before requiring AC_USE_SYSTEM_EXTENSIONS.
11929
11930 2009-01-25  Jim Meyering  <meyering@redhat.com>
11931
11932         c-strtod: avoid warnings
11933         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
11934         "assignment discards qualifiers from pointer target type" warnings.
11935
11936 2009-01-24  Bruno Haible  <bruno@clisp.org>
11937
11938         Add support for non-UTF-8 locales on MacOS X.
11939         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
11940         canonical encodings. For Darwin 7 and newer, don't map traditional
11941         encodings to UTF-8.
11942         Reported by Vincent Lefevre <vincent@vinc17.org>
11943         at <http://savannah.gnu.org/bugs/?25235>.
11944
11945 2009-01-24  Bruno Haible  <bruno@clisp.org>
11946
11947         * doc/gnulib.texi (Obsolete modules): New section.
11948         Reported by Mike Frysinger <vapier@gentoo.org>.
11949
11950 2009-01-24  Bruno Haible  <bruno@clisp.org>
11951
11952         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
11953         (%.dvi): New rule.
11954
11955 2009-01-24  Bruno Haible  <bruno@clisp.org>
11956
11957         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
11958         Reported by Eric Blake.
11959
11960 2009-01-24  Bruno Haible  <bruno@clisp.org>
11961
11962         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
11963         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
11964         Reported by Gary V. Vaughan <gary@gnu.org>.
11965
11966 2009-01-24  Bruno Haible  <bruno@clisp.org>
11967
11968         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
11969
11970 2009-01-23  Bruno Haible  <bruno@clisp.org>
11971
11972         Make c-strtod, c-strtold usable in libraries.
11973         * lib/c-strtod.c: Include string.h instead of xalloc.h.
11974         (C_STRTOD): Call strdup instead of xstrdup.
11975         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
11976         * modules/c-strtold (Depends-on): Likewise.
11977         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
11978         * NEWS: Mention the change.
11979         Reported by Michael Gold <mgold@ncf.ca>.
11980
11981 2009-01-23  Jim Meyering  <meyering@redhat.com>
11982
11983         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
11984         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
11985         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
11986
11987 2009-01-23  Simon Josefsson  <simon@josefsson.org>
11988
11989         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
11990         GNU CoreUtils.
11991         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
11992         * modules/version-etc (Description): Update.
11993
11994 2009-01-22  Bruno Haible  <bruno@clisp.org>
11995
11996         Cache the C locale object.
11997         * lib/c-strtod.c (c_locale_cache): New variable.
11998         (c_locale): New function.
11999         (C_STRTOD): Use it, and don't call freelocale.
12000         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
12001         Suggested by Paolo Bonzini.
12002
12003 2009-01-21  Bruno Haible  <bruno@clisp.org>
12004
12005         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
12006         conditions other than overflow.
12007
12008 2009-01-21  Bruno Haible  <bruno@clisp.org>
12009
12010         * lib/c-strtod.c: Include errno.h.
12011         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
12012         value from STRTOD_L and STRTOD.
12013
12014 2009-01-21  Bruno Haible  <bruno@clisp.org>
12015         and Jim Meyering  <meyering@redhat.com>
12016
12017         nanosleep: skip configure test (fail it) for apple universal builds
12018         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
12019         universal builds, assume that nanosleep does not work.
12020         * modules/nanosleep (Depends-on): Add multiarch.
12021
12022         mktime: skip configure test (fail it) for apple universal builds
12023         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
12024         universal builds, assume that mktime does not work.
12025         * modules/mktime (Depends-on): Add multiarch.
12026
12027 2009-01-21  Eric Blake  <ebb9@byu.net>
12028
12029         multiarch: avoid expand-before-require warning
12030         * modules/multiarch (configure.ac): Require, rather than expand,
12031         gl_MULTIARCH.
12032         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
12033         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
12034         enforce that all clients require it.  Partial reversion of
12035         2008-12-29 patch.
12036
12037         error: avoid expand-before-require warning
12038         * modules/errno (configure.ac): Require, rather than expand,
12039         gl_HEADER_ERRNO_H.
12040         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
12041         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
12042         enforce that all clients require it.
12043
12044         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
12045         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
12046         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
12047         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
12048
12049 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
12050
12051         Revert:
12052         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
12053
12054         regex: do not depend on obsolete modules.
12055         * modules/regex: Remove memcmp and memmove.
12056
12057 2009-01-20  Bruno Haible  <bruno@clisp.org>
12058
12059         Make the 'link' module link on Windows NT 4.
12060         * lib/link.c (_WIN32_WINNT): Don't define.
12061         (CreateHardLinkFuncType): New type.
12062         (CreateHardLinkFunc, initialized): New variables.
12063         (initialize): New function.
12064         (link): Invoke CreateHardLink indirectly through the function pointer.
12065
12066 2009-01-20  Bruno Haible  <bruno@clisp.org>
12067
12068         Fix compilation failure on mingw.
12069         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
12070
12071 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
12072
12073         * doc/c-strtod.texi: Mention a couple of restrictions.
12074
12075 2009-01-20  Jim Meyering  <meyering@redhat.com>
12076
12077         gettimeofday: move more declarations out of functions
12078         * lib/gettimeofday.c: Move extern declarations of tzset and
12079         gmtime out of containing functions.  Prompted by Bruno Haible.
12080
12081 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
12082
12083         regex: do not depend on obsolete modules.
12084         * modules/regex: Remove memcmp and memmove.
12085
12086 2009-01-19  Bruno Haible  <bruno@clisp.org>
12087
12088         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
12089         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
12090         gl_BIGENDIAN, not AC_C_BIGENDIAN.
12091         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
12092         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
12093
12094 2009-01-19  Bruno Haible  <bruno@clisp.org>
12095
12096         * tests/test-link.c: Include <errno.h>.
12097         (main): Exit with code 77 when a hard link cannot be created due to
12098         the file system.
12099         * tests/test-link.sh: Skip test when a hard link cannot be created due
12100         to the file system.
12101         Suggested by Eric Blake.
12102
12103 2009-01-19  Martin Lambers  <marlam@marlam.de>
12104
12105         * modules/link-tests: New file.
12106         * tests/test-link.sh: New file.
12107         * tests/test-link.c: New file.
12108
12109 2009-01-19  Eric Blake  <ebb9@byu.net>
12110
12111         doc: mention another function added in cygwin 1.7.0
12112         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
12113         Another new function in cygwin 1.7.
12114
12115 2009-01-19  Bruno Haible  <bruno@clisp.org>
12116
12117         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
12118         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
12119         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
12120         gl_BIGENDIAN, not AC_C_BIGENDIAN.
12121         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
12122         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
12123         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
12124         * m4/md4.m4 (gl_MD4): Likewise.
12125         * m4/md5.m4 (gl_MD5): Likewise.
12126         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
12127         * m4/sha1.m4 (gl_SHA1): Likewise.
12128         * m4/sha256.m4 (gl_SHA256): Likewise.
12129         * m4/sha512.m4 (gl_SHA512): Likewise.
12130
12131 2009-01-19  Bruno Haible  <bruno@clisp.org>
12132
12133         * modules/uniname/uniname-tests (Depends-on): Add progname.
12134         * tests/uniname/test-uninames.c: Include progname.h.
12135         (main): Call set_program_name.
12136
12137         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
12138         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
12139         (main): Call set_program_name.
12140
12141         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
12142         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
12143         (main): Call set_program_name.
12144
12145         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
12146         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
12147         (main): Call set_program_name.
12148
12149         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
12150         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
12151         (main): Call set_program_name.
12152
12153         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
12154         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
12155         (main): Call set_program_name.
12156
12157         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
12158         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
12159         (main): Call set_program_name.
12160
12161         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
12162         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
12163         (main): Call set_program_name.
12164
12165         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
12166         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
12167         (main): Call set_program_name.
12168
12169 2009-01-19  Eric Blake  <ebb9@byu.net>
12170
12171         test-unistd: test previous patch
12172         * tests/test-unistd.c: Test *_FILENO macros.
12173
12174         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
12175         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
12176         Guarantee a definition.
12177         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
12178         * modules/unistd-safer (Depends-on): Add dependency on unistd.
12179         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
12180         * lib/dup-safer.c (STDERR_FILENO): Likewise.
12181         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
12182         Likewise.
12183         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
12184         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
12185         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
12186         Likewise.
12187         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
12188         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
12189         (STDERR_FILENO): Likewise.
12190         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
12191         (STDERR_FILENO): Likewise.
12192         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
12193         (STDERR_FILENO): Likewise.
12194         Reported by Elbert Pol.
12195
12196 2009-01-19  Eric Blake  <ebb9@byu.net>
12197
12198         doc: mention more functions added in cygwin 1.7.0
12199         * doc/posix-functions/abort.texi (abort): Update wording related
12200         to cygwin.
12201         * doc/posix-functions/daylight.texi (daylight): Likewise.
12202         * doc/posix-functions/optarg.texi (optarg): Likewise.
12203         * doc/posix-functions/optarg.texi (opterr): Likewise.
12204         * doc/posix-functions/optarg.texi (optind): Likewise.
12205         * doc/posix-functions/optarg.texi (optopt): Likewise.
12206         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
12207         worked in 1.5.x, and was withdrawn in 1.7.
12208         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
12209         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
12210         cygwin versions.
12211         * doc/posix-functions/perror.texi (perror): Likewise.
12212         * doc/posix-functions/printf.texi (printf): Likewise.
12213         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
12214         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
12215         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
12216         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
12217         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
12218         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
12219         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
12220         Likewise.
12221         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
12222         Likewise.
12223         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
12224         this function.
12225         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
12226         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
12227         Likewise.
12228         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
12229         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
12230         * doc/posix-functions/confstr.texi (confstr): Likewise.
12231         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
12232         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
12233         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
12234         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
12235         * doc/posix-functions/fputws.texi (fputws): Likewise.
12236         * doc/posix-functions/fwide.texi (fwide): Likewise.
12237         * doc/posix-functions/getwc.texi (getwc): Likewise.
12238         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
12239         * doc/posix-functions/putwc.texi (putwc): Likewise.
12240         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
12241         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
12242         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
12243         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
12244         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
12245         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
12246         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
12247         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
12248         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
12249         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
12250         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
12251
12252 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
12253
12254         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
12255         * lib/ioctl.c: Include <sys/ioctl.h>.
12256
12257 2009-01-19  Simon Josefsson  <simon@josefsson.org>
12258
12259         * modules/getdate-tests (Depends-on): Add progname.
12260         * tests/test-getdate.c: Use progname module, to avoid link errors
12261         on non-glibc systems.
12262
12263 2009-01-18  Simon Josefsson  <simon@josefsson.org>
12264
12265         * modules/filenamecat-tests (Depends-on): Add progname.
12266         * modules/fstrcmp-tests (Depends-on): Likewise.
12267
12268         * tests/test-filenamecat.c: Use progname module, to avoid link
12269         errors on non-glibc systems.
12270         * tests/test-fstrcmp.c: Likewise.
12271
12272 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
12273
12274         gettimeofday: avoid warning: nested extern declaration of 'localtime'
12275         * lib/gettimeofday.c: Move extern declaration out of function.
12276
12277 2009-01-18  Bruno Haible  <bruno@clisp.org>
12278
12279         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
12280         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
12281         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
12282
12283 2009-01-18  Bruno Haible  <bruno@clisp.org>
12284
12285         * lib/strftime.c (MEMPCPY): Remove unused macro.
12286         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
12287
12288 2009-01-18  Martin Lambers  <marlam@marlam.de>
12289
12290         New module 'link'.
12291         * lib/unistd.in.h (link): New declaration.
12292         * lib/link.c: New file.
12293         * m4/link.m4: New file.
12294         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
12295         HAVE_LINK.
12296         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
12297         * modules/link: New file.
12298         * doc/posix-functions/link.texi: Mention the new module.
12299
12300 2009-01-18  Bruno Haible  <bruno@clisp.org>
12301
12302         * tests/test-avltree_list.c (main): Call set_program_name.
12303         * tests/test-avltree_oset.c (main): Likewise.
12304         * tests/test-obstack-printf.c: Include progname.h.
12305         (main): Call set_program_name.
12306         * tests/test-quotearg.c: Include progname.h.
12307         (main): Call set_program_name.
12308         * tests/test-xmemdup0.c: Include progname.h.
12309         (main): Call set_program_name.
12310
12311 2009-01-18  Bruno Haible  <bruno@clisp.org>
12312
12313         New module 'alphasort'.
12314         * lib/dirent.in.h (alphasort): New declaration.
12315         * lib/alphasort.c: New file, from glibc with modifications.
12316         * m4/alphasort.m4: New file.
12317         * modules/alphasort: New file.
12318         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
12319         HAVE_ALPHASORT.
12320         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
12321         HAVE_ALPHASORT.
12322         * doc/posix-functions/alphasort.texi: Mention the new module and the
12323         portability problems.
12324
12325 2009-01-18  Bruno Haible  <bruno@clisp.org>
12326
12327         New module 'scandir'.
12328         * lib/dirent.in.h (scandir): New declaration.
12329         * lib/scandir.c: New file, from glibc with modifications.
12330         * m4/scandir.m4: New file.
12331         * modules/scandir: New file.
12332         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
12333         HAVE_SCANDIR.
12334         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
12335         HAVE_SCANDIR.
12336         * doc/posix-functions/scandir.texi: Mention the new module and the
12337         portability problems.
12338
12339 2009-01-17  Bruno Haible  <bruno@clisp.org>
12340
12341         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
12342         Update documentation.
12343         (func_remove_suffix): Escape all dots in the suffix. Update
12344         documentation.
12345         (func_filter_filelist): Update documentation.
12346         Reported by Ralf Wildenhues.
12347
12348 2009-01-17  Bruno Haible  <bruno@clisp.org>
12349
12350         * modules/dprintf-posix-tests: New file.
12351         * tests/test-dprintf-posix.sh: New file.
12352         * tests/test-dprintf-posix.c: New file.
12353
12354         New modules 'dprintf', 'dprintf-posix'.
12355         * lib/stdio.in.h (dprintf): New declaration.
12356         * lib/dprintf.c: New file.
12357         * m4/dprintf.m4: New file.
12358         * m4/dprintf-posix.m4: New file.
12359         * modules/dprintf: New file.
12360         * modules/dprintf-posix: New file.
12361         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
12362         HAVE_DPRINTF, REPLACE_DPRINTF.
12363         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
12364         HAVE_DPRINTF, REPLACE_DPRINTF.
12365         * doc/posix-functions/dprintf.texi: Mention the new modules.
12366
12367 2009-01-17  Bruno Haible  <bruno@clisp.org>
12368
12369         * modules/vdprintf-posix-tests: New file.
12370         * tests/test-vdprintf-posix.sh: New file.
12371         * tests/test-vdprintf-posix.c: New file.
12372
12373         New modules 'vdprintf', 'vdprintf-posix'.
12374         * lib/stdio.in.h (vdprintf): New declaration.
12375         * lib/vdprintf.c: New file.
12376         * m4/vdprintf.m4: New file.
12377         * m4/vdprintf-posix.m4: New file.
12378         * modules/vdprintf: New file.
12379         * modules/vdprintf-posix: New file.
12380         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
12381         HAVE_VDPRINTF, REPLACE_VDPRINTF.
12382         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
12383         HAVE_VDPRINTF, REPLACE_VDPRINTF.
12384         * doc/posix-functions/vdprintf.texi: Mention the new modules.
12385
12386 2009-01-17  Bruno Haible  <bruno@clisp.org>
12387
12388         Fix replacement of fopen on mingw.
12389         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
12390         mingw.
12391
12392 2009-01-17  Bruno Haible  <bruno@clisp.org>
12393
12394         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
12395         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
12396
12397 2009-01-17  Bruno Haible  <bruno@clisp.org>
12398
12399         Avoid test-fflush2.sh failure on mingw.
12400         * tests/test-fflush2.c: Include binary-io.h.
12401         (main): Put standard input into binary mode.
12402         * modules/fflush-tests (Depends-on): Add binary-io.
12403
12404 2009-01-17  Bruno Haible  <bruno@clisp.org>
12405
12406         * lib/wchar.in.h: In another particular situation, include only the
12407         system's <wchar.h> file.
12408         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
12409         Reported by Albert Chin-A-Young <china@thewrittenword.com>
12410         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
12411
12412 2009-01-17  Bruno Haible  <bruno@clisp.org>
12413
12414         Support for stripping executables in --enable-relocatable.
12415         * build-aux/install-reloc: Expect one more argument, or an environment
12416         variable RELOC_STRIP_PROG. If set, strip the destination program and
12417         its wrapper.
12418         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
12419         RELOC_STRIP_PROG.
12420         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
12421         to set RELOCATABLE_STRIP.
12422         * NEWS: Mention the new Makefile requirement.
12423
12424 2009-01-17  Bruno Haible  <bruno@clisp.org>
12425
12426         * build-aux/install-reloc: Remove debugging information left over by
12427         C compiler on MacOS X.
12428
12429 2009-01-17  Bruno Haible  <bruno@clisp.org>
12430
12431         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
12432         * lib/progreloc.c (find_executable): Fix type of pointer passed to
12433         _NSGetExecutablePath.
12434
12435 2009-01-16  Jim Meyering  <meyering@redhat.com>
12436
12437         strerror: avoid warnings about discarding "const"
12438         * lib/strerror.c (rpl_strerror): Instead of returning a const
12439         string from each and every "case", use a variable, and add a single
12440         cast after the switch.
12441
12442 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
12443
12444         * lib/arpa_inet.in.h: Add extern "C" block for C++.
12445
12446 2009-01-16  Bruno Haible  <bruno@clisp.org>
12447
12448         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
12449         array initializer syntax that also works in C++ mode.
12450         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
12451
12452 2009-01-16  Jim Meyering  <meyering@redhat.com>
12453
12454         poll: suppress a warning
12455         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
12456         to ignore "...unsigned expression < 0 is always false" warnings.
12457
12458 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
12459
12460         poll: remove declarations of unused variables
12461         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
12462         sockbuf and optlen.
12463
12464 2009-01-15  Bruno Haible  <bruno@clisp.org>
12465
12466         Make fflush-after-ungetc POSIX compliant on BSD systems.
12467         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
12468         (clear_ungetc_buffer): Implement also for other systems.
12469         (rpl_fflush): On glibc systems, invoke
12470         clear_ungetc_buffer_preserving_position. Otherwise, invoke
12471         clear_ungetc_buffer after fetching the stream's position, not before.
12472
12473 2009-01-15  Bruno Haible  <bruno@clisp.org>
12474
12475         Make fflush-after-ungetc POSIX compliant on glibc systems.
12476         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
12477         after ungetc.
12478         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
12479         (rpl_fflush): On glibc systems, simply call the system's fflush
12480         function after clearing the ungetc buffer.
12481         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
12482         Instead, lseek only to the end of file, then use the system's fseeko
12483         for the rest. On glibc systems, reset the EOF indicator bit.
12484
12485 2009-01-15  Jim Meyering  <meyering@redhat.com>
12486
12487         openmp.m4: revert quote-adding change, for portability to older autoconf
12488         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
12489         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
12490         Simon Josefsson noticed the problem when using autoconf-2.61.
12491
12492 2009-01-15  Bruno Haible  <bruno@clisp.org>
12493
12494         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
12495         * tests/test-fflush2.c (ASSERT): Always fail.
12496         (main): Add two tests for fflush() after ungetc(), taking into account
12497         the Austin Group's clarification.
12498         Suggested by Eric Blake.
12499
12500 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
12501
12502         mktime.m4: remove K&R-style function prototypes
12503         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
12504         for the Sun C++ compiler.
12505
12506 2009-01-14  Bruno Haible  <bruno@clisp.org>
12507
12508         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
12509         while including <wchar.h>.
12510         * lib/wchar.in.h: In two particular situations on HP-UX, include only
12511         the system's <wchar.h> file.
12512         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
12513
12514 2009-01-14  Bruno Haible  <bruno@clisp.org>
12515
12516         * m4/csharp.m4: Don't mention gettext on the serial number line.
12517         * m4/csharpexec.m4: Likewise.
12518         * m4/eaccess.m4: Likewise.
12519         * m4/javaexec.m4: Likewise.
12520         * m4/sig_atomic_t.m4: Likewise.
12521         * m4/tmpdir.m4: Likewise.
12522         * m4/intldir.m4: Bump gettext version.
12523         * m4/lib-ld.m4: Likewise.
12524
12525 2009-01-14  Bruno Haible  <bruno@clisp.org>
12526
12527         * lib/progname.c (set_program_name): Add more comments.
12528         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
12529
12530 2009-01-14  Simon Josefsson  <simon@josefsson.org>
12531
12532         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
12533         were sys/stat.h does not define it.
12534
12535 2009-01-14  Jim Meyering  <meyering@redhat.com>
12536
12537         many *.m4 files: improve m4 quoting
12538         99% of this change was performed by running the following commands:
12539         git ls-files | grep '\.m4$' | xargs perl -pi \
12540           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
12541           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
12542           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
12543           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
12544         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
12545         The remainder were to add Copyright dates, increment serial numbers,
12546         undo some changes in comments, exclude m4/intl.m4, and add quotes
12547         around the "1" in ",1" where the unusual spacing prohibited the
12548         above regexps from doing the job.  For more details, see
12549         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
12550         * m4/acl.m4: Modified.
12551         * m4/afs.m4: Likewise.
12552         * m4/alloca.m4: Likewise.
12553         * m4/argp.m4: Likewise.
12554         * m4/argz.m4: Likewise.
12555         * m4/atexit.m4: Likewise.
12556         * m4/bison-i18n.m4: Likewise.
12557         * m4/bison.m4: Likewise.
12558         * m4/byteswap.m4: Likewise.
12559         * m4/c-stack.m4: Likewise.
12560         * m4/c-strtod.m4: Likewise.
12561         * m4/calloc.m4: Likewise.
12562         * m4/canonicalize-lgpl.m4: Likewise.
12563         * m4/chown.m4: Likewise.
12564         * m4/clock_time.m4: Likewise.
12565         * m4/codeset.m4: Likewise.
12566         * m4/copy-file.m4: Likewise.
12567         * m4/csharp.m4: Likewise.
12568         * m4/csharpcomp.m4: Likewise.
12569         * m4/csharpexec.m4: Likewise.
12570         * m4/d-ino.m4: Likewise.
12571         * m4/d-type.m4: Likewise.
12572         * m4/dirfd.m4: Likewise.
12573         * m4/double-slash-root.m4: Likewise.
12574         * m4/eaccess.m4: Likewise.
12575         * m4/eealloc.m4: Likewise.
12576         * m4/environ.m4: Likewise.
12577         * m4/errno_h.m4: Likewise.
12578         * m4/euidaccess.m4: Likewise.
12579         * m4/execute.m4: Likewise.
12580         * m4/fatal-signal.m4: Likewise.
12581         * m4/fchdir.m4: Likewise.
12582         * m4/fcntl_h.m4: Likewise.
12583         * m4/fileblocks.m4: Likewise.
12584         * m4/filenamecat.m4: Likewise.
12585         * m4/findprog.m4: Likewise.
12586         * m4/flexmember.m4: Likewise.
12587         * m4/fnmatch.m4: Likewise.
12588         * m4/fopen.m4: Likewise.
12589         * m4/fpending.m4: Likewise.
12590         * m4/fprintf-posix.m4: Likewise.
12591         * m4/free.m4: Likewise.
12592         * m4/frexp.m4: Likewise.
12593         * m4/frexpl.m4: Likewise.
12594         * m4/fsusage.m4: Likewise.
12595         * m4/ftruncate.m4: Likewise.
12596         * m4/gc-camellia.m4: Likewise.
12597         * m4/gc-random.m4: Likewise.
12598         * m4/gc.m4: Likewise.
12599         * m4/getaddrinfo.m4: Likewise.
12600         * m4/getcwd-abort-bug.m4: Likewise.
12601         * m4/getcwd-path-max.m4: Likewise.
12602         * m4/getdate.m4: Likewise.
12603         * m4/getdomainname.m4: Likewise.
12604         * m4/getgroups.m4: Likewise.
12605         * m4/gethostname.m4: Likewise.
12606         * m4/gethrxtime.m4: Likewise.
12607         * m4/getline.m4: Likewise.
12608         * m4/getloadavg.m4: Likewise.
12609         * m4/getndelim2.m4: Likewise.
12610         * m4/getpass.m4: Likewise.
12611         * m4/gettext.m4: Likewise.
12612         * m4/gettime.m4: Likewise.
12613         * m4/gettimeofday.m4: Likewise.
12614         * m4/gnulib-common.m4: Likewise.
12615         * m4/group-member.m4: Likewise.
12616         * m4/host-os.m4: Likewise.
12617         * m4/iconv.m4: Likewise.
12618         * m4/iconv_open.m4: Likewise.
12619         * m4/inet_ntop.m4: Likewise.
12620         * m4/inet_pton.m4: Likewise.
12621         * m4/inline.m4: Likewise.
12622         * m4/intldir.m4: Likewise.
12623         * m4/intlmacosx.m4: Likewise.
12624         * m4/intmax.m4: Likewise.
12625         * m4/intmax_t.m4: Likewise.
12626         * m4/inttypes.m4: Likewise.
12627         * m4/inttypes_h.m4: Likewise.
12628         * m4/inttypes-pri.m4: Likewise.
12629         * m4/isapipe.m4: Likewise.
12630         * m4/isnand.m4: Likewise.
12631         * m4/isnanf.m4: Likewise.
12632         * m4/isnanl.m4: Likewise.
12633         * m4/javacomp.m4: Likewise.
12634         * m4/javaexec.m4: Likewise.
12635         * m4/jm-winsz1.m4: Likewise.
12636         * m4/jm-winsz2.m4: Likewise.
12637         * m4/lchown.m4: Likewise.
12638         * m4/lcmessage.m4: Likewise.
12639         * m4/ldexpl.m4: Likewise.
12640         * m4/lib-ld.m4: Likewise.
12641         * m4/lib-link.m4: Likewise.
12642         * m4/libsigsegv.m4: Likewise.
12643         * m4/link-follow.m4: Likewise.
12644         * m4/localcharset.m4: Likewise.
12645         * m4/locale-fr.m4: Likewise.
12646         * m4/locale-ja.m4: Likewise.
12647         * m4/locale-tr.m4: Likewise.
12648         * m4/locale-zh.m4: Likewise.
12649         * m4/lock.m4: Likewise.
12650         * m4/longlong.m4: Likewise.
12651         * m4/ls-mntd-fs.m4: Likewise.
12652         * m4/lstat.m4: Likewise.
12653         * m4/malloc.m4: Likewise.
12654         * m4/mathl.m4: Likewise.
12655         * m4/mbrtowc.m4: Likewise.
12656         * m4/mbstate_t.m4: Likewise.
12657         * m4/mbswidth.m4: Likewise.
12658         * m4/memchr.m4: Likewise.
12659         * m4/memcmp.m4: Likewise.
12660         * m4/memcpy.m4: Likewise.
12661         * m4/memmem.m4: Likewise.
12662         * m4/memmove.m4: Likewise.
12663         * m4/mempcpy.m4: Likewise.
12664         * m4/memrchr.m4: Likewise.
12665         * m4/memset.m4: Likewise.
12666         * m4/minmax.m4: Likewise.
12667         * m4/mkdir-slash.m4: Likewise.
12668         * m4/mkdtemp.m4: Likewise.
12669         * m4/mktime.m4: Likewise.
12670         * m4/mmap-anon.m4: Likewise.
12671         * m4/mountlist.m4: Likewise.
12672         * m4/nanosleep.m4: Likewise.
12673         * m4/nls.m4: Likewise.
12674         * m4/nocrash.m4: Likewise.
12675         * m4/open.m4: Likewise.
12676         * m4/openat.m4: Likewise.
12677         * m4/openmp.m4: Likewise.
12678         * m4/pathmax.m4: Likewise.
12679         * m4/perl.m4: Likewise.
12680         * m4/physmem.m4: Likewise.
12681         * m4/pipe.m4: Likewise.
12682         * m4/po.m4: Likewise.
12683         * m4/poll.m4: Likewise.
12684         * m4/posixtm.m4: Likewise.
12685         * m4/posixver.m4: Likewise.
12686         * m4/printf-frexp.m4: Likewise.
12687         * m4/printf-frexpl.m4: Likewise.
12688         * m4/printf-posix.m4: Likewise.
12689         * m4/printf-posix-rpl.m4: Likewise.
12690         * m4/printf.m4: Likewise.
12691         * m4/progtest.m4: Likewise.
12692         * m4/putenv.m4: Likewise.
12693         * m4/readline.m4: Likewise.
12694         * m4/readlink.m4: Likewise.
12695         * m4/readutmp.m4: Likewise.
12696         * m4/realloc.m4: Likewise.
12697         * m4/regex.m4: Likewise.
12698         * m4/relocatable.m4: Likewise.
12699         * m4/relocatable-lib.m4: Likewise.
12700         * m4/rename-dest-slash.m4: Likewise.
12701         * m4/rename.m4: Likewise.
12702         * m4/rmdir-errno.m4: Likewise.
12703         * m4/rmdir.m4: Likewise.
12704         * m4/roundf.m4: Likewise.
12705         * m4/roundl.m4: Likewise.
12706         * m4/rpmatch.m4: Likewise.
12707         * m4/save-cwd.m4: Likewise.
12708         * m4/selinux-selinux-h.m4: Likewise.
12709         * m4/setenv.m4: Likewise.
12710         * m4/settime.m4: Likewise.
12711         * m4/sig2str.m4: Likewise.
12712         * m4/sig_atomic_t.m4: Likewise.
12713         * m4/signalblocking.m4: Likewise.
12714         * m4/signbit.m4: Likewise.
12715         * m4/sigpipe.m4: Likewise.
12716         * m4/sockets.m4: Likewise.
12717         * m4/sockpfaf.m4: Likewise.
12718         * m4/st_dm_mode.m4: Likewise.
12719         * m4/stat-time.m4: Likewise.
12720         * m4/stdbool.m4: Likewise.
12721         * m4/stdint.m4: Likewise.
12722         * m4/stdint_h.m4: Likewise.
12723         * m4/stpcpy.m4: Likewise.
12724         * m4/stpncpy.m4: Likewise.
12725         * m4/strcase.m4: Likewise.
12726         * m4/strchrnul.m4: Likewise.
12727         * m4/strcspn.m4: Likewise.
12728         * m4/strdup.m4: Likewise.
12729         * m4/strftime.m4: Likewise.
12730         * m4/strndup.m4: Likewise.
12731         * m4/strnlen.m4: Likewise.
12732         * m4/strpbrk.m4: Likewise.
12733         * m4/strptime.m4: Likewise.
12734         * m4/strsep.m4: Likewise.
12735         * m4/strtod.m4: Likewise.
12736         * m4/strtoimax.m4: Likewise.
12737         * m4/strtok_r.m4: Likewise.
12738         * m4/strtol.m4: Likewise.
12739         * m4/strtoll.m4: Likewise.
12740         * m4/strtoul.m4: Likewise.
12741         * m4/strtoull.m4: Likewise.
12742         * m4/strtoumax.m4: Likewise.
12743         * m4/strverscmp.m4: Likewise.
12744         * m4/threadlib.m4: Likewise.
12745         * m4/timegm.m4: Likewise.
12746         * m4/tm_gmtoff.m4: Likewise.
12747         * m4/tmpdir.m4: Likewise.
12748         * m4/tmpfile.m4: Likewise.
12749         * m4/tzset.m4: Likewise.
12750         * m4/uintmax_t.m4: Likewise.
12751         * m4/unlinkdir.m4: Likewise.
12752         * m4/unlocked-io.m4: Likewise.
12753         * m4/uptime.m4: Likewise.
12754         * m4/userspec.m4: Likewise.
12755         * m4/utimbuf.m4: Likewise.
12756         * m4/utime.m4: Likewise.
12757         * m4/utimes-null.m4: Likewise.
12758         * m4/utimes.m4: Likewise.
12759         * m4/vararrays.m4: Likewise.
12760         * m4/vasnprintf.m4: Likewise.
12761         * m4/vfprintf-posix.m4: Likewise.
12762         * m4/vprintf-posix.m4: Likewise.
12763         * m4/wait-process.m4: Likewise.
12764         * m4/wchar_t.m4: Likewise.
12765         * m4/wint_t.m4: Likewise.
12766         * m4/write-any-file.m4: Likewise.
12767         * m4/yield.m4: Likewise.
12768
12769 2009-01-13  Bruno Haible  <bruno@clisp.org>
12770
12771         Avoid test-copy-file.sh failures when ACL support insufficient.
12772         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
12773         TESTS_ENVIRONMENT.
12774         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
12775         Reported by Jim Meyering.
12776
12777 2009-01-13  Bruno Haible  <bruno@clisp.org>
12778
12779         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
12780         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
12781         * modules/unistdio/u8-printf-parse (Files): Likewise.
12782         * modules/unistdio/u32-printf-parse (Files): Likewise.
12783         * modules/unistdio/ulc-printf-parse (Files): Likewise.
12784
12785 2009-01-13  Simon Josefsson  <simon@josefsson.org>
12786
12787         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
12788         and m4/inttypes_h.m4 too.
12789
12790 2009-01-12  Eric Blake  <ebb9@byu.net>
12791
12792         tests: IRIX 6.2 cc can't compile -0.0 into .data
12793         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
12794         rather than at compile-time.
12795         * tests/test-floorl.c (minus_zero): Likewise.
12796         * tests/test-frexpl.c (minus_zero): Likewise.
12797         * tests/test-isnan.c (minus_zerol): Likewise.
12798         * tests/test-isnanl.h (minus_zero): Likewise.
12799         * tests/test-ldexpl.c (minus_zero): Likewise.
12800         * tests/test-roundl.c (minus_zero): Likewise.
12801         * tests/test-signbit.c (minus_zerol): Likewise.
12802         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
12803         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
12804         * tests/test-truncl.c (minus_zero): Likewise.
12805         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
12806         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
12807         Reported by Tom G. Christensen and Nelson H. F. Beebe.
12808
12809 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
12810
12811         regex: fix glibc bug 9697
12812         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
12813         handling.
12814
12815 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
12816
12817         regex: fix glibc bug 697
12818         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
12819         being NULL also if there are no backreferences.
12820
12821 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
12822
12823         regex: merge glibc changes
12824         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
12825         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
12826         re_string_skip_chars, re_string_reconstruct): Likewise.
12827         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
12828
12829 2009-01-07  Jim Meyering  <meyering@redhat.com>
12830
12831         poll: filter through cppi
12832         * lib/poll.c: Indent cpp directives to reflect nesting.
12833
12834 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
12835
12836         poll: don't return uninitialized
12837         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
12838
12839 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
12840
12841         avoid compile failure on AIX 6.1
12842         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
12843         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
12844
12845 2009-01-04  Jim Meyering  <meyering@redhat.com>
12846
12847         remove duplicate inclusion of <stdio.h>
12848         * tests/test-fprintf-posix.c: Likewise.
12849         * tests/test-printf-posix.c: Likewise.
12850         * tests/test-snprintf-posix.c: Likewise.
12851         * tests/test-sprintf-posix.c: Likewise.
12852         * tests/test-vasprintf-posix.c: Likewise.
12853         * tests/test-vfprintf-posix.c: Likewise.
12854         * tests/test-vprintf-posix.c: Likewise.
12855         * tests/test-vsnprintf-posix.c: Likewise.
12856         * tests/test-vsprintf-posix.c: Likewise.
12857
12858 2009-01-03  Jim Meyering  <meyering@redhat.com>
12859
12860         gnulib-tool: fix sed-based filtering
12861         * gnulib-tool (func_filter_filelist): Remove extra backslash
12862         in sed_fff_filter definition.
12863
12864 2009-01-02  Jim Meyering  <meyering@redhat.com>
12865
12866         strftime: avoid compilation failure on Solaris 2.6
12867         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
12868         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
12869         Don't #define mbrlen or mbsinit, since now they're guaranteed to
12870         be available.  Reported by Tom G. Christensen.  Details in
12871         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
12872
12873 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12874             Bruno Haible  <bruno@clisp.org>
12875
12876         Speed up gnulib-tool by doing more string processing through shell
12877         built-ins.
12878         * gnulib-tool (fast_func_append): New variable.
12879         (func_remove_prefix, func_remove_suffix): New functions.
12880         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
12881         (func_filter_filelist): New function.
12882         (func_get_dependencies): Use func_remove_suffix instead of sed.
12883         (func_get_automake_snippet): Use func_filter_filelist instead of a
12884         subshell and sed invocation.
12885
12886 2009-01-01  Bruno Haible  <bruno@clisp.org>
12887
12888         Fix a security bug.
12889         * gnulib-tool (func_import, import, update): Don't allow the characters
12890         '"', '$', '`', '\' in macro arguments that become part of commands that
12891         are evaluated.
12892
12893 2009-01-01  Bruno Haible  <bruno@clisp.org>
12894
12895         * gnulib-tool (func_reset_sigpipe): Add more comments.
12896
12897 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12898
12899         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
12900         func_emit_tests_Makefile_am, func_import): Abort loops early if we
12901         already know the answer.
12902
12903 2009-01-01  Jim Meyering  <meyering@redhat.com>
12904
12905         * lib/version-etc.c (version_etc_va): Update copyright year.
12906
12907 2008-12-30  Bruno Haible  <bruno@clisp.org>
12908
12909         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
12910         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
12911         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
12912
12913 2008-12-29  Eric Blake  <ebb9@byu.net>
12914
12915         multiarch: avoid autoconf AC_REQUIRE bug
12916         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
12917         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
12918         2.63 and older.
12919         Reported by Bruno Haible, and analyzed in
12920         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
12921
12922 2008-12-29  Bruno Haible  <bruno@clisp.org>
12923
12924         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
12925         files in subdirectories correctly.
12926         Reported by Ralf Wildenhues.
12927
12928 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12929
12930         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
12931         rather than 'join FILE -', for Solaris join.
12932
12933 2008-12-29  Bruno Haible  <bruno@clisp.org>
12934
12935         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
12936         quoting.
12937         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
12938         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
12939         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
12940         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
12941         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
12942         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
12943         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
12944         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
12945         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
12946         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
12947         * m4/nls.m4 (AM_NLS): Likewise.
12948         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
12949         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
12950         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
12951         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
12952         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
12953         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
12954         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
12955         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
12956         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
12957         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
12958         * m4/xsize.m4 (gl_XSIZE): Likewise.
12959         Suggested by Jim Meyering.
12960
12961 2008-11-17  Bruce Korb  <bkorb@gnu.org>
12962
12963         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
12964         * lib/parse-duration.c: use a switch instead of cascading if's.
12965
12966 2008-12-29  Eric Blake  <ebb9@byu.net>
12967
12968         wchar.h: supply WEOF on Irix 5.3
12969         * lib/wchar.in.h (wint_t): Also supply WEOF.
12970         * lib/wctype.in.h (wint_t): Likewise.
12971         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
12972         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
12973         Reported by Tom G. Christensen.
12974
12975 2008-12-26  Bruno Haible  <bruno@clisp.org>
12976
12977         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
12978         i486, i586, i686.
12979
12980 2008-12-26  Bruno Haible  <bruno@clisp.org>
12981
12982         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
12983
12984 2008-12-26  Bruno Haible  <bruno@clisp.org>
12985
12986         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
12987         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
12988         not __STDC_CONSTANT_MACROS.
12989         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
12990
12991 2008-12-25  Bruno Haible  <bruno@clisp.org>
12992
12993         Add support for universal builds to vasnprintf.
12994         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
12995         universal builds, guess no.
12996         * modules/vasnprintf-posix (Depends-on): Add multiarch.
12997         * modules/vasprintf-posix (Depends-on): Likewise.
12998         * modules/fprintf-posix (Depends-on): Likewise.
12999         * modules/vfprintf-posix (Depends-on): Likewise.
13000         * modules/snprintf-posix (Depends-on): Likewise.
13001         * modules/vsnprintf-posix (Depends-on): Likewise.
13002         * modules/sprintf-posix (Depends-on): Likewise.
13003         * modules/vsprintf-posix (Depends-on): Likewise.
13004         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
13005         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
13006         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
13007         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
13008         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
13009         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
13010         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
13011
13012         Add support for universal builds to <inttypes.h>.
13013         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
13014         _SCNu64_PREFIX): In Apple
13015         universal builds, define directly, using _LP64.
13016         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
13017         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
13018         * modules/inttypes (Depends-on): Add multiarch.
13019         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
13020
13021         Add support for universal builds to <stdint.h>.
13022         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
13023         universal builds, define directly, using _LP64.
13024         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
13025         Apple universal builds, don't test for the size and suffix of ptrdiff_t
13026         and size_t.
13027         * modules/stdint (Depends-on): Add multiarch.
13028         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
13029
13030         New module 'multiarch'.
13031         * modules/multiarch: New file.
13032         * m4/multiarch.m4: New file.
13033
13034 2008-12-25  Bruno Haible  <bruno@clisp.org>
13035
13036         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
13037
13038 2008-12-25  Bruno Haible  <bruno@clisp.org>
13039
13040         * modules/btowc (License): Relicense under LGPLv2+.
13041         * modules/mbsinit (License): Likewise.
13042         * modules/mbrtowc (License): Likewise.
13043         * modules/wcrtomb (License): Likewise.
13044         * modules/streq (License): Likewise.
13045         Reported by David Lutterkort <lutter@redhat.com>.
13046
13047 2008-12-23  Bruno Haible  <bruno@clisp.org>
13048
13049         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
13050
13051 2008-12-23  Bruno Haible  <bruno@clisp.org>
13052
13053         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
13054         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
13055         GETADDRINFO_LIB, not in LIBS.
13056         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
13057         * modules/canon-host (Link): Likewise.
13058         * NEWS: Mention the change.
13059         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
13060         GETADDRINFO_LIB.
13061
13062 2008-12-22  Bruno Haible  <bruno@clisp.org>
13063
13064         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
13065         * doc/posix-functions/iswalpha_l.texi: Likewise.
13066         * doc/posix-functions/iswblank_l.texi: Likewise.
13067         * doc/posix-functions/iswcntrl_l.texi: Likewise.
13068         * doc/posix-functions/iswctype_l.texi: Likewise.
13069         * doc/posix-functions/iswdigit_l.texi: Likewise.
13070         * doc/posix-functions/iswgraph_l.texi: Likewise.
13071         * doc/posix-functions/iswlower_l.texi: Likewise.
13072         * doc/posix-functions/iswprint_l.texi: Likewise.
13073         * doc/posix-functions/iswpunct_l.texi: Likewise.
13074         * doc/posix-functions/iswspace_l.texi: Likewise.
13075         * doc/posix-functions/iswupper_l.texi: Likewise.
13076         * doc/posix-functions/iswxdigit_l.texi: Likewise.
13077         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
13078         * doc/posix-functions/open_wmemstream.texi: Likewise.
13079         * doc/posix-functions/swscanf.texi: Likewise.
13080         * doc/posix-functions/towctrans_l.texi: Likewise.
13081         * doc/posix-functions/towlower.texi: Likewise.
13082         * doc/posix-functions/towlower_l.texi: Likewise.
13083         * doc/posix-functions/towupper.texi: Likewise.
13084         * doc/posix-functions/towupper_l.texi: Likewise.
13085         * doc/posix-functions/vfwprintf.texi: Likewise.
13086         * doc/posix-functions/vfwscanf.texi: Likewise.
13087         * doc/posix-functions/vswscanf.texi: Likewise.
13088         * doc/posix-functions/vwprintf.texi: Likewise.
13089         * doc/posix-functions/vwscanf.texi: Likewise.
13090         * doc/posix-functions/wcpcpy.texi: Likewise.
13091         * doc/posix-functions/wcpncpy.texi: Likewise.
13092         * doc/posix-functions/wcscasecmp.texi: Likewise.
13093         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
13094         * doc/posix-functions/wcscoll_l.texi: Likewise.
13095         * doc/posix-functions/wcsdup.texi: Likewise.
13096         * doc/posix-functions/wcsncasecmp.texi: Likewise.
13097         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
13098         * doc/posix-functions/wcsnlen.texi: Likewise.
13099         * doc/posix-functions/wcsnrtombs.texi: Likewise.
13100         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
13101         * doc/posix-functions/wctrans_l.texi: Likewise.
13102         * doc/posix-functions/wctype_l.texi: Likewise.
13103         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
13104         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
13105         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
13106         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
13107         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
13108         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
13109         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
13110         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
13111         * doc/glibc-functions/wcschrnul.texi: Likewise.
13112         * doc/glibc-functions/wcsftime_l.texi: Likewise.
13113         * doc/glibc-functions/wcstod_l.texi: Likewise.
13114         * doc/glibc-functions/wcstof_l.texi: Likewise.
13115         * doc/glibc-functions/wcstol_l.texi: Likewise.
13116         * doc/glibc-functions/wcstold_l.texi: Likewise.
13117         * doc/glibc-functions/wcstoll_l.texi: Likewise.
13118         * doc/glibc-functions/wcstoq.texi: Likewise.
13119         * doc/glibc-functions/wcstoul_l.texi: Likewise.
13120         * doc/glibc-functions/wcstoull_l.texi: Likewise.
13121         * doc/glibc-functions/wcstouq.texi: Likewise.
13122         * doc/glibc-functions/wmempcpy.texi: Likewise.
13123
13124 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
13125             Eric Blake  <ebb9@byu.net>
13126             Paolo Bonzini  <bonzini@gnu.org>
13127             Bruno Haible  <bruno@clisp.org>
13128
13129         Make c-stack work on Haiku.
13130         * lib/c-stack.c (SA_ONSTACK): Define fallback.
13131         (c_stack_action): Use SA_ONSTACK flag.
13132
13133 2008-12-22  Bruno Haible  <bruno@clisp.org>
13134
13135         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
13136
13137 2008-12-22  Bruno Haible  <bruno@clisp.org>
13138
13139         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
13140         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
13141         being overridden.
13142         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
13143         New macros.
13144         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
13145         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
13146         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
13147         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
13148
13149 2008-12-22  Bruno Haible  <bruno@clisp.org>
13150
13151         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
13152         from test code.
13153
13154 2008-12-22  Eric Blake  <ebb9@byu.net>
13155
13156         Avoid gcc warnings on cygwin.
13157         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
13158         Avoid unused variable.
13159         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
13160         Likewise.
13161
13162 2008-12-22  Bruno Haible  <bruno@clisp.org>
13163
13164         Remove HAVE_MBRTOWC conditionals.
13165         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
13166         (mbscasecmp): Assume mbrtowc function.
13167         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
13168         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
13169         * lib/mbschr.c: Include mbuiter.h unconditionally.
13170         (mbschr): Assume mbrtowc function.
13171         * lib/mbscspn.c: Include mbuiter.h unconditionally.
13172         (mbscspn): Assume mbrtowc function.
13173         * lib/mbslen.c: Include mbuiter.h unconditionally.
13174         (mbslen): Assume mbrtowc function.
13175         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
13176         (mbsncasecmp): Assume mbrtowc function.
13177         * lib/mbsnlen.c: Include mbiter.h unconditionally.
13178         (mbsnlen): Assume mbrtowc function.
13179         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
13180         (mbspbrk): Assume mbrtowc function.
13181         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
13182         (mbspcasecmp): Assume mbrtowc function.
13183         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
13184         (mbsrchr): Assume mbrtowc function.
13185         * lib/mbssep.c: Include mbuiter.h unconditionally.
13186         (mbssep): Assume mbrtowc function.
13187         * lib/mbsspn.c: Include mbuiter.h unconditionally.
13188         (mbsspn): Assume mbrtowc function.
13189         * lib/mbsstr.c: Include mbuiter.h unconditionally.
13190         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
13191         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
13192         (mbstok_r): Assume mbrtowc function.
13193         * lib/propername.c: Include mbuiter.h unconditionally.
13194         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
13195         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
13196         (trim2): Assume mbrtowc function.
13197         * lib/mbswidth.c (mbsinit): Remove fallback definition.
13198         (mbsnwidth): Assume mbrtowc function.
13199         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
13200         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
13201         fallback definitions.
13202         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
13203
13204 2008-12-22  Bruno Haible  <bruno@clisp.org>
13205
13206         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
13207
13208 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
13209
13210         * modules/regex: Request emulations for the mb*/wc* functions we need.
13211         * m4/regex.m4: Don't look for those functions here.
13212         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
13213
13214 2008-12-22  Bruno Haible  <bruno@clisp.org>
13215
13216         * modules/fnmatch (Depends-on): Remove duplicated dependency.
13217
13218 2008-12-21  Bruno Haible  <bruno@clisp.org>
13219
13220         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
13221         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
13222         (Include): Remove conditionalization.
13223         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
13224         (Include): Remove conditionalization.
13225         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
13226         (Include): Remove conditionalization.
13227         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
13228         * m4/mbfile.m4 (gl_MBFILE): Likewise.
13229         * NEWS: Mention the change.
13230         Reported by Alan Hourihane <alanh@fairlite.co.uk>
13231         via Sergey Poznyakoff <gray@gnu.org.ua>.
13232
13233 2008-12-21  Bruno Haible  <bruno@clisp.org>
13234
13235         * MODULES.html.sh (Extended multibyte and wide character utilities
13236         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
13237         wcrtomb, wcsrtombs.
13238         (Support for systems lacking POSIX:2008): Add accept, bind, close,
13239         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
13240         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
13241         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
13242
13243 2008-12-21  Bruno Haible  <bruno@clisp.org>
13244
13245         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
13246
13247 2008-12-21  Bruno Haible  <bruno@clisp.org>
13248
13249         * modules/wcsnrtombs-tests: New file.
13250         * tests/test-wcsnrtombs1.sh: New file.
13251         * tests/test-wcsnrtombs2.sh: New file.
13252         * tests/test-wcsnrtombs3.sh: New file.
13253         * tests/test-wcsnrtombs4.sh: New file.
13254         * tests/test-wcsnrtombs.c: New file.
13255
13256         New module 'wcsnrtombs'.
13257         * lib/wchar.in.h (wcsnrtombs): New declaration.
13258         * lib/wcsnrtombs.c: New file.
13259         * lib/wcsrtombs-state.c: New file.
13260         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
13261         (internal_state): Remove variable.
13262         * m4/wcsnrtombs.m4: New file.
13263         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
13264         compilation units.
13265         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
13266         HAVE_WCSNRTOMBS.
13267         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
13268         HAVE_WCSNRTOMBS.
13269         * modules/wcsnrtombs: New file.
13270         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
13271         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
13272
13273 2008-12-21  Bruno Haible  <bruno@clisp.org>
13274
13275         * modules/wcsrtombs-tests: New file.
13276         * tests/test-wcsrtombs1.sh: New file.
13277         * tests/test-wcsrtombs2.sh: New file.
13278         * tests/test-wcsrtombs3.sh: New file.
13279         * tests/test-wcsrtombs4.sh: New file.
13280         * tests/test-wcsrtombs.c: New file.
13281
13282         New module 'wcsrtombs'.
13283         * lib/wchar.in.h (wcsrtombs): New declaration.
13284         * lib/wcsrtombs.c: New file.
13285         * m4/wcsrtombs.m4: New file.
13286         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
13287         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
13288         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
13289         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
13290         * modules/wcsrtombs: New file.
13291         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
13292         bugs.
13293
13294 2008-12-21  Bruno Haible  <bruno@clisp.org>
13295
13296         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
13297         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
13298         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
13299         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
13300         if not correct.
13301         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
13302         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
13303         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
13304         m4/locale-zh.m4, m4/codeset.m4.
13305         * doc/posix-functions/wcrtomb.texi: Document the bug.
13306
13307 2008-12-21  Bruno Haible  <bruno@clisp.org>
13308
13309         Work around a btowc() bug on IRIX 6.5.
13310         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
13311         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
13312         REPLACE_WTOBC if not.
13313         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
13314         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
13315         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
13316
13317 2008-12-21  Bruno Haible  <bruno@clisp.org>
13318
13319         * modules/wcrtomb-tests: New file.
13320         * tests/test-wcrtomb.sh: New file.
13321         * tests/test-wcrtomb.c: New file.
13322
13323         New module 'wcrtomb'.
13324         * lib/wchar.in.h (wcrtomb): New declaration.
13325         * lib/wcrtomb.c: New file.
13326         * m4/wcrtomb.m4: New file.
13327         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
13328         HAVE_WCRTOMB.
13329         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
13330         HAVE_WCRTOMB.
13331         * modules/wcrtomb: New file.
13332         * doc/posix-functions/wcrtomb.texi: Mention the new module.
13333
13334 2008-12-21  Bruno Haible  <bruno@clisp.org>
13335
13336         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
13337         * modules/mbsrtowcs (Files): Likewise.
13338         * modules/wctob (Files): Likewise.
13339         * modules/c-strcase-tests (Files): Likewise.
13340         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
13341         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
13342         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
13343         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
13344         * modules/vasnprintf-posix-tests (Files): Likewise.
13345
13346 2008-12-21  William Pursell  <bill.pursell@gmail.com>
13347
13348         gitlog-to-changelog: pass all command-line arguments to git-log
13349         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
13350         it is sometimes convenient to filter the commits in various ways.
13351         gitlog-to-changelog only allows --since to specify a start date,
13352         but git-log itself supports many other filtering mechanisms.
13353         At the moment, I want to filter by branch name.  Rather than
13354         adding a --branch option to gitlog-to-changelog, it seems more
13355         flexible to simply pass all options directly to git-log and let
13356         git do the work.  Notice that this effectively makes --since a
13357         redundant option for gitlog-to-changelog, but removing it would
13358         require current usage to change since calls would then require
13359         an additional '--'.
13360
13361 2008-12-21  Bruno Haible  <bruno@clisp.org>
13362
13363         * modules/mbsnrtowcs-tests: New file.
13364         * tests/test-mbsnrtowcs1.sh: New file.
13365         * tests/test-mbsnrtowcs2.sh: New file.
13366         * tests/test-mbsnrtowcs3.sh: New file.
13367         * tests/test-mbsnrtowcs4.sh: New file.
13368         * tests/test-mbsnrtowcs.c: New file.
13369
13370         New module 'mbsnrtowcs'.
13371         * lib/wchar.in.h (mbsnrtowcs): New declaration.
13372         * lib/mbsnrtowcs.c: New file.
13373         * lib/mbsrtowcs-state.c: New file.
13374         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
13375         (internal_state): Remove variable.
13376         * m4/mbsnrtowcs.m4: New file.
13377         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
13378         compilation units.
13379         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
13380         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
13381         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
13382         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
13383         * modules/mbsnrtowcs: New file.
13384         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
13385         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
13386         portability problem.
13387
13388 2008-12-21  Bruno Haible  <bruno@clisp.org>
13389
13390         Work around mbsrtowcs bug.
13391         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
13392         (gl_FUNC_MBSRTOWCS): Invoke it.
13393         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
13394         m4/locale-zh.m4.
13395         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
13396
13397 2008-12-21  Bruno Haible  <bruno@clisp.org>
13398
13399         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
13400
13401 2008-12-21  Bruno Haible  <bruno@clisp.org>
13402
13403         Update doc for AIX.
13404         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
13405         16-bit wchar_t type.
13406         * doc/posix-functions/btowc.texi: Likewise.
13407         * doc/posix-functions/fgetwc.texi: Likewise.
13408         * doc/posix-functions/fgetws.texi: Likewise.
13409         * doc/posix-functions/fputwc.texi: Likewise.
13410         * doc/posix-functions/fputws.texi: Likewise.
13411         * doc/posix-functions/fwide.texi: Likewise.
13412         * doc/posix-functions/fwprintf.texi: Likewise.
13413         * doc/posix-functions/fwscanf.texi: Likewise.
13414         * doc/posix-functions/getwchar.texi: Likewise.
13415         * doc/posix-functions/getwc.texi: Likewise.
13416         * doc/posix-functions/iswalnum.texi: Likewise.
13417         * doc/posix-functions/iswalpha.texi: Likewise.
13418         * doc/posix-functions/iswblank.texi: Likewise.
13419         * doc/posix-functions/iswcntrl.texi: Likewise.
13420         * doc/posix-functions/iswctype.texi: Likewise.
13421         * doc/posix-functions/iswdigit.texi: Likewise.
13422         * doc/posix-functions/iswgraph.texi: Likewise.
13423         * doc/posix-functions/iswlower.texi: Likewise.
13424         * doc/posix-functions/iswprint.texi: Likewise.
13425         * doc/posix-functions/iswpunct.texi: Likewise.
13426         * doc/posix-functions/iswspace.texi: Likewise.
13427         * doc/posix-functions/iswupper.texi: Likewise.
13428         * doc/posix-functions/iswxdigit.texi: Likewise.
13429         * doc/posix-functions/mbrtowc.texi: Likewise.
13430         * doc/posix-functions/mbsrtowcs.texi: Likewise.
13431         * doc/posix-functions/mbstowcs.texi: Likewise.
13432         * doc/posix-functions/mbtowc.texi: Likewise.
13433         * doc/posix-functions/putwchar.texi: Likewise.
13434         * doc/posix-functions/putwc.texi: Likewise.
13435         * doc/posix-functions/swprintf.texi: Likewise.
13436         * doc/posix-functions/tolower.texi: Likewise.
13437         * doc/posix-functions/toupper.texi: Likewise.
13438         * doc/posix-functions/towctrans.texi: Likewise.
13439         * doc/posix-functions/ungetwc.texi: Likewise.
13440         * doc/posix-functions/vswprintf.texi: Likewise.
13441         * doc/posix-functions/wcrtomb.texi: Likewise.
13442         * doc/posix-functions/wcscat.texi: Likewise.
13443         * doc/posix-functions/wcschr.texi: Likewise.
13444         * doc/posix-functions/wcscmp.texi: Likewise.
13445         * doc/posix-functions/wcscoll.texi: Likewise.
13446         * doc/posix-functions/wcscpy.texi: Likewise.
13447         * doc/posix-functions/wcscspn.texi: Likewise.
13448         * doc/posix-functions/wcsftime.texi: Likewise.
13449         * doc/posix-functions/wcslen.texi: Likewise.
13450         * doc/posix-functions/wcsncat.texi: Likewise.
13451         * doc/posix-functions/wcsncmp.texi: Likewise.
13452         * doc/posix-functions/wcsncpy.texi: Likewise.
13453         * doc/posix-functions/wcspbrk.texi: Likewise.
13454         * doc/posix-functions/wcsrchr.texi: Likewise.
13455         * doc/posix-functions/wcsrtombs.texi: Likewise.
13456         * doc/posix-functions/wcsspn.texi: Likewise.
13457         * doc/posix-functions/wcsstr.texi: Likewise.
13458         * doc/posix-functions/wcstod.texi: Likewise.
13459         * doc/posix-functions/wcstof.texi: Likewise.
13460         * doc/posix-functions/wcstoimax.texi: Likewise.
13461         * doc/posix-functions/wcstok.texi: Likewise.
13462         * doc/posix-functions/wcstold.texi: Likewise.
13463         * doc/posix-functions/wcstoll.texi: Likewise.
13464         * doc/posix-functions/wcstol.texi: Likewise.
13465         * doc/posix-functions/wcstombs.texi: Likewise.
13466         * doc/posix-functions/wcstoull.texi: Likewise.
13467         * doc/posix-functions/wcstoul.texi: Likewise.
13468         * doc/posix-functions/wcstoumax.texi: Likewise.
13469         * doc/posix-functions/wcswidth.texi: Likewise.
13470         * doc/posix-functions/wcsxfrm.texi: Likewise.
13471         * doc/posix-functions/wctob.texi: Likewise.
13472         * doc/posix-functions/wctomb.texi: Likewise.
13473         * doc/posix-functions/wctrans.texi: Likewise.
13474         * doc/posix-functions/wctype.texi: Likewise.
13475         * doc/posix-functions/wcwidth.texi: Likewise.
13476         * doc/posix-functions/wmemchr.texi: Likewise.
13477         * doc/posix-functions/wmemcmp.texi: Likewise.
13478         * doc/posix-functions/wmemcpy.texi: Likewise.
13479         * doc/posix-functions/wmemmove.texi: Likewise.
13480         * doc/posix-functions/wmemset.texi: Likewise.
13481         * doc/posix-functions/wprintf.texi: Likewise.
13482         * doc/posix-functions/wscanf.texi: Likewise.
13483
13484 2008-12-21  Bruno Haible  <bruno@clisp.org>
13485
13486         Update doc for HP-UX 11.11.
13487         * doc/posix-functions/btowc.texi: Clarify that the function is missing
13488         in HP-UX version 11.00, not in all versions of HP-UX 11.
13489         * doc/posix-functions/fwide.texi: Likewise.
13490         * doc/posix-functions/fwprintf.texi: Likewise.
13491         * doc/posix-functions/fwscanf.texi: Likewise.
13492         * doc/posix-functions/inet_ntop.texi: Likewise.
13493         * doc/posix-functions/inet_pton.texi: Likewise.
13494         * doc/posix-functions/mbrlen.texi: Likewise.
13495         * doc/posix-functions/mbrtowc.texi: Likewise.
13496         * doc/posix-functions/mbsinit.texi: Likewise.
13497         * doc/posix-functions/mbsrtowcs.texi: Likewise.
13498         * doc/posix-functions/swprintf.texi: Likewise.
13499         * doc/posix-functions/swscanf.texi: Likewise.
13500         * doc/posix-functions/towctrans.texi: Likewise.
13501         * doc/posix-functions/vfwprintf.texi: Likewise.
13502         * doc/posix-functions/vswprintf.texi: Likewise.
13503         * doc/posix-functions/vwprintf.texi: Likewise.
13504         * doc/posix-functions/wcrtomb.texi: Likewise.
13505         * doc/posix-functions/wcsrtombs.texi: Likewise.
13506         * doc/posix-functions/wcsstr.texi: Likewise.
13507         * doc/posix-functions/wctob.texi: Likewise.
13508         * doc/posix-functions/wctrans.texi: Likewise.
13509         * doc/posix-functions/wmemchr.texi: Likewise.
13510         * doc/posix-functions/wmemcmp.texi: Likewise.
13511         * doc/posix-functions/wmemcpy.texi: Likewise.
13512         * doc/posix-functions/wmemmove.texi: Likewise.
13513         * doc/posix-functions/wmemset.texi: Likewise.
13514         * doc/posix-functions/wprintf.texi: Likewise.
13515         * doc/posix-functions/wscanf.texi: Likewise.
13516
13517 2008-12-21  Bruno Haible  <bruno@clisp.org>
13518
13519         Work around a portability problem.
13520         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
13521         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
13522
13523 2008-12-20  Bruno Haible  <bruno@clisp.org>
13524
13525         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
13526         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
13527         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
13528         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
13529         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
13530
13531         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
13532         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
13533         set.
13534         (GNULIB_defined_mbstate_t): New macro.
13535         (mbsinit): Redefine if REPLACE_MBSINIT is set.
13536         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
13537         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
13538         reuses the system's mbrtowc function but works around the bugs.
13539         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
13540         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
13541         macros.
13542         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
13543         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
13544         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
13545         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
13546         REPLACE_MBSINIT if mbsinit needs to be overridden.
13547         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
13548         REPLACE_MBSINIT, REPLACE_MBRTOWC.
13549         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
13550         REPLACE_MBSINIT, REPLACE_MBRTOWC.
13551         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
13552         m4/locale-zh.m4.
13553         (Depends): Add mbsinit.
13554         * modules/mbsinit (Depends): Add mbrtowc.
13555         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
13556
13557 2008-12-20  Bruno Haible  <bruno@clisp.org>
13558
13559         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
13560         so that there are no conversion errors on AIX.
13561         * tests/test-mbsrtowcs.c (main): LIkewise.
13562
13563 2008-12-20  Bruno Haible  <bruno@clisp.org>
13564
13565         Work around wctob bug on Solaris <= 9.
13566         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
13567         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
13568         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
13569         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
13570         * modules/wctob (Files): Add m4/locale-fr.m4.
13571         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
13572
13573 2008-12-20  Bruno Haible  <bruno@clisp.org>
13574
13575         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
13576         /dev/null.
13577         * tests/test-select-in.sh: Likewise.
13578         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13579
13580 2008-12-20  Bruno Haible  <bruno@clisp.org>
13581
13582         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
13583         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
13584         Cygwin 1.5.x.
13585
13586 2008-12-20  Bruno Haible  <bruno@clisp.org>
13587
13588         Ensure mbstate_t is defined on HP-UX 11.11.
13589         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
13590         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
13591         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
13592         AC_USE_SYSTEM_EXTENSIONS.
13593         * modules/fnmatch (Depends-on): Add extensions.
13594         * modules/mbrlen (Depends-on): Likewise.
13595         * modules/mbrtowc (Depends-on): Likewise.
13596         * modules/mbsinit (Depends-on): Likewise.
13597         * modules/mbsrtowcs (Depends-on): Likewise.
13598         * modules/mbswidth (Depends-on): Likewise.
13599         * modules/quotearg (Depends-on): Likewise.
13600         * modules/strftime (Depends-on): Likewise.
13601
13602 2008-12-20  Bruno Haible  <bruno@clisp.org>
13603
13604         Ensure wctob is declared on IRIX 6.5.
13605         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
13606         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
13607         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
13608         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
13609         of HAVE_WCTOB.
13610         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
13611         HAVE_WCTOB.
13612         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
13613
13614 2008-12-19  Bruno Haible  <bruno@clisp.org>
13615
13616         * modules/mbsrtowcs-tests: New file.
13617         * tests/test-mbsrtowcs1.sh: New file.
13618         * tests/test-mbsrtowcs2.sh: New file.
13619         * tests/test-mbsrtowcs3.sh: New file.
13620         * tests/test-mbsrtowcs4.sh: New file.
13621         * tests/test-mbsrtowcs.c: New file.
13622
13623         New module 'mbsrtowcs'.
13624         * lib/wchar.in.h (mbsrtowcs): New declaration.
13625         * lib/mbsrtowcs.c: New file.
13626         * m4/mbsrtowcs.m4: New file.
13627         * modules/mbsrtowcs: New file.
13628         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
13629         HAVE_MBSRTOWCS.
13630         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
13631         HAVE_MBSRTOWCS.
13632         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
13633
13634 2008-12-19  Bruno Haible  <bruno@clisp.org>
13635
13636         New module 'mbrlen'.
13637         * lib/wchar.in.h (mbrlen): New declaration.
13638         * lib/mbrlen.c: New file.
13639         * m4/mbrlen.m4: New file.
13640         * modules/mbrlen: New file.
13641         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
13642         HAVE_MBRLEN.
13643         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
13644         HAVE_MBRLEN.
13645         * doc/posix-functions/mbrlen.texi: Document the new module.
13646
13647 2008-12-19  Bruno Haible  <bruno@clisp.org>
13648
13649         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
13650         * modules/mbrtowc (Depends-on): Add verify.
13651         Suggested by Paul Eggert.
13652
13653 2008-12-18  Bruno Haible  <bruno@clisp.org>
13654
13655         * modules/mbsinit-tests: New file.
13656         * tests/test-mbsinit.sh: New file.
13657         * tests/test-mbsinit.c: New file.
13658
13659 2008-12-18  Bruno Haible  <bruno@clisp.org>
13660
13661         * modules/mbrtowc-tests: New file.
13662         * tests/test-mbrtowc1.sh: New file.
13663         * tests/test-mbrtowc2.sh: New file.
13664         * tests/test-mbrtowc3.sh: New file.
13665         * tests/test-mbrtowc4.sh: New file.
13666         * tests/test-mbrtowc.c: New file.
13667
13668         New module 'mbrtowc'.
13669         * lib/wchar.in.h (mbstate_t): Override when the system does not have
13670         mbsinit and mbrtowc.
13671         (mbrtowc): New declaration.
13672         * lib/mbrtowc.c: New file.
13673         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
13674         * modules/mbrtowc: New file.
13675         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
13676         HAVE_MBRTOWC.
13677         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
13678         HAVE_MBRTOWC.
13679         * doc/posix-functions/mbrtowc.texi: Document the new module.
13680
13681 2008-12-18  Bruno Haible  <bruno@clisp.org>
13682
13683         New module 'wctob'.
13684         * lib/wchar.in.h (wctob): New declaration.
13685         * lib/wctob.c: New file.
13686         * m4/wctob.m4: New file.
13687         * modules/wctob: New file.
13688         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
13689         HAVE_WCTOB.
13690         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
13691         * doc/posix-functions/wctob.texi: Document the new module.
13692
13693 2008-12-18  Bruno Haible  <bruno@clisp.org>
13694
13695         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
13696         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
13697
13698 2008-12-18  Simon Josefsson  <simon@josefsson.org>
13699
13700         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
13701         G. Christensen" <tgc@jupiterrise.com>.
13702
13703         * lib/flock.c: Need to include errno.h.  Reported by "Tom
13704         G. Christensen" <tgc@jupiterrise.com>.
13705
13706         * lib/flock.c: Need to include string.h.  Reported by "Tom
13707         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
13708         <ebb9@byu.net>.
13709
13710 2008-12-18  Bruno Haible  <bruno@clisp.org>
13711
13712         * m4/locale-ja.m4: New file, from GNU gettext.
13713
13714 2008-12-17  Bruno Haible  <bruno@clisp.org>
13715
13716         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
13717         Suggested by Eric Blake.
13718
13719 2008-12-17  Bruno Haible  <bruno@clisp.org>
13720
13721         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
13722
13723 2008-12-17  Bruno Haible  <bruno@clisp.org>
13724
13725         * lib/mbsinit.c: Include verify.h. Verify an assumption.
13726         * modules/mbsinit (Depends-on): Add verify.
13727         Suggested by Paul Eggert.
13728
13729 2008-12-17  Bruno Haible  <bruno@clisp.org>
13730
13731         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
13732         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
13733         gl_FUNC_MBRTOWC.
13734         * m4/mbiter.m4 (gl_MBITER): LIkewise.
13735         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
13736         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
13737         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
13738         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
13739         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
13740         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
13741         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
13742         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
13743         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
13744         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
13745         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
13746         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
13747         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
13748         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
13749         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
13750         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
13751         * modules/trim (configure.ac): Likewise.
13752
13753 2008-12-17  Bruno Haible  <bruno@clisp.org>
13754
13755         * modules/btowc-tests: New file.
13756         * tests/test-btowc1.sh: New file.
13757         * tests/test-btowc2.sh: New file.
13758         * tests/test-btowc.c: New file.
13759
13760         New module 'btowc'.
13761         * lib/wchar.in.h (btowc): New declaration.
13762         * lib/btowc.c: New file.
13763         * m4/btowc.m4: New file.
13764         * modules/btowc: New file.
13765         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
13766         HAVE_BTOWC.
13767         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
13768         * doc/posix-functions/btowc.texi: Document the new module.
13769
13770 2008-12-17  Bruno Haible  <bruno@clisp.org>
13771
13772         New module 'mbsinit'.
13773         * lib/wchar.in.h (mbsinit): New declaration.
13774         * lib/mbsinit.c: New file.
13775         * m4/mbsinit.m4: New file.
13776         * modules/mbsinit: New file.
13777         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
13778         HAVE_MBSINIT.
13779         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
13780         HAVE_MBSINIT.
13781         * doc/posix-functions/mbsinit.texi: Document the new module.
13782
13783 2008-12-16  Bruno Haible  <bruno@clisp.org>
13784
13785         * lib/unistd.in.h: Add comment.
13786         * tests/test-environ.c: Don't include <stdlib.h>.
13787
13788 2008-12-16  Bruno Haible  <bruno@clisp.org>
13789
13790         * lib/parse-duration.h (parse_duration): Document return value
13791         convention.
13792         * lib/parse-duration.c: Include specification header first. Add
13793         comments.
13794         (_): Remove macro.
13795         (parse_year_month_day, parse_hour_minute_second): Move side effects
13796         outside of strchr call.
13797         (parse_non_iso8601): Move side effects outside of isspace call.
13798         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
13799         call.
13800
13801 2008-12-16  Bruno Haible  <bruno@clisp.org>
13802
13803         * tests/test-parse-duration.sh: Produce no output when the test
13804         succeeds.
13805
13806 2008-12-16  Bruno Haible  <bruno@clisp.org>
13807
13808         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
13809         expressions.
13810
13811 2008-12-15  Bruno Haible  <bruno@clisp.org>
13812
13813         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
13814         * doc/glibc-functions/flistxattr.texi: Likewise.
13815         * doc/glibc-functions/fopencookie.texi: Likewise.
13816         * doc/glibc-functions/fremovexattr.texi: Likewise.
13817         * doc/glibc-functions/fsetxattr.texi: Likewise.
13818         * doc/glibc-functions/getxattr.texi: Likewise.
13819         * doc/glibc-functions/lgetxattr.texi: Likewise.
13820         * doc/glibc-functions/listxattr.texi: Likewise.
13821         * doc/glibc-functions/llistxattr.texi: Likewise.
13822         * doc/glibc-functions/lremovexattr.texi: Likewise.
13823         * doc/glibc-functions/lsetxattr.texi: Likewise.
13824         * doc/glibc-functions/removexattr.texi: Likewise.
13825         * doc/glibc-functions/setxattr.texi: Likewise.
13826         * doc/posix-functions/open_memstream.texi: Likewise.
13827
13828 2008-12-15  Eric Blake  <ebb9@byu.net>
13829
13830         Update doc for cygwin 1.7.
13831         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
13832         functions.
13833         * doc/posix-functions/fchmodat.texi: Likewise.
13834         * doc/posix-functions/fchownat.texi: Likewise.
13835         * doc/posix-functions/fdopendir.texi: Likewise.
13836         * doc/posix-functions/fmemopen.texi: Likewise.
13837         * doc/posix-functions/freeaddrinfo.texi: Likewise.
13838         * doc/posix-functions/fstatat.texi: Likewise.
13839         * doc/posix-functions/futimens.texi: Likewise.
13840         * doc/posix-functions/gai_strerror.texi: Likewise.
13841         * doc/posix-functions/getaddrinfo.texi: Likewise.
13842         * doc/posix-functions/getnameinfo.texi: Likewise.
13843         * doc/posix-functions/if_freenameindex.texi: Likewise.
13844         * doc/posix-functions/if_indextoname.texi: Likewise.
13845         * doc/posix-functions/if_nameindex.texi: Likewise.
13846         * doc/posix-functions/if_nametoindex.texi: Likewise.
13847         * doc/posix-functions/insque.texi: Likewise.
13848         * doc/posix-functions/linkat.texi: Likewise.
13849         * doc/posix-functions/llrint.texi: Likewise.
13850         * doc/posix-functions/llrintf.texi: Likewise.
13851         * doc/posix-functions/llrintl.texi: Likewise.
13852         * doc/posix-functions/lockf.texi: Likewise.
13853         * doc/posix-functions/lrintl.texi: Likewise.
13854         * doc/posix-functions/mkdirat.texi: Likewise.
13855         * doc/posix-functions/mkfifoat.texi: Likewise.
13856         * doc/posix-functions/mknodat.texi: Likewise.
13857         * doc/posix-functions/mq_close.texi: Likewise.
13858         * doc/posix-functions/mq_getattr.texi: Likewise.
13859         * doc/posix-functions/mq_notify.texi: Likewise.
13860         * doc/posix-functions/mq_open.texi: Likewise.
13861         * doc/posix-functions/mq_receive.texi: Likewise.
13862         * doc/posix-functions/mq_send.texi: Likewise.
13863         * doc/posix-functions/mq_setattr.texi: Likewise.
13864         * doc/posix-functions/mq_timedreceive.texi: Likewise.
13865         * doc/posix-functions/mq_timedsend.texi: Likewise.
13866         * doc/posix-functions/mq_unlink.texi: Likewise.
13867         * doc/posix-functions/open_memstream.texi: Likewise.
13868         * doc/posix-functions/openat.texi: Likewise.
13869         * doc/posix-functions/posix_fadvise.texi: Likewise.
13870         * doc/posix-functions/posix_fallocate.texi: Likewise.
13871         * doc/posix-functions/posix_madvise.texi: Likewise.
13872         * doc/posix-functions/posix_memalign.texi: Likewise.
13873         * doc/posix-functions/posix_openpt.texi: Likewise.
13874         * doc/posix-functions/readlinkat.texi: Likewise.
13875         * doc/posix-functions/remque.texi: Likewise.
13876         * doc/posix-functions/renameat.texi: Likewise.
13877         * doc/posix-functions/rintl.texi: Likewise.
13878         * doc/posix-functions/sem_unlink.texi: Likewise.
13879         * doc/posix-functions/shm_open.texi: Likewise.
13880         * doc/posix-functions/shm_unlink.texi: Likewise.
13881         * doc/posix-functions/signgam.texi: Likewise.
13882         * doc/posix-functions/sigset.texi: Likewise.
13883         * doc/posix-functions/stpcpy.texi: Likewise.
13884         * doc/posix-functions/stpncpy.texi: Likewise.
13885         * doc/posix-functions/strerror.texi: Likewise.
13886         * doc/posix-functions/strtod.texi: Likewise.
13887         * doc/posix-functions/symlinkat.texi: Likewise.
13888         * doc/posix-functions/unlinkat.texi: Likewise.
13889         * doc/posix-functions/utimensat.texi: Likewise.
13890         * doc/glibc-functions/bindresvport.texi: Likewise.
13891         * doc/glibc-functions/dn_expand.texi: Likewise.
13892         * doc/glibc-functions/exp10.texi: Likewise.
13893         * doc/glibc-functions/exp10f.texi: Likewise.
13894         * doc/glibc-functions/fgetxattr.texi: Likewise.
13895         * doc/glibc-functions/flistxattr.texi: Likewise.
13896         * doc/glibc-functions/fopencookie.texi: Likewise.
13897         * doc/glibc-functions/freeifaddrs.texi: Likewise.
13898         * doc/glibc-functions/fremovexattr.texi: Likewise.
13899         * doc/glibc-functions/fsetxattr.texi: Likewise.
13900         * doc/glibc-functions/getifaddrs.texi: Likewise.
13901         * doc/glibc-functions/getxattr.texi: Likewise.
13902         * doc/glibc-functions/lgetxattr.texi: Likewise.
13903         * doc/glibc-functions/listxattr.texi: Likewise.
13904         * doc/glibc-functions/llistxattr.texi: Likewise.
13905         * doc/glibc-functions/lremovexattr.texi: Likewise.
13906         * doc/glibc-functions/lsetxattr.texi: Likewise.
13907         * doc/glibc-functions/pow10.texi: Likewise.
13908         * doc/glibc-functions/pow10f.texi: Likewise.
13909         * doc/glibc-functions/rcmd_af.texi: Likewise.
13910         * doc/glibc-functions/removexattr.texi: Likewise.
13911         * doc/glibc-functions/res_init.texi: Likewise.
13912         * doc/glibc-functions/res_mkquery.texi: Likewise.
13913         * doc/glibc-functions/res_query.texi: Likewise.
13914         * doc/glibc-functions/res_querydomain.texi: Likewise.
13915         * doc/glibc-functions/res_send.texi: Likewise.
13916         * doc/glibc-functions/rresvport_af.texi: Likewise.
13917         * doc/glibc-functions/setxattr.texi: Likewise.
13918         * doc/glibc-functions/strcasestr.texi: Likewise.
13919
13920 2008-12-15  Bruno Haible  <bruno@clisp.org>
13921
13922         Fix compilation error on OSF/1 4.0.
13923         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
13924         <sys/time.h>, simply delegate to the system header.
13925         Reported by Daniel Richard G. <oss@teragram.com>.
13926
13927 2008-12-15  Bruno Haible  <bruno@clisp.org>
13928
13929         * doc/posix-functions/openat.texi: Mention the 'openat' module.
13930         * doc/posix-functions/fchmodat.texi: Likewise.
13931         * doc/posix-functions/fchownat.texi: Likewise.
13932         * doc/posix-functions/fdopendir.texi: Likewise.
13933         * doc/posix-functions/fstatat.texi: Likewise.
13934         * doc/posix-functions/mkdirat.texi: Likewise.
13935         * doc/posix-functions/unlinkat.texi: Likewise.
13936
13937 2008-12-14  Bruno Haible  <bruno@clisp.org>
13938
13939         Update doc for POSIX:2008.
13940         * doc/posix-functions/faccessat.texi: New file.
13941         * doc/posix-functions/fchmodat.texi: New file.
13942         * doc/posix-functions/fchownat.texi: New file.
13943         * doc/posix-functions/fdopendir.texi: New file.
13944         * doc/posix-functions/fstatat.texi: New file.
13945         * doc/posix-functions/futimens.texi: New file.
13946         * doc/posix-functions/linkat.texi: New file.
13947         * doc/posix-functions/mkdirat.texi: New file.
13948         * doc/posix-functions/mkfifoat.texi: New file.
13949         * doc/posix-functions/mknodat.texi: New file.
13950         * doc/posix-functions/open_wmemstream.texi: New file.
13951         * doc/posix-functions/openat.texi: New file.
13952         * doc/posix-functions/psiginfo.texi: New file.
13953         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
13954         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
13955         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
13956         * doc/posix-functions/readlinkat.texi: New file.
13957         * doc/posix-functions/renameat.texi: New file.
13958         * doc/posix-functions/strerror_l.texi: New file.
13959         * doc/posix-functions/symlinkat.texi: New file.
13960         * doc/posix-functions/unlinkat.texi: New file.
13961         * doc/posix-functions/utimensat.texi: New file.
13962         * doc/gnulib.texi (Function Substitutes): Add these subsections.
13963
13964 2008-12-14  Bruno Haible  <bruno@clisp.org>
13965
13966         Update doc for POSIX:2008.
13967         * doc/posix-functions/alphasort.texi: Renamed from
13968         doc/glibc-functions/alphasort.texi.
13969         * doc/posix-functions/dirfd.texi: Renamed from
13970         doc/glibc-functions/dirfd.texi.
13971         * doc/posix-functions/dprintf.texi: Renamed from
13972         doc/glibc-functions/dprintf.texi.
13973         * doc/posix-functions/duplocale.texi: Renamed from
13974         doc/glibc-functions/duplocale.texi.
13975         * doc/posix-functions/fexecve.texi: Renamed from
13976         doc/glibc-functions/fexecve.texi.
13977         * doc/posix-functions/fmemopen.texi: Renamed from
13978         doc/glibc-functions/fmemopen.texi.
13979         * doc/posix-functions/freelocale.texi: Renamed from
13980         doc/glibc-functions/freelocale.texi.
13981         * doc/posix-functions/getdate_err.texi: Renamed from
13982         doc/glibc-functions/getdate_err.texi.
13983         * doc/posix-functions/isalnum_l.texi: Renamed from
13984         doc/glibc-functions/isalnum_l.texi.
13985         * doc/posix-functions/isalpha_l.texi: Renamed from
13986         doc/glibc-functions/isalpha_l.texi.
13987         * doc/posix-functions/isblank_l.texi: Renamed from
13988         doc/glibc-functions/isblank_l.texi.
13989         * doc/posix-functions/iscntrl_l.texi: Renamed from
13990         doc/glibc-functions/iscntrl_l.texi.
13991         * doc/posix-functions/isdigit_l.texi: Renamed from
13992         doc/glibc-functions/isdigit_l.texi.
13993         * doc/posix-functions/isgraph_l.texi: Renamed from
13994         doc/glibc-functions/isgraph_l.texi.
13995         * doc/posix-functions/islower_l.texi: Renamed from
13996         doc/glibc-functions/islower_l.texi.
13997         * doc/posix-functions/isprint_l.texi: Renamed from
13998         doc/glibc-functions/isprint_l.texi.
13999         * doc/posix-functions/ispunct_l.texi: Renamed from
14000         doc/glibc-functions/ispunct_l.texi.
14001         * doc/posix-functions/isspace_l.texi: Renamed from
14002         doc/glibc-functions/isspace_l.texi.
14003         * doc/posix-functions/isupper_l.texi: Renamed from
14004         doc/glibc-functions/isupper_l.texi.
14005         * doc/posix-functions/iswalnum_l.texi: Renamed from
14006         doc/glibc-functions/iswalnum_l.texi.
14007         * doc/posix-functions/iswalpha_l.texi: Renamed from
14008         doc/glibc-functions/iswalpha_l.texi.
14009         * doc/posix-functions/iswblank_l.texi: Renamed from
14010         doc/glibc-functions/iswblank_l.texi.
14011         * doc/posix-functions/iswcntrl_l.texi: Renamed from
14012         doc/glibc-functions/iswcntrl_l.texi.
14013         * doc/posix-functions/iswctype_l.texi: Renamed from
14014         doc/glibc-functions/iswctype_l.texi.
14015         * doc/posix-functions/iswdigit_l.texi: Renamed from
14016         doc/glibc-functions/iswdigit_l.texi.
14017         * doc/posix-functions/iswgraph_l.texi: Renamed from
14018         doc/glibc-functions/iswgraph_l.texi.
14019         * doc/posix-functions/iswlower_l.texi: Renamed from
14020         doc/glibc-functions/iswlower_l.texi.
14021         * doc/posix-functions/iswprint_l.texi: Renamed from
14022         doc/glibc-functions/iswprint_l.texi.
14023         * doc/posix-functions/iswpunct_l.texi: Renamed from
14024         doc/glibc-functions/iswpunct_l.texi.
14025         * doc/posix-functions/iswspace_l.texi: Renamed from
14026         doc/glibc-functions/iswspace_l.texi.
14027         * doc/posix-functions/iswupper_l.texi: Renamed from
14028         doc/glibc-functions/iswupper_l.texi.
14029         * doc/posix-functions/iswxdigit_l.texi: Renamed from
14030         doc/glibc-functions/iswxdigit_l.texi.
14031         * doc/posix-functions/isxdigit_l.texi: Renamed from
14032         doc/glibc-functions/isxdigit_l.texi.
14033         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
14034         doc/glibc-functions/mbsnrtowcs.texi.
14035         * doc/posix-functions/mkdtemp.texi: Renamed from
14036         doc/glibc-functions/mkdtemp.texi.
14037         * doc/posix-functions/newlocale.texi: Renamed from
14038         doc/glibc-functions/newlocale.texi.
14039         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
14040         doc/glibc-functions/nl_langinfo_l.texi.
14041         * doc/posix-functions/open_memstream.texi: Renamed from
14042         doc/glibc-functions/open_memstream.texi.
14043         * doc/posix-functions/opterr.texi: Renamed from
14044         doc/glibc-functions/opterr.texi.
14045         * doc/posix-functions/optind.texi: Renamed from
14046         doc/glibc-functions/optind.texi.
14047         * doc/posix-functions/optopt.texi: Renamed from
14048         doc/glibc-functions/optopt.texi.
14049         * doc/posix-functions/psignal.texi: Renamed from
14050         doc/glibc-functions/psignal.texi.
14051         * doc/posix-functions/scandir.texi: Renamed from
14052         doc/glibc-functions/scandir.texi.
14053         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
14054         doc/glibc-functions/sched_get_priority_min.texi.
14055         * doc/posix-functions/signgam.texi: Renamed from
14056         doc/glibc-functions/signgam.texi.
14057         * doc/posix-functions/stpcpy.texi: Renamed from
14058         doc/glibc-functions/stpcpy.texi.
14059         * doc/posix-functions/stpncpy.texi: Renamed from
14060         doc/glibc-functions/stpncpy.texi.
14061         * doc/posix-functions/strcasecmp_l.texi: Renamed from
14062         doc/glibc-functions/strcasecmp_l.texi.
14063         * doc/posix-functions/strcoll_l.texi: Renamed from
14064         doc/glibc-functions/strcoll_l.texi.
14065         * doc/posix-functions/strfmon_l.texi: Renamed from
14066         doc/glibc-functions/strfmon_l.texi.
14067         * doc/posix-functions/strftime_l.texi: Renamed from
14068         doc/glibc-functions/strftime_l.texi.
14069         * doc/posix-functions/strncasecmp_l.texi: Renamed from
14070         doc/glibc-functions/strncasecmp_l.texi.
14071         * doc/posix-functions/strndup.texi: Renamed from
14072         doc/glibc-functions/strndup.texi.
14073         * doc/posix-functions/strnlen.texi: Renamed from
14074         doc/glibc-functions/strnlen.texi.
14075         * doc/posix-functions/strsignal.texi: Renamed from
14076         doc/glibc-functions/strsignal.texi.
14077         * doc/posix-functions/strxfrm_l.texi: Renamed from
14078         doc/glibc-functions/strxfrm_l.texi.
14079         * doc/posix-functions/timer_gettime.texi: Renamed from
14080         doc/glibc-functions/timer_gettime.texi.
14081         * doc/posix-functions/tolower_l.texi: Renamed from
14082         doc/glibc-functions/tolower_l.texi.
14083         * doc/posix-functions/toupper_l.texi: Renamed from
14084         doc/glibc-functions/toupper_l.texi.
14085         * doc/posix-functions/towctrans_l.texi: Renamed from
14086         doc/glibc-functions/towctrans_l.texi.
14087         * doc/posix-functions/towlower_l.texi: Renamed from
14088         doc/glibc-functions/towlower_l.texi.
14089         * doc/posix-functions/towupper_l.texi: Renamed from
14090         doc/glibc-functions/towupper_l.texi.
14091         * doc/posix-functions/uselocale.texi: Renamed from
14092         doc/glibc-functions/uselocale.texi.
14093         * doc/posix-functions/vdprintf.texi: Renamed from
14094         doc/glibc-functions/vdprintf.texi.
14095         * doc/posix-functions/wcpcpy.texi:
14096         Renamed from doc/glibc-functions/wcpcpy.texi.
14097         * doc/posix-functions/wcpncpy.texi: Renamed from
14098         doc/glibc-functions/wcpncpy.texi.
14099         * doc/posix-functions/wcscasecmp.texi: Renamed from
14100         doc/glibc-functions/wcscasecmp.texi.
14101         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
14102         doc/glibc-functions/wcscasecmp_l.texi.
14103         * doc/posix-functions/wcscoll_l.texi: Renamed from
14104         doc/glibc-functions/wcscoll_l.texi.
14105         * doc/posix-functions/wcsdup.texi: Renamed from
14106         doc/glibc-functions/wcsdup.texi.
14107         * doc/posix-functions/wcsncasecmp.texi: Renamed from
14108         doc/glibc-functions/wcsncasecmp.texi.
14109         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
14110         doc/glibc-functions/wcsncasecmp_l.texi.
14111         * doc/posix-functions/wcsnlen.texi: Renamed from
14112         doc/glibc-functions/wcsnlen.texi.
14113         * doc/posix-functions/wcsnrtombs.texi: Renamed from
14114         doc/glibc-functions/wcsnrtombs.texi.
14115         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
14116         doc/glibc-functions/wcsxfrm_l.texi.
14117         * doc/posix-functions/wctrans_l.texi: Renamed from
14118         doc/glibc-functions/wctrans_l.texi.
14119         * doc/posix-functions/wctype_l.texi: Renamed from
14120         doc/glibc-functions/wctype_l.texi.
14121         * doc/gnulib.texi (Function Substitutes): Add these subsections.
14122         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
14123         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
14124         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
14125         these subsections.
14126         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
14127         Remove sections.
14128
14129 2008-12-14  Bruno Haible  <bruno@clisp.org>
14130
14131         Update doc for POSIX:2008.
14132         * doc/posix-functions/*.texi: Update URL of POSIX specification.
14133
14134 2008-12-14  Bruno Haible  <bruno@clisp.org>
14135
14136         Update doc for POSIX:2008.
14137         * doc/pastposix-functions/bcmp.texi: Renamed from
14138         doc/posix-functions/bcmp.texi.
14139         * doc/pastposix-functions/bcopy.texi: Renamed from
14140         doc/posix-functions/bcopy.texi.
14141         * doc/pastposix-functions/bsd_signal.texi: Renamed from
14142         doc/posix-functions/bsd_signal.texi.
14143         * doc/pastposix-functions/bzero.texi: Renamed from
14144         doc/posix-functions/bzero.texi.
14145         * doc/pastposix-functions/ecvt.texi: Renamed from
14146         doc/posix-functions/ecvt.texi.
14147         * doc/pastposix-functions/fcvt.texi: Renamed from
14148         doc/posix-functions/fcvt.texi.
14149         * doc/pastposix-functions/ftime.texi: Renamed from
14150         doc/posix-functions/ftime.texi.
14151         * doc/pastposix-functions/gcvt.texi: Renamed from
14152         doc/posix-functions/gcvt.texi.
14153         * doc/pastposix-functions/getcontext.texi: Renamed from
14154         doc/posix-functions/getcontext.texi.
14155         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
14156         doc/posix-functions/gethostbyaddr.texi.
14157         * doc/pastposix-functions/gethostbyname.texi: Renamed from
14158         doc/posix-functions/gethostbyname.texi.
14159         * doc/pastposix-functions/getwd.texi: Renamed from
14160         doc/posix-functions/getwd.texi.
14161         * doc/pastposix-functions/h_errno.texi: Renamed from
14162         doc/posix-functions/h_errno.texi.
14163         * doc/pastposix-functions/index.texi: Renamed from
14164         doc/posix-functions/index.texi.
14165         * doc/pastposix-functions/makecontext.texi: Renamed from
14166         doc/posix-functions/makecontext.texi.
14167         * doc/pastposix-functions/mktemp.texi: Renamed from
14168         doc/posix-functions/mktemp.texi.
14169         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
14170         doc/posix-functions/pthread_attr_getstackaddr.texi.
14171         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
14172         doc/posix-functions/pthread_attr_setstackaddr.texi.
14173         * doc/pastposix-functions/rindex.texi: Renamed from
14174         doc/posix-functions/rindex.texi.
14175         * doc/pastposix-functions/scalb.texi: Renamed from
14176         doc/posix-functions/scalb.texi.
14177         * doc/pastposix-functions/setcontext.texi: Renamed from
14178         doc/posix-functions/setcontext.texi.
14179         * doc/pastposix-functions/swapcontext.texi: Renamed from
14180         doc/posix-functions/swapcontext.texi.
14181         * doc/pastposix-functions/ualarm.texi: Renamed from
14182         doc/posix-functions/ualarm.texi.
14183         * doc/pastposix-functions/usleep.texi: Renamed from
14184         doc/posix-functions/usleep.texi.
14185         * doc/pastposix-functions/vfork.texi: Renamed from
14186         doc/posix-functions/vfork.texi.
14187         * doc/pastposix-functions/wcswcs.texi: Renamed from
14188         doc/posix-functions/wcswcs.texi.
14189         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
14190         (Function Substitutes): Update.
14191
14192 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14193
14194         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
14195         m4/strerror.m4.
14196
14197 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14198             Bruno Haible  <bruno@clisp.org>
14199
14200         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
14201
14202 2008-12-13  Bruno Haible  <bruno@clisp.org>
14203
14204         * modules/strtoull (Depends-on): Remove unistd.
14205
14206 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14207
14208         * modules/strtoull (Depends-on): Add stdlib.
14209
14210 2008-12-11  Simon Josefsson  <simon@josefsson.org>
14211
14212         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
14213
14214 2008-12-10  Jim Meyering  <meyering@redhat.com>
14215
14216         gl_ASSERT: don't say assertions are disabled when they're not
14217         * m4/assert.m4 (gl_ASSERT): Do not make configure report
14218         "checking whether to enable assertions... no", when they are in
14219         fact enabled.  This is solely a bug in the output of configure.
14220         In spite of saying "no", NDEBUG was not defined in that case.
14221         Also, as noted by Eric Blake, leave assertions enabled upon
14222         --enable-assert=INVALID.
14223
14224 2008-12-10  Bruno Haible  <bruno@clisp.org>
14225
14226         Change MODULES.html to refer to POSIX:2008 where possible.
14227         * MODULES.html.sh (POSIX2008_URL): New variable.
14228         (posix_headers): Remove sys/timeb, ucontext.
14229         (posix2001_headers): New variable.
14230         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
14231         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
14232         index, makecontext, mktemp, pthread_attr_getstackaddr,
14233         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
14234         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
14235         (posix2001_functions): New variable.
14236         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
14237         otherwise.
14238
14239 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14240
14241         add missing include to parse-duration.c
14242         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
14243         * modules/parse-duration (Depends-on): Add xalloc.
14244
14245         fix sed script reading maint.mk
14246         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
14247         (syntax-check-rules): Use it.
14248
14249 2008-12-09  Bruno Haible  <bruno@clisp.org>
14250
14251         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
14252         MacOS X 10.4/PowerPC.
14253         Reported by Simon Josefsson.
14254
14255 2008-12-08  Jim Meyering  <meyering@redhat.com>
14256
14257         work around mingw's lack of some S_IF definitions
14258         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
14259         Reported by Simon Josefsson.
14260
14261 2008-12-08  Bruno Haible  <bruno@clisp.org>
14262
14263         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
14264         applied to variables. Needed on MacOS X 10.4/PowerPC.
14265         Reported by Simon Josefsson.
14266
14267 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
14268         and Eric Blake  <ebb9@byu.net>
14269
14270         assert: honor --enable-assert
14271         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
14272         order to honor --enable-assert, rather than treating it as a
14273         synonym for --disable-assert.
14274
14275 2008-12-08  Jim Meyering  <meyering@redhat.com>
14276
14277         * lib/posixtm.c: Remove now-useless declaration of mktime.
14278
14279         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
14280
14281 2008-12-07  Bruno Haible  <bruno@clisp.org>
14282
14283         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
14284         test_once): Mark functions as static.
14285         * tests/test-tls.c (test_tls): Likewise.
14286
14287 2008-12-07  Bruno Haible  <bruno@clisp.org>
14288
14289         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
14290         iconv_register_autodetect.
14291
14292 2008-12-07  Jim Meyering  <meyering@redhat.com>
14293
14294         posixtm.c: avoid a warning
14295         * lib/posixtm.c (posixtime): Don't initialize tm0.
14296         It's no longer needed to placate gcc4's -Wuninitialized,
14297         and the attempt to placate would elicit a new warning.
14298
14299         unicodeio.c: mark unused parameters
14300         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
14301         (fallback_failure_callback): Likewise.
14302
14303 2008-12-07  Bruno Haible  <bruno@clisp.org>
14304
14305         * gnulib-tool (func_create_testdir): When building the tests
14306         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
14307         Reported by Simon Josefsson.
14308
14309 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14310
14311         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
14312
14313 2008-12-06  Bruno Haible  <bruno@clisp.org>
14314
14315         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
14316         Suggested by Eric Blake.
14317
14318 2008-12-06  Bruno Haible  <bruno@clisp.org>
14319
14320         Fix a c-stack test failure on MacOS X.
14321         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
14322         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
14323         handler for SIGBUS as well.
14324         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
14325         install a signal handler for SIGBUS as well.
14326         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
14327
14328 2008-12-06  Bruno Haible  <bruno@clisp.org>
14329
14330         Advocacy documentation.
14331         * doc/gnulib-intro.texi (Benefits): New section.
14332         * doc/gnulib.texi: Update.
14333
14334 2008-12-06  Bruno Haible  <bruno@clisp.org>
14335
14336         Document the 'manywarnings' module.
14337         * doc/manywarnings.texi: New file.
14338         * doc/gnulib.texi: Include it.
14339
14340 2008-12-05  Eric Blake  <ebb9@byu.net>
14341
14342         tests: silence some gcc warnings
14343         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
14344         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
14345         type mismatches.
14346
14347 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14348             Bruno Haible  <bruno@clisp.org>
14349
14350         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
14351
14352 2008-11-29  Jim Meyering  <meyering@redhat.com>
14353
14354         unicodeio.c: mark unused parameters
14355         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
14356         (fallback_failure_callback): Likewise.
14357
14358         fts: fix a thinko
14359         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
14360         (set_stat_type): Return S_IF*-valued "type" directly.
14361         Prompted by James Youngman's spotting a related bug.
14362         Confirmed by further testing through find.
14363
14364         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
14365         * lib/fts.c (D_TYPE): Define.
14366         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
14367         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
14368         (s_ifmt_shift_bits): New function.
14369         (set_stat_type): New function.
14370         (fts_build): When not calling fts_stat, call set_stat_type
14371         to propagate dirent.d_type info to fts_read caller.
14372         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
14373         fts_statp->st_mode type information may be valid.
14374
14375 2008-11-28  Simon Josefsson  <simon@josefsson.org>
14376
14377         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
14378         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
14379         <sds@gnu.org>.
14380
14381 2008-11-20  Bruno Haible  <bruno@clisp.org>
14382
14383         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
14384         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
14385         INCLUDE_NEXT.
14386         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
14387         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
14388         * modules/math (Makefile.am): Substitute
14389         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
14390         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
14391
14392 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
14393             Bruno Haible  <bruno@clisp.org>
14394
14395         * lib/stdint.in.h: Define all type macros so that their expansion is
14396         a single typedef'ed token. Fixes a compilation failure in Boost which
14397         does "using ::int8_t;".
14398
14399 2008-11-18  Simon Josefsson  <simon@josefsson.org>
14400
14401         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
14402         gl_MANYWARN_ALL_GCC.
14403         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
14404         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
14405         * modules/manywarnings: New file.
14406         * MODULES.html.sh: Mention manywarnings module.
14407
14408 2008-11-18  Bruno Haible  <bruno@clisp.org>
14409
14410         * doc/gnulib-tool.texi (Unit tests): New section.
14411
14412 2008-11-18  Simon Josefsson  <simon@josefsson.org>
14413
14414         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
14415         paths like 'lib/po/foo.po'.
14416
14417 2008-11-17  Simon Josefsson  <simon@josefsson.org>
14418
14419         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
14420         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
14421
14422 2008-11-17  Simon Josefsson  <simon@josefsson.org>
14423
14424         * m4/warnings.m4: Use CPPFLAGS to really check whether the
14425         parameter works.
14426
14427 2008-11-17  Simon Josefsson  <simon@josefsson.org>
14428
14429         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
14430
14431 2008-11-17  Bruce Korb  <bkorb@gnu.org>
14432
14433         * modules/parse-duration-tests: New file.
14434         * tests/test-parse-duration.sh: New file.
14435         * tests/test-parse-duration.c: New file.
14436
14437         New module 'parse-duration'.
14438         * lib/parse-duration.h: New file.
14439         * lib/parse-duration.c: New file.
14440         * modules/parse-duration: New file.
14441
14442 2008-11-17  Bruno Haible  <bruno@clisp.org>
14443
14444         * tests/test-select-out.sh: Comment out the first pipe test.
14445         Reported by Simon Josefsson.
14446
14447 2008-11-17  Bruno Haible  <bruno@clisp.org>
14448
14449         * modules/getaddrinfo (Depends-on): Add servent, hostent.
14450         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
14451         gl_HOSTENT.
14452
14453 2008-11-17  Bruno Haible  <bruno@clisp.org>
14454
14455         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
14456         -lnetwork and -lnet. Needed for Haiku and BeOS.
14457
14458 2008-11-16  Bruno Haible  <bruno@clisp.org>
14459
14460         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
14461
14462 2008-11-16  Bruno Haible  <bruno@clisp.org>
14463
14464         Avoid test failure on Haiku.
14465         * tests/test-fsync.c: Include <errno.h>.
14466         (main): Don't require that fsync (0) fails.
14467
14468 2008-11-15  Bruno Haible  <bruno@clisp.org>
14469
14470         New module 'hostent'.
14471         * modules/hostent: New file.
14472         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
14473
14474 2008-11-15  Bruno Haible  <bruno@clisp.org>
14475
14476         New module 'servent'.
14477         * modules/servent: New file.
14478         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
14479
14480 2008-11-15  Bruno Haible  <bruno@clisp.org>
14481
14482         Avoid generating same test program with two different rules.
14483         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
14484         test-frexp to test-frexp-nolibm.
14485         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
14486         test-frexpl to test-frexpl-nolibm.
14487
14488 2008-11-15  Bruno Haible  <bruno@clisp.org>
14489
14490         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
14491         $(FREXPL_LIBM).
14492
14493 2008-11-15  Bruno Haible  <bruno@clisp.org>
14494
14495         * lib/netdb.in.h: Activate the definitions also when the system's
14496         <netdb.h> has 'struct addrinfo'.
14497         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
14498         EAI_OVERFLOW or AI_NUMERICSERV.
14499         * doc/posix-headers/netdb.texi: Document the problem.
14500
14501 2008-11-15  Bruno Haible  <bruno@clisp.org>
14502
14503         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
14504
14505         Make the 'sched' module work on platforms where <sched.h> exists but
14506         is incomplete (such as Haiku).
14507         * lib/sched.in.h; Include the system's <sched.h> if it exists.
14508         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
14509         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
14510         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
14511         HAVE_STRUCT_SCHED_PARAM.
14512         * modules/sched (Depends-on): Add include_next.
14513         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
14514         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
14515         * doc/posix-headers/sched.texi: Document the issue.
14516
14517 2008-11-13  Jim Meyering  <meyering@redhat.com>
14518
14519         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
14520         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
14521         test would fail due to the difference in the Report bugs to ...
14522         line.  The expected address is empty, "<>", while the actual
14523         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
14524
14525 2008-11-12  Bruno Haible  <bruno@clisp.org>
14526
14527         lstat: don't compile lstat.c on systems lacking lstat
14528         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
14529         which don't have lstat; this is handled by lib/sys_stat.in.h already.
14530         Reported by Daniel P. Berrange via Jim Meyering.
14531
14532 2008-11-12  Jim Meyering  <meyering@redhat.com>
14533
14534         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
14535
14536 2008-11-12  Simon Josefsson  <simon@josefsson.org>
14537
14538         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
14539         instead.
14540
14541 2008-11-12  Bruno Haible  <bruno@clisp.org>
14542
14543         * lib/unicodeio.c: Include unistr.h.
14544         (utf8_wctomb): Remove function.
14545         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
14546
14547 2008-11-12  Simon Josefsson  <simon@josefsson.org>
14548
14549         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
14550         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
14551         <bruno@clisp.org>.
14552         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
14553
14554 2008-11-12  Simon Josefsson  <simon@josefsson.org>
14555
14556         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
14557         * doc/gnulib.texi: Add section for warnings.
14558
14559 2008-11-11  Bruno Haible  <bruno@clisp.org>
14560
14561         * lib/sockets.h: Add a comment.
14562
14563 2008-11-11  Karl Berry  <karl@gnu.org>
14564
14565         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
14566
14567 2008-11-11  Eric Blake  <ebb9@byu.net>
14568
14569         fdl.texi: avoid git symlinks
14570         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
14571
14572 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
14573
14574         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
14575
14576 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
14577
14578         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
14579         (gl_WARN_ADD): Substitute $2 if literal.
14580
14581 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
14582
14583         * m4/warning.m4: Remove.
14584
14585 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
14586
14587         * m4/warnings.m4: Almost complete rewrite. :-)
14588
14589 2008-11-10  Simon Josefsson  <simon@josefsson.org>
14590
14591         * modules/warnings: New module.
14592         * m4/warnings.m4: New file.
14593         * MODULES.html.sh: Mention warnings module.
14594         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
14595         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
14596
14597 2008-11-10  Eric Blake  <ebb9@byu.net>
14598
14599         fdl.texi: make a symlink to the latest version
14600         * doc/standards.texi: Revert today's earlier change.
14601         * doc/fdl-1.2.texi: Rename from old fdl.texi...
14602         * doc/fdl.texi: ...and replace this with a symlink to the newer
14603         fdl-1.3.texi.
14604
14605 2008-11-10  Bruno Haible  <bruno@clisp.org>
14606
14607         * tests/test-select-fd.c (main): Accept the result file name as fourth
14608         argument.
14609         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
14610         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
14611
14612 2008-11-10  Bruno Haible  <bruno@clisp.org>
14613
14614         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
14615         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
14616         as autoconf-substituted macros.
14617         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
14618         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
14619         gl_NETDB_H_DEFAULTS. Set these variables.
14620         * modules/netdb (Makefile.am): Substitute these variables.
14621
14622 2008-11-10  Eric Blake  <ebb9@byu.net>
14623
14624         standards.texi: include correct file for FDL 1.3
14625         * doc/standards.texi (GNU Free Documentation License): Change
14626         include file to pull in FDL 1.3, not 1.2.
14627
14628         fdl.texi: revert accidental change to license
14629         * doc/fdl.texi: This is FDL 1.2, not 1.3.
14630
14631 2008-11-10  Bruno Haible  <bruno@clisp.org>
14632
14633         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
14634         cross-compiling guesses also when the native compile gives no result.
14635
14636 2008-11-10  Bruno Haible  <bruno@clisp.org>
14637
14638         * lib/spawni.c (__spawni): Force variable into the stack.
14639
14640 2008-11-10  Bruno Haible  <bruno@clisp.org>
14641
14642         Add support for Haiku.
14643         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
14644         glibc and BeOS, but also on Haiku.
14645         * lib/fpurge.c (fpurge): Likewise.
14646         * lib/freadable.c (freadable): Likewise.
14647         * lib/freadahead.c (freadahead): Likewise.
14648         * lib/freading.c (freading): Likewise.
14649         * lib/freadptr.c (freadptr): Likewise.
14650         * lib/freadseek.c (freadptrinc): Likewise.
14651         * lib/fseeko.c (rpl_fseeko): Likewise.
14652         * lib/fseterr.c (fseterr): Likewise.
14653         * lib/fwritable.c (fwritable): Likewise.
14654         * lib/fwriting.c (fwriting): Likewise.
14655         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
14656
14657 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
14658
14659         * lib/config.charset: Treat Haiku like BeOS.
14660
14661 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
14662
14663         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
14664         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
14665
14666 2008-11-08  Bruno Haible  <bruno@clisp.org>
14667
14668         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
14669         AC_CACHE_CHECK.
14670
14671 2008-11-08  Bruno Haible  <bruno@clisp.org>
14672
14673         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
14674
14675 2008-11-08  Bruno Haible  <bruno@clisp.org>
14676
14677         * tests/test-select-fd.c: New file.
14678         * tests/test-select-in.sh: New file.
14679         * tests/test-select-out.sh: New file.
14680         * tests/test-select-stdin.c: New file.
14681         * modules/select-tests (Files): Add the new files.
14682         (Depends-on): Add gettimeofday.
14683         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
14684         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
14685         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
14686
14687 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
14688             Bruno Haible  <bruno@clisp.org>
14689
14690         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
14691
14692 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
14693
14694         * build-aux/pmccabe2html: Added support for C++ source files.
14695
14696 2008-11-05  Ben Pfaff  <blp@gnu.org>
14697
14698         Fix lib/close.c build on Windows.
14699         * modules/close (Files): Add lib/w32sock.h.
14700
14701 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
14702
14703         Accept Bison's NEWS format.
14704         * build-aux/announce-gen (print_news_deltas): Tweak
14705         $re_prefix.
14706
14707 2008-11-04  Bruno Haible  <bruno@clisp.org>
14708
14709         * modules/random_r (Maintainer): Add glibc.
14710
14711 2008-11-04  Simon Josefsson  <simon@josefsson.org>
14712
14713         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
14714         by karl@freefriends.org (Karl Berry).
14715         * doc/alloca.texi: Likewise.
14716         * doc/c-ctype.texi: Likewise.
14717         * doc/c-strcase.texi: Likewise.
14718         * doc/c-strcaseeq.texi: Likewise.
14719         * doc/c-strcasestr.texi: Likewise.
14720         * doc/c-strstr.texi: Likewise.
14721         * doc/c-strtod.texi: Likewise.
14722         * doc/c-strtold.texi: Likewise.
14723         * doc/ctime.texi: Likewise.
14724         * doc/error.texi: Likewise.
14725         * doc/fdl.texi: Likewise.
14726         * doc/gcd.texi: Likewise.
14727         * doc/getdate.texi: Likewise.
14728         * doc/gnulib-intro.texi: Likewise.
14729         * doc/gnulib-tool.texi: Likewise.
14730         * doc/gnulib.texi: Likewise.
14731         * doc/inet_ntoa.texi: Likewise.
14732         * doc/maintain.texi: Likewise.
14733         * doc/make-stds.texi: Likewise.
14734         * doc/quote.texi: Likewise.
14735         * doc/regexprops-generic.texi: Likewise.
14736         * doc/standards.texi: Likewise.
14737         * doc/verify.texi: Likewise.
14738         * doc/visibility.texi: Likewise.
14739         * doc/gnulib.texi (GNU Free Documentation License): Include
14740         fdl-1.3.texi instead of fdl.texi.
14741
14742 2008-11-04  Simon Josefsson  <simon@josefsson.org>
14743
14744         * doc/fdl-1.3.texi: New file, from
14745         <http://www.gnu.org/licenses/fdl-1.3.texi>.
14746         * modules/fdl-1.3: Add.
14747         * MODULES.html.sh: Add fdl-1.3.
14748
14749 2008-11-03  Bruno Haible  <bruno@clisp.org>
14750
14751         Make determination of absolute name of header file work with AIX xlc.
14752         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
14753         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
14754         preprocessing.
14755         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
14756         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
14757
14758 2008-11-03  Simon Josefsson  <simon@josefsson.org>
14759
14760         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
14761         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
14762         <ludo@gnu.org>.
14763
14764 2008-11-02  Bruno Haible  <bruno@clisp.org>
14765
14766         Mark 'strpbrk' obsolete.
14767         * modules/strpbrk (Status, Notice): New sections.
14768         * modules/strtok_r (Depends-on): Add strpbrk.
14769
14770 2008-11-02  Bruno Haible  <bruno@clisp.org>
14771
14772         Mark 'strdup' obsolete.
14773         * modules/strdup (Status, Notice): New sections.
14774         * modules/findprog (Depends-on): Add strdup.
14775         * modules/getaddrinfo (Depends-on): Likewise.
14776         * modules/localename (Depends-on): Likewise.
14777         * modules/relocatable-lib (Depends-on): Likewise.
14778         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
14779         * modules/relocatable-prog (Depends-on): Likewise.
14780         * modules/trim (Depends-on): Likewise.
14781         * modules/unictype/gen-ctype (Depends-on): Likewise.
14782         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
14783
14784 2008-11-02  Bruno Haible  <bruno@clisp.org>
14785
14786         Mark 'strcspn' obsolete.
14787         * modules/strcspn (Status, Notice): New sections.
14788
14789 2008-11-02  Bruno Haible  <bruno@clisp.org>
14790
14791         Mark 'rmdir' obsolete.
14792         * modules/rmdir (Status, Notice): New sections.
14793         * modules/clean-temp (Depends-on): Add rmdir.
14794         * modules/openat (Depends-on): Likewise.
14795
14796 2008-11-02  Bruno Haible  <bruno@clisp.org>
14797
14798         Mark 'raise' obsolete.
14799         * modules/raise (Status, Notice): New sections.
14800         (Include): Specify <signal.h>.
14801         * modules/stdio (Depends-on): Add raise.
14802         * modules/write (Depends-on): Likewise.
14803
14804 2008-11-02  Bruno Haible  <bruno@clisp.org>
14805
14806         Mark 'memset' obsolete.
14807         * modules/memset (Status, Notice): New sections.
14808
14809 2008-11-02  Bruno Haible  <bruno@clisp.org>
14810
14811         Mark 'memmove' obsolete.
14812         * modules/memmove (Status, Notice): New sections.
14813         * modules/argp (Depends-on): Add memmove.
14814         * modules/argz (Depends-on): Likewise.
14815         * modules/canonicalize (Depends-on): Likewise.
14816         * modules/canonicalize-lgpl (Depends-on): Likewise.
14817         * modules/fts (Depends-on): Likewise.
14818         * modules/getcwd (Depends-on): Likewise.
14819         * modules/human (Depends-on): Likewise.
14820         * modules/regex (Depends-on): Likewise.
14821         * modules/striconveh (Depends-on): Likewise.
14822         * modules/trim (Depends-on): Likewise.
14823         * modules/unistr/u8-move (Depends-on): Likewise.
14824         * modules/unistr/u16-move (Depends-on): Likewise.
14825         * modules/unistr/u32-move (Depends-on): Likewise.
14826
14827 2008-11-02  Bruno Haible  <bruno@clisp.org>
14828
14829         Mark 'memcpy' obsolete.
14830         * modules/memcpy (Status, Notice): New sections.
14831
14832 2008-11-02  Bruno Haible  <bruno@clisp.org>
14833
14834         Mark 'memcmp' obsolete.
14835         * modules/memcmp (Status, Notice): New sections.
14836         * modules/argmatch (Depends-on): Add memchr.
14837         * modules/backupfile (Depends-on): Likewise.
14838         * modules/c-strcasestr (Depends-on): Likewise.
14839         * modules/crypto/des (Depends-on): Likewise.
14840         * modules/csharpcomp (Depends-on): Likewise.
14841         * modules/fnmatch (Depends-on): Likewise.
14842         * modules/git-merge-changelog (Depends-on): Likewise.
14843         * modules/isnand (Depends-on): Likewise.
14844         * modules/isnand-nolibm (Depends-on): Likewise.
14845         * modules/isnanf (Depends-on): Likewise.
14846         * modules/isnanf-nolibm (Depends-on): Likewise.
14847         * modules/isnanl (Depends-on): Likewise.
14848         * modules/isnanl-nolibm (Depends-on): Likewise.
14849         * modules/mbchar (Depends-on): Likewise.
14850         * modules/memcoll (Depends-on): Likewise.
14851         * modules/quotearg (Depends-on): Likewise.
14852         * modules/regex (Depends-on): Likewise.
14853         * modules/relocatable-prog (Depends-on): Likewise.
14854         * modules/same (Depends-on): Likewise.
14855         * modules/signbit (Depends-on): Likewise.
14856         * modules/strcasestr-simple (Depends-on): Likewise.
14857         * modules/unictype/gen-ctype (Depends-on): Likewise.
14858         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
14859         * modules/uniname/uniname (Depends-on): Likewise.
14860         * modules/unistr/u8-cmp (Depends-on): Likewise.
14861
14862 2008-11-02  Bruno Haible  <bruno@clisp.org>
14863
14864         Mark 'memchr' obsolete.
14865         * modules/memchr (Status, Notice): New sections.
14866         * modules/argp (Depends-on): Add memchr.
14867         * modules/base64 (Depends-on): Likewise.
14868         * modules/c-strcasestr (Depends-on): Likewise.
14869         * modules/chdir-long (Depends-on): Likewise.
14870         * modules/fnmatch (Depends-on): Likewise.
14871         * modules/getsubopt (Depends-on): Likewise.
14872         * modules/git-merge-changelog (Depends-on): Likewise.
14873         * modules/glob (Depends-on): Likewise.
14874         * modules/strcasestr-simple (Depends-on): Likewise.
14875         * modules/strnlen (Depends-on): Likewise.
14876
14877 2008-11-02  Bruno Haible  <bruno@clisp.org>
14878
14879         Mark 'atexit' obsolete.
14880         * modules/atexit (Status, Notice): New sections.
14881         * modules/chdir-long (Depends-on): Add atexit.
14882         * modules/wait-process (Depends-on): Likewise.
14883
14884 2008-11-02  Bruno Haible  <bruno@clisp.org>
14885
14886         * gnulib-tool: New option --with-obsolete.
14887         (func_usage): Document it.
14888         (func_modules_transitive_closure): Drop obsolete dependencies if
14889         incobsolete is not true.
14890         (func_import): Read and save the incobsolete variable to the cache.
14891
14892 2008-11-02  Bruno Haible  <bruno@clisp.org>
14893
14894         * modules/TEMPLATE-EXTENDED: New field 'Status'.
14895         * gnulib-tool: New option --extract-status.
14896         (func_usage): Document it.
14897         (sed_extract_prog): Recognize it.
14898         (func_get_status): New function.
14899
14900 2008-10-30  Simon Josefsson  <simon@josefsson.org>
14901
14902         * modules/sockets (License): Change from LGPL to LGPLv2+.
14903
14904 2008-10-28  Simon Josefsson  <simon@josefsson.org>
14905
14906         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
14907
14908 2008-10-28  Simon Josefsson  <simon@josefsson.org>
14909
14910         * MODULES.html.sh (Support for systems lacking POSIX:2001):
14911         Mention times and sys_times.
14912         * modules/sys_times, modules/sys_times-tests: New modules.
14913         * modules/times, modules/times-tests: Likewise
14914         * m4/sys_times_h.m4: New file.
14915         * lib/sys_times.in.h: Likewise
14916         * lib/times.c: Likewise.
14917         * tests/test-sys_times.c: Likewise.
14918         * tests/test-times.c: Likewise.
14919         * doc/posix-headers/sys_times.texi: Update.
14920         * doc/posix-functions/times.texi: Update.
14921
14922 2008-10-28  Jim Meyering  <meyering@redhat.com>
14923
14924         * modules/tempname (Depends-on): Add lstat.
14925
14926         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
14927
14928 2008-10-28  Simon Josefsson  <simon@josefsson.org>
14929
14930         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
14931         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
14932         using idiom used elsewhere in gnulib.
14933
14934 2008-10-27  Jim Meyering  <meyering@redhat.com>
14935
14936         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
14937
14938 2008-10-27  Simon Josefsson  <simon@josefsson.org>
14939
14940         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
14941         TESTS_ENVIRONMENT, for shell scripts that needs to call built
14942         programs.
14943         * tests/test-argp-2.sh: Use $EXEEXT when needed.
14944
14945 2008-10-27  Simon Josefsson  <simon@josefsson.org>
14946
14947         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
14948
14949 2008-10-27  Bruno Haible  <bruno@clisp.org>
14950
14951         * tests/test-lstat.c: Include <stdio.h>.
14952
14953 2008-10-27  Simon Josefsson  <simon@josefsson.org>
14954
14955         * modules/lstat-tests: New module.
14956         * tests/test-lstat.c: New file.
14957
14958 2008-10-26  Jim Meyering  <meyering@redhat.com>
14959
14960         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
14961
14962 2008-10-26  Simon Josefsson  <simon@josefsson.org>
14963             Bruno Haible  <bruno@clisp.org>
14964
14965         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
14966         * modules/configmake (Include): Add a note that the include must come
14967         after all system headers.
14968         * lib/javaversion.c: Include configmake.h after all other includes.
14969
14970 2008-10-26  Bruno Haible  <bruno@clisp.org>
14971
14972         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
14973         HAVE_STRUCT_RANDOM_DATA to 1.
14974         (gl_STDLIB_H): Simplify.
14975
14976 2008-10-26  Simon Josefsson  <simon@josefsson.org>
14977
14978         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
14979         substitute HAVE_STRUCT_RANDOM_DATA.
14980         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
14981         random_data.
14982         * modules/stdlib (Makefile.am): Substitute
14983         HAVE_STRUCT_RANDOM_DATA.
14984
14985 2008-10-26  Simon Josefsson  <simon@josefsson.org>
14986
14987         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
14988         * doc/gnulib-intro.texi (Copyright): Likewise.
14989
14990 2008-10-26  Simon Josefsson  <simon@josefsson.org>
14991
14992         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
14993         findings.
14994
14995 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
14996             Bruno Haible  <bruno@clisp.org>
14997
14998         * lib/unistd.in.h: Include <winsock2.h>.
14999         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
15000         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
15001         Provide dummy declarations.
15002         (gethostname): Override.
15003         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
15004         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
15005         gl_PREREQ_SYS_H_WINSOCK2.
15006         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
15007         * doc/posix-functions/gethostname.texi: More details.
15008
15009 2008-10-25  Bruno Haible  <bruno@clisp.org>
15010
15011         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
15012         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
15013         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
15014
15015         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
15016         here ...
15017         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
15018         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
15019         gl_UNISTD_H_DEFAULTS.
15020
15021 2008-10-25  Eric Blake  <ebb9@byu.net>
15022
15023         signbit: avoid spurious compiler failure
15024         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
15025         declarations inside function.
15026
15027 2008-10-24  Simon Josefsson  <simon@josefsson.org>
15028             Bruno Haible  <bruno@clisp.org>
15029
15030         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
15031         * modules/random_r (Depends-on): Add stdint.
15032
15033 2008-10-24  Bruno Haible  <bruno@clisp.org>
15034
15035         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
15036         Eggert.
15037         * modules/strerror (License): Likewise.
15038
15039 2008-10-24  Jim Meyering  <meyering@redhat.com>
15040
15041         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
15042         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
15043
15044 2008-10-24  Eric Blake  <ebb9@byu.net>
15045
15046         getgroups: fix compilation when getgroups is available
15047         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
15048         but with <config.h> override of getgroups disabled.
15049
15050 2008-10-24  Simon Josefsson  <simon@josefsson.org>
15051
15052         * doc/gnulib.texi (Header files): Add note about C++ problems.
15053         Explained by Bruno Haible <bruno@clisp.org>.
15054
15055 2008-10-23  Bruno Haible  <bruno@clisp.org>
15056
15057         Define a dummy SA_NODEFER macro on Interix.
15058         * lib/signal.in.h (SA_NODEFER): Define fallback.
15059         Reported by Aleksey Cheusov <cheusov@tut.by> via
15060         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
15061
15062 2008-10-23  Bruno Haible  <bruno@clisp.org>
15063
15064         * modules/freadahead (License): Change to LGPLv2+.
15065         Suggested by Simon Josefsson.
15066
15067 2008-10-23  Jim Meyering  <meyering@redhat.com>
15068
15069         random_r: new module
15070         * modules/random_r: New file.
15071         * m4/random_r.m4: New file.
15072         * lib/random_r.c: New file, from glibc.
15073         * modules/random_r-tests: New file.
15074         * tests/test-random_r.c: New file.
15075         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
15076          Declare.
15077         (RAND_MAX): Define.
15078         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
15079         * modules/stdlib: Substitute them, too.
15080         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
15081         * doc/glibc-functions/initstate_r.texi: Mention the new module.
15082         * doc/glibc-functions/random_r.texi: Likewise.
15083         * doc/glibc-functions/setstate_r.texi: Likewise.
15084         * doc/glibc-functions/srandom_r.texi: Likewise.
15085         * config/srclist.txt: Mention it.
15086
15087 2008-10-23  David Lutterkort  <lutter@redhat.com>
15088
15089         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
15090         link requirement
15091
15092 2008-10-23  Jim Meyering  <meyering@redhat.com>
15093
15094         selinux-h: mark parameters of stub functions as intentionally unused
15095         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
15096         * lib/se-context.in.h: Likewise.
15097
15098 2008-10-22  Simon Josefsson  <simon@josefsson.org>
15099
15100         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
15101
15102 2008-10-22  Simon Josefsson  <simon@josefsson.org>
15103
15104         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
15105
15106 2008-10-22  Eric Blake  <ebb9@byu.net>
15107
15108         glthread/thread: avoid compiler warning
15109         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
15110         Add unreachable abort to silence compiler.
15111
15112 2008-10-22  Eric Blake  <ebb9@byu.net>
15113
15114         netdb: also supply struct addrinfo for cygwin 1.5.x
15115         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
15116         older cygwin.
15117         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
15118         cygwin.
15119         * doc/posix-headers/netdb.texi (netdb.h): Document this.
15120
15121 2008-10-22  Bruno Haible  <bruno@clisp.org>
15122
15123         * users.txt: Update entry about pspp.
15124
15125 2008-10-21  Bruno Haible  <bruno@clisp.org>
15126
15127         Simplification.
15128         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
15129         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
15130
15131         Simplification.
15132         * lib/ioctl.c (ioctl): Don't undefine.
15133         * lib/socket.c (socket): Don't undefine.
15134
15135         Remove unused module indicator macros.
15136         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
15137         GNULIB_$1 as a C macro.
15138
15139         * doc/posix-functions/close.texi: Undo last change.
15140         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
15141         Windows platforms.
15142
15143 2008-10-21  Bruno Haible  <bruno@clisp.org>
15144
15145         Add gethostname() declaration to <unistd.h>.
15146         * lib/unistd.in.h (gethostname): New declaration.
15147         * lib/gethostname.c: Include <unistd.h>.
15148         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
15149         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
15150         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
15151         and HAVE_GETHOSTNAME.
15152         * modules/gethostname (Depends-on): Add unistd.
15153         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
15154         (Include): Specify <unistd.h>.
15155         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
15156         HAVE_GETHOSTNAME.
15157         * tests/test-gethostname.c: Include <unistd.h> first.
15158
15159 2008-10-21  Bruno Haible  <bruno@clisp.org>
15160
15161         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
15162         * modules/select-tests (Depends-on): Likewise.
15163         Reported by Simon Josefsson.
15164
15165 2008-10-21  Simon Josefsson  <simon@josefsson.org>
15166
15167         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
15168         * lib/accept.c: New file, based on winsock.c.
15169         * lib/bind.c: New file, based on winsock.c.
15170         * lib/connect.c: New file, based on winsock.c.
15171         * lib/getpeername.c: New file, based on winsock.c.
15172         * lib/getsockname.c: New file, based on winsock.c.
15173         * lib/getsockopt.c: New file, based on winsock.c.
15174         * lib/ioctl.c: New file, based on winsock.c.
15175         * lib/listen.c: New file, based on winsock.c.
15176         * lib/recv.c: New file, based on winsock.c.
15177         * lib/recvfrom.c: New file, based on winsock.c.
15178         * lib/send.c: New file, based on winsock.c.
15179         * lib/sendto.c: New file, based on winsock.c.
15180         * lib/setsockopt.c: New file, based on winsock.c.
15181         * lib/shutdown.c: New file, based on winsock.c.
15182         * lib/socket.c: New file, based on winsock.c.
15183         * lib/w32sock.h: New file, based on winsock.c.
15184         * lib/winsock.c: Remove file.
15185         * modules/accept: Likewise.
15186         * modules/bind: Likewise.
15187         * modules/connect: Likewise.
15188         * modules/getpeername: Likewise.
15189         * modules/getsockname: Likewise.
15190         * modules/getsockopt: Likewise.
15191         * modules/ioctl: Likewise.
15192         * modules/listen: Likewise.
15193         * modules/recv: Likewise.
15194         * modules/recvfrom: Likewise.
15195         * modules/send: Likewise.
15196         * modules/sendto: Likewise.
15197         * modules/setsockopt: Likewise.
15198         * modules/shutdown: Likewise.
15199         * modules/socket: Use socket.c instead of winsock.c.
15200         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
15201         * doc/posix-functions/accept.texi: Doc fix.
15202         * doc/posix-functions/bind.texi: Doc fix.
15203         * doc/posix-functions/close.texi: Doc fix.
15204         * doc/posix-functions/connect.texi: Doc fix.
15205         * doc/posix-functions/getpeername.texi: Doc fix.
15206         * doc/posix-functions/getsockname.texi: Doc fix.
15207         * doc/posix-functions/getsockopt.texi: Doc fix.
15208         * doc/posix-functions/ioctl.texi: Doc fix.
15209         * doc/posix-functions/listen.texi: Doc fix.
15210         * doc/posix-functions/recv.texi: Doc fix.
15211         * doc/posix-functions/recvfrom.texi: Doc fix.
15212         * doc/posix-functions/send.texi: Doc fix.
15213         * doc/posix-functions/sendto.texi: Doc fix.
15214         * doc/posix-functions/setsockopt.texi: Doc fix.
15215         * doc/posix-functions/shutdown.texi: Doc fix.
15216         * doc/posix-functions/socket.texi: Doc fix.
15217
15218 2008-10-20  Bruno Haible  <bruno@clisp.org>
15219
15220         Take into account the role of SIGABRT_COMPAT on Windows 2008.
15221         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
15222         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
15223         as an alias for SIGABRT.
15224         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
15225         (sigaction): Map it to SIGABRT.
15226         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
15227
15228 2008-10-20  Bruno Haible  <bruno@clisp.org>
15229
15230         * lib/fts.c: Don't include lstat.h.
15231         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
15232
15233         Move the lstat() declaration to <sys/stat.h>.
15234         * lib/lstat.h: Remove file.
15235         * lib/sys_stat.in.h: Add special invocation convention.
15236         (lstat): New declaration.
15237         * lib/lstat.c (orig_lstat): New function.
15238         (rpl_lstat): Use orig_lstat instead of lstat.
15239         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
15240         AC_C_INLINE. Set REPLACE_LSTAT.
15241         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
15242         and REPLACE_LSTAT.
15243         * modules/lstat (Files): Remove lib/lstat.h.
15244         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
15245         (Include): Specify <sys/stat.h> instead of lstat.h.
15246         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
15247         REPLACE_LSTAT.
15248         * NEWS: Mention the change.
15249
15250 2008-10-20  Bruno Haible  <bruno@clisp.org>
15251
15252         * modules/posix_spawn-tests: New file.
15253         * tests/test-posix_spawn3.c: New file.
15254
15255 2008-10-20  Bruno Haible  <bruno@clisp.org>
15256
15257         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
15258         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
15259         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
15260         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
15261         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
15262
15263 2008-10-20  Bruno Haible  <bruno@clisp.org>
15264
15265         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
15266         of posix_spawn on AIX 5.3.
15267
15268 2008-10-20  Bruno Haible  <bruno@clisp.org>
15269
15270         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
15271
15272 2008-10-20  Bruno Haible  <bruno@clisp.org>
15273
15274         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
15275         of AC_LANG_PROGRAM.
15276
15277 2008-10-20  Simon Josefsson  <simon@josefsson.org>
15278
15279         * lib/netdb.in.h: Don't define GNU specific constants until they
15280         are supported or needed.  Reported by Bruno Haible
15281         <bruno@clisp.org>.
15282
15283 2008-10-20  Simon Josefsson  <simon@josefsson.org>
15284
15285         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
15286
15287 2008-10-20  Simon Josefsson  <simon@josefsson.org>
15288
15289         * lib/getaddrinfo.h: Remove file.
15290         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
15291         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
15292         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
15293         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
15294         * modules/netdb: Substitute GNULIB_GETADDRINFO.
15295         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
15296         * tests/test-getaddrinfo.c: Likewise.
15297         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
15298         * NEWS: Mention change.
15299
15300 2008-10-19  Bruno Haible  <bruno@clisp.org>
15301
15302         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
15303
15304 2008-10-19  Bruno Haible  <bruno@clisp.org>
15305
15306         * lib/wait-process.c: Include simply <sys/wait.h>.
15307         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
15308         WIFSTOPPED): Remove fallback definitions.
15309         * modules/wait-process (Depends-on): Add sys_wait.
15310
15311         New module 'sys_wait'.
15312         * modules/sys_wait: New file.
15313         * lib/sys_wait.in.h: New file, partially copied from
15314         lib/wait-process.c.
15315         * m4/sys_wait_h.m4: New file.
15316         * doc/posix-headers/sys_wait.texi: Mention the new module.
15317
15318 2008-10-19  Bruno Haible  <bruno@clisp.org>
15319
15320         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
15321
15322 2008-10-19  Bruno Haible  <bruno@clisp.org>
15323
15324         Assume that waitpid() fills an 'int' status, not a 'union wait'.
15325         * lib/wait-process.c (WAIT_T): Remove type.
15326         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
15327         (wait_subprocess): Update.
15328
15329 2008-10-19  Bruno Haible  <bruno@clisp.org>
15330
15331         New module 'atoll'.
15332         * modules/atoll: New file.
15333         * lib/stdlib.in.h (atoll): New declaration.
15334         * lib/atoll.c: New file, from glibc with modifications.
15335         * m4/atoll.m4: New file.
15336         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
15337         HAVE_ATOLL.
15338         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
15339         * doc/posix-functions/atoll.texi: Mention the new module.
15340
15341 2008-10-19  Bruno Haible  <bruno@clisp.org>
15342
15343         Add strtoull() declaration to <stdlib.h>.
15344         * lib/stdlib.in.h (strtoull): New declaration.
15345         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
15346         Set HAVE_STRTOULL.
15347         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
15348         HAVE_STRTOULL.
15349         * modules/strtoull (Depends-on): Add stdlib.
15350         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
15351         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
15352         HAVE_STRTOULL.
15353
15354 2008-10-19  Bruno Haible  <bruno@clisp.org>
15355
15356         Add strtoll() declaration to <stdlib.h>.
15357         * lib/stdlib.in.h (strtoll): New declaration.
15358         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
15359         Set HAVE_STRTOLL.
15360         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
15361         HAVE_STRTOLL.
15362         * modules/strtoll (Depends-on): Add stdlib.
15363         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
15364         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
15365
15366 2008-10-19  Bruno Haible  <bruno@clisp.org>
15367
15368         * modules/bcopy (Depends-on): Add strings.
15369         (Include): Specify <strings.h>.
15370
15371 2008-10-19  Bruno Haible  <bruno@clisp.org>
15372
15373         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
15374
15375 2008-10-19  Bruno Haible  <bruno@clisp.org>
15376
15377         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
15378         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
15379         mingw.
15380
15381 2008-10-19  Bruno Haible  <bruno@clisp.org>
15382
15383         * lib/atanl.c: Don't include isnanl.h.
15384         * lib/cosl.c: Likewise.
15385         * lib/ldexpl.c: Likewise.
15386         * lib/logl.c: Likewise.
15387         * lib/sinl.c: Likewise.
15388         * lib/sqrtl.c: Likewise.
15389         * lib/tanl.c: Likewise.
15390
15391         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
15392         * lib/isnanf.h: Remove file.
15393         * lib/isnand.h: Remove file.
15394         * lib/isnanl.h: Remove file.
15395         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
15396         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
15397         macros.
15398         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
15399         HAVE_ISNANF, don't define it as a C macro.
15400         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
15401         HAVE_ISNAND, don't define it as a C macro.
15402         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
15403         HAVE_ISNANL, don't define it as a C macro.
15404         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
15405         HAVE_ISNAN[FDL].
15406         * modules/isnanf (Files): Remove lib/isnanf.h.
15407         (Depends-on): Add math.
15408         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
15409         (Include): Specify <math.h> instead of isnanf.h.
15410         * modules/isnand (Files): Remove lib/isnand.h.
15411         (Depends-on): Add math.
15412         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
15413         (Include): Specify <math.h> instead of isnand.h.
15414         * modules/isnanl (Files): Remove lib/isnanl.h.
15415         (Depends-on): Add math.
15416         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
15417         (Include): Specify <math.h> instead of isnanl.h.
15418         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
15419         HAVE_ISNAN[FDL].
15420         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
15421         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
15422         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
15423         * NEWS: Mention the change.
15424
15425 2008-10-18  Bruno Haible  <bruno@clisp.org>
15426
15427         Add getusershell(), setusershell(), endusershell() declarations to
15428         <unistd.h>.
15429         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
15430         declarations.
15431         * lib/getusershell.c: Include unistd.h.
15432         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
15433         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
15434         HAVE_GETUSERSHELL.
15435         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
15436         and HAVE_GETUSERSHELL.
15437         * modules/getusershell (Depends-on): Add unistd, extensions.
15438         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
15439         (Include): Specify <unistd.h>.
15440         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
15441         HAVE_GETUSERSHELL.
15442
15443 2008-10-18  Bruno Haible  <bruno@clisp.org>
15444
15445         Add a getloadavg() declaration to <stdlib.h>.
15446         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
15447         getloadavg declaration.
15448         (getloadavg): New declaration.
15449         * lib/getloadavg.c: Include <stdlib.h> first.
15450         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
15451         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
15452         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
15453         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
15454         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
15455         * modules/getloadavg (Depends-on): Add stdlib, extensions.
15456         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
15457         (Include): Specify <stdlib.h>.
15458         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
15459         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
15460
15461 2008-10-18  Bruno Haible  <bruno@clisp.org>
15462
15463         * lib/dirchownmod.c: Don't include lchmod.h.
15464
15465         Move the lchmod() declaration to <sys/stat.h>.
15466         * lib/lchmod.h: Remove file.
15467         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
15468         (lchmod): New declaration, moved here from lib/lchown.h.
15469         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
15470         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
15471         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
15472         and HAVE_LCHMOD.
15473         * modules/lchmod (Files): Remove lib/lchmod.h.
15474         (Depends-on): Add sys_stat, extensions.
15475         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
15476         (Include): Specify <sys/stat.h> instead of lchmod.h.
15477         * modules/sys_stat (Depends-on): Add link-warning.
15478         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
15479         definition of GL_LINK_WARNING.
15480         * NEWS: Mention the change.
15481
15482 2008-10-18  Bruno Haible  <bruno@clisp.org>
15483
15484         * lib/fchdir.c: Don't include dirfd.h.
15485         * lib/fts.c: Likewise.
15486         * lib/getcwd.c: Likewise.
15487         * lib/glob.c: Likewise.
15488
15489         Move the dirfd() declaration to <dirent.h>.
15490         * lib/dirfd.h: Remove file.
15491         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
15492         (dirfd): New declaration.
15493         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
15494         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
15495         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
15496         HAVE_DECL_DIRFD.
15497         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
15498         HAVE_DECL_DIRFD.
15499         * modules/dirfd (Files): Remove lib/dirfd.h.
15500         (Depends-on): Add dirent, extensions.
15501         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
15502         (Include): Specify <dirent.h> instead of dirfd.h.
15503         * modules/dirent (Depends-on): Add link-warning.
15504         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
15505         definition of GL_LINK_WARNING.
15506         * NEWS: Mention the change.
15507
15508 2008-10-18  Bruno Haible  <bruno@clisp.org>
15509
15510         Move the euidaccess() declaration to <unistd.h>.
15511         * lib/euidaccess.h: Remove file.
15512         * lib/unistd.in.h (euidaccess): New declaration.
15513         * lib/euidaccess.c: Don't include euidaccess.h.
15514         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
15515         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
15516         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
15517         and HAVE_EUIDACCESS.
15518         * modules/euidaccess (Files): Remove lib/euidaccess.h.
15519         (Depends-on): Add unistd.
15520         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
15521         (Include): Specify <unistd.h> instead of euidaccess.h.
15522         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
15523         HAVE_EUIDACCESS.
15524         * NEWS: Mention the change.
15525
15526 2008-10-18  Bruno Haible  <bruno@clisp.org>
15527
15528         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
15529
15530         Move the getdomainname() declaration to <unistd.h>.
15531         * lib/getdomainname.h: Remove file.
15532         * lib/unistd.in.h (getdomainname): New declaration.
15533         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
15534         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
15535         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
15536         HAVE_GETDOMAINNAME.
15537         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
15538         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
15539         * modules/getdomainname (Files): Remove lib/getdomainname.h.
15540         (Depends-on): Add unistd, extensions.
15541         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
15542         (Includes): Specify <unistd.h> instead of getdomainname.h.
15543         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
15544         HAVE_GETDOMAINNAME.
15545         * NEWS: Mention the change.
15546
15547 2008-10-18  Bruno Haible  <bruno@clisp.org>
15548
15549         * modules/dirent: New file.
15550         * m4/dirent_h.m4: New file.
15551         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
15552         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
15553         * modules/fchdir (Files): Remove lib/dirent.in.h.
15554         (Depends-on): Add dirent.
15555         (Makefile.am): Move rules to modules/dirent.
15556         * doc/posix-headers/dirent.texi: Mention the new module.
15557
15558 2008-10-18  Bruno Haible  <bruno@clisp.org>
15559
15560         Avoid -Wunused-parameter warnings in public gnulib header files.
15561         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
15562         macro.
15563         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
15564
15565 2008-10-18  Bruno Haible  <bruno@clisp.org>
15566
15567         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
15568         * doc/glibc-functions/error.texi: Mention the module 'error'.
15569         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
15570         * doc/glibc-functions/getdomainname.texi: Mention the module
15571         'getdomainname'.
15572         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
15573         * doc/glibc-functions/getpagesize.texi: Mention the module
15574         'getpagesize'.
15575         * doc/glibc-functions/getusershell.texi: Mention the module
15576         'getusershell'.
15577         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
15578         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
15579         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
15580         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
15581         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
15582         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
15583         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
15584         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
15585         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
15586         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
15587         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
15588         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
15589         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
15590         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
15591
15592 2008-10-17  Bruno Haible  <bruno@clisp.org>
15593
15594         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
15595         HP-UX and IRIX, use -0.0L.
15596         * tests/test-ceill.c (minus_zero): Likewise.
15597         * tests/test-floorl.c (minus_zero): Likewise.
15598         * tests/test-frexpl.c (minus_zero): Likewise.
15599         * tests/test-isnan.c (minus_zerol): Likewise.
15600         * tests/test-isnanl.h (minus_zero): Likewise.
15601         * tests/test-ldexpl.c (minus_zero): Likewise.
15602         * tests/test-roundl.c (minus_zero): Likewise.
15603         * tests/test-signbit.c (minus_zerol): Likewise.
15604         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
15605         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
15606         * tests/test-truncl.c (minus_zero): Likewise.
15607         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
15608         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
15609         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
15610         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
15611
15612 2008-10-17  Bruno Haible  <bruno@clisp.org>
15613
15614         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
15615         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
15616         that it gets activated only for gcc >= 3.0.
15617         * lib/dirent.in.h: Likewise.
15618         * lib/errno.in.h: Likewise.
15619         * lib/fcntl.in.h: Likewise.
15620         * lib/float.in.h: Likewise.
15621         * lib/iconv.in.h: Likewise.
15622         * lib/inttypes.in.h: Likewise.
15623         * lib/locale.in.h: Likewise.
15624         * lib/math.in.h: Likewise.
15625         * lib/netdb.in.h: Likewise.
15626         * lib/netinet_in.in.h: Likewise.
15627         * lib/search.in.h: Likewise.
15628         * lib/signal.in.h: Likewise.
15629         * lib/spawn.in.h: Likewise.
15630         * lib/stdarg.in.h: Likewise.
15631         * lib/stdint.in.h: Likewise.
15632         * lib/stdio.in.h: Likewise.
15633         * lib/stdlib.in.h: Likewise.
15634         * lib/string.in.h: Likewise.
15635         * lib/strings.in.h: Likewise.
15636         * lib/sys_file.in.h: Likewise.
15637         * lib/sys_ioctl.in.h: Likewise.
15638         * lib/sys_select.in.h: Likewise.
15639         * lib/sys_socket.in.h: Likewise.
15640         * lib/sys_stat.in.h: Likewise.
15641         * lib/sys_time.in.h: Likewise.
15642         * lib/sysexits.in.h: Likewise.
15643         * lib/time.in.h: Likewise.
15644         * lib/unistd.in.h: Likewise.
15645         * lib/wchar.in.h: Likewise.
15646         * lib/wctype.in.h: Likewise.
15647         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
15648
15649 2008-10-17  Jim Meyering  <meyering@redhat.com>
15650
15651         ignore-value: don't depend on inline module
15652         * modules/ignore-value (Depends-on): Remove 'inline'.
15653         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
15654         Suggestion from Bruno Haible.
15655
15656 2008-10-17  Bruno Haible  <bruno@clisp.org>
15657
15658         New implementation of condition variables for Win32.
15659         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
15660         (gl_linked_waitqueue_t): New type.
15661         (gl_cond_t): Use it.
15662         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
15663         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
15664         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
15665         (glthread_cond_init_func, glthread_cond_wait_func,
15666         glthread_cond_timedwait_func, glthread_cond_signal_func,
15667         glthread_cond_broadcast_func, glthread_cond_destroy_func):
15668         Reimplemented on the basis of gl_linked_waitqueue_t.
15669         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
15670         gl_waitqueue_t.
15671         (gl_rwlock_t): Update.
15672         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
15673
15674 2008-10-17  Simon Josefsson  <simon@josefsson.org>
15675
15676         * modules/recvfrom (Depends-on): Add dependency on getpeername.
15677         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
15678
15679 2008-10-17  Jim Meyering  <meyering@redhat.com>
15680
15681         ignore-value: new module
15682         * modules/ignore-value: New file.
15683         * lib/ignore-value.h: New file.
15684         * MODULES.html.sh (Compiler warning management): New section,
15685         just for this module.  More to come.
15686
15687 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
15688
15689         open-safer.c: avoid 'signed and unsigned in conditional...' warning
15690         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
15691         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
15692
15693 2008-10-16  Jim Meyering  <meyering@redhat.com>
15694
15695         openat-die.c: avoid 'no previous prototype' warning
15696         * lib/openat-die.c: Include "openat.h".
15697         Reported by Reuben Thomas <rrt@sc3d.org>.
15698
15699 2008-10-16  Simon Josefsson  <simon@josefsson.org>
15700
15701         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
15702         * lib/netdb.in.h: Fix typo.
15703         Reported by Bruno Haible  <bruno@clisp.org>
15704
15705         * lib/netdb.in.h: Include sys/socket.h for platforms without
15706         netdb.h, to get structures like hostent on MinGW.
15707         * modules/netdb (Depends-on): Add sys_socket.
15708
15709 2008-10-15  Simon Josefsson  <simon@josefsson.org>
15710
15711         * modules/netdb, modules/netdb-tests: New file.
15712         * m4/netdb_h.m4: New file.
15713         * lib/netdb.in.h: Add, currently just an empty file pending
15714         definitions.
15715         * tests/test-netdb.c: New file.
15716         * doc/posix-headers/netdb.texi: Mention that we replace it if
15717         needed.
15718         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
15719         netdb.
15720
15721 2008-10-15  Simon Josefsson  <simon@josefsson.org>
15722
15723         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
15724         with code.
15725
15726 2008-10-13  Bruno Haible  <bruno@clisp.org>
15727
15728         * lib/glthread/cond.c (glthread_cond_wait_func,
15729         glthread_cond_timedwait_func): Add a comment.
15730
15731 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
15732
15733         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
15734         * tests/test-select.c: Likewise,
15735
15736 2008-10-13  Bruno Haible  <bruno@clisp.org>
15737
15738         * lib/glthread/cond.c (glthread_cond_wait_func,
15739         glthread_cond_timedwait_func): Fix variable name.
15740         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
15741
15742 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
15743
15744         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
15745         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
15746         struct sockaddr.sa_len.
15747         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
15748
15749 2008-10-13  Simon Josefsson  <simon@josefsson.org>
15750
15751         * build-aux/pmccabe2html: Add css and css_url parameters.
15752
15753 2008-10-12  Bruno Haible  <bruno@clisp.org>
15754
15755         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
15756         calling aclx_get.
15757         Reported by Rainer Tammer <tammer@tammer.net>.
15758
15759 2008-10-12  Bruno Haible  <bruno@clisp.org>
15760
15761         Use msvcrt aware primitives for creation/termination of Win32 threads.
15762         * lib/glthread/thread.c: Include <process.h>.
15763         (glthread_create_func): Use _beginthreadex instead of CreateThread.
15764         (wrapper_func): Update signature.
15765         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
15766
15767 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
15768             Bruno Haible  <bruno@clisp.org>
15769
15770         Provide a Win32 implementation of the 'cond' module.
15771         * lib/glthread/cond.h [USE_WIN32]: New implementation.
15772         * lib/glthread/cond.c (glthread_cond_init_func,
15773         glthread_cond_wait_func, glthread_cond_timedwait_func,
15774         glthread_cond_signal_func, glthread_cond_broadcast_func,
15775         glthread_cond_destroy_func) [USE_WIN32]: New functions.
15776         * modules/cond (Dependencies): Add gettimeofday.
15777
15778 2008-10-11  Bruno Haible  <bruno@clisp.org>
15779
15780         Make sleep work on older versions of mingw.
15781         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
15782         only whether it exists.
15783         * doc/posix-functions/sleep.texi: Mention the problem with older
15784         versions of mingw.
15785
15786 2008-10-11  Bruno Haible  <bruno@clisp.org>
15787
15788         New module 'shutdown'.
15789         * modules/shutdown: New file.
15790         * lib/sys_socket.in.h (shutdown): New declaration.
15791         * lib/winsock.c (shutdown): New function.
15792         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
15793         GNULIB_SHUTDOWN.
15794         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
15795         * doc/posix-functions/shutdown.texi: Document the new module.
15796
15797 2008-10-11  Jim Meyering  <meyering@redhat.com>
15798
15799         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
15800
15801 2008-10-11  Bruno Haible  <bruno@clisp.org>
15802
15803         New module 'fclose'.
15804         * modules/fclose: New file.
15805         * lib/stdio.in.h (fclose): New declaration.
15806         * lib/fclose.c: New file.
15807         * m4/fclose.m4: New file.
15808         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
15809         REPLACE_FCLOSE.
15810         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
15811         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
15812         REPLACE_FCLOSE.
15813         * modules/close (Depends-on): fclose.
15814         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
15815
15816 2008-10-11  Bruno Haible  <bruno@clisp.org>
15817
15818         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
15819         set errno and don't call _close.
15820
15821 2008-10-10  Bruno Haible  <bruno@clisp.org>
15822
15823         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
15824         ACL, not afterwards. Fixes test failure on Cygwin.
15825
15826 2008-10-09  Ben Pfaff  <blp@gnu.org>
15827
15828         * build-aux/announce-gen: Fix gnulib version related part of usage
15829         message.  Die with a useful error message if no tarballs are
15830         found.
15831
15832 2008-10-10  Jim Meyering  <meyering@redhat.com>
15833
15834         bootstrap: use git's --depth=N option only if it's supported
15835         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
15836         recognize the --depth option.  Reported by Pádraig Brady.
15837
15838 2008-10-09  Bruno Haible  <bruno@clisp.org>
15839
15840         New module 'ioctl'.
15841         * modules/ioctl: New file.
15842         * lib/sys_socket.in.h (ioctl): Remove declaration.
15843         * lib/winsock.c: Include <sys/ioctl.h>.
15844         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
15845         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
15846         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
15847         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
15848         * doc/posix-functions/ioctl.texi: Mention the new module.
15849
15850 2008-10-09  Bruno Haible  <bruno@clisp.org>
15851
15852         New module 'sys_ioctl'.
15853         * lib/sys_ioctl.in.h: New file.
15854         * m4/sys_ioctl_h.m4: New file.
15855         * modules/sys_ioctl: New file.
15856         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
15857
15858 2008-10-09  Bruno Haible  <bruno@clisp.org>
15859
15860         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
15861         * lib/winsock.c: Include <stdarg.h>.
15862         (rpl_ioctl): Change to second argument 'int' and then varargs.
15863
15864 2008-10-09  Bruno Haible  <bruno@clisp.org>
15865
15866         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
15867         when the sys_socket module is present and the system has <winsock2.h>.
15868
15869 2008-10-09  Bruno Haible  <bruno@clisp.org>
15870
15871         * doc/posix-functions/close.texi: Mention module 'close' instead of
15872         module 'sys_socket'.
15873
15874 2008-10-09  Bruno Haible  <bruno@clisp.org>
15875
15876         * doc/glibc-headers/sys_ioctl.texi: New file.
15877         * doc/gnulib.texi: Include it.
15878
15879 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
15880             Bruno Haible  <bruno@clisp.org>
15881
15882         Combine the two replacements of 'close'.
15883         * lib/sys_socket.in.h (close): Define to a reminder to include
15884         <unistd.h>.
15885         (_gl_close_fd_maybe_socket): New declaration.
15886         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
15887         * lib/winsock.c (close): Remove undefinition.
15888         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
15889         needed for the gnulib module 'close'.
15890         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
15891         define to an error symbol or to a warning, if suitable.
15892         * lib/close.c: Include <sys/socket.h>.
15893         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
15894         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
15895         UNISTD_H_HAVE_WINSOCK2_H.
15896         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
15897         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
15898         UNISTD_H_HAVE_WINSOCK2_H.
15899         * modules/sys_socket (Files): Add m4/unistd_h.m4.
15900         (configure.ac): Set a module indicator.
15901         (Makefile.am): Substitute GNULIB_CLOSE.
15902         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
15903         * modules/poll-tests (Depends-on): Add close.
15904         * modules/select-tests (Depends-on): Likewise.
15905
15906 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
15907             Bruno Haible  <bruno@clisp.org>
15908
15909         New module 'close'.
15910         * modules/close: New file.
15911         * lib/unistd.in.h (close): Move declaration out of the
15912         FCHDIR_REPLACEMENT scope.
15913         (_gl_unregister_fd): New declaration.
15914         * lib/close.c: New file.
15915         * lib/fchdir.c (rpl_close): Remove function.
15916         * m4/close.m4: New file.
15917         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
15918         close.
15919         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
15920         REPLACE_CLOSE.
15921         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
15922         REPLACE_CLOSE.
15923         * modules/fchdir (Depends-on): Add close.
15924
15925 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
15926             Bruno Haible  <bruno@clisp.org>
15927
15928         * lib/fcntl.in.h (open): Simplify conditionals.
15929         (_gl_register_fd): New declaration.
15930         * lib/fchdir.c (rpl_open): Remove function.
15931         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
15932         also.
15933         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
15934         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
15935         open.
15936
15937 2008-10-09  Jim Meyering  <meyering@redhat.com>
15938
15939         GNUmakefile: use the more name-space-friendly "_version"
15940         * top/GNUmakefile (_dummy): Update.
15941         (_version): Rename from "version".
15942
15943 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
15944             Bruno Haible  <bruno@clisp.org>
15945
15946         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
15947         rpl_close.
15948         (_gl_register_fd): New function, extracted from rpl_open.
15949         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
15950         (rpl_open, rpl_opendir): Use _gl_register_fd.
15951
15952 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
15953
15954         Fix organization of 'open' replacement.
15955         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
15956         (gl_FUNC_OPEN): Use it.
15957         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
15958
15959 2008-10-08  Bruno Haible  <bruno@clisp.org>
15960
15961         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
15962
15963 2008-10-08  Simon Josefsson  <simon@josefsson.org>
15964
15965         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
15966         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
15967         listen).
15968
15969 2008-10-08  Eric Blake  <ebb9@byu.net>
15970
15971         GNUmakefile: add 'make version' target
15972         * top/GNUmakefile (_curr-ver): Split version update rules...
15973         (version): ...into a target.
15974
15975 2008-10-07  Bruno Haible  <bruno@clisp.org>
15976
15977         Use a more portable replacement expression for -0.0L.
15978         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
15979         instead of -0.0L. Fix m4 quotation.
15980
15981         * tests/test-signbit.c: Include <float.h>.
15982         (minus_zero): New variable.
15983         (test_signbitl): Use minus_zero instead of -zero.
15984         * modules/signbit-tests (Depends-on): Add float.
15985
15986         * tests/test-ceill.c: Include <float.h>.
15987         (zero): Remove variable.
15988         (minus_zero): New variable.
15989         (main): Use minus_zero instead of -zero.
15990         * modules/ceill-tests (Depends-on): Add float.
15991
15992         * tests/test-floorl.c: Include <float.h>.
15993         (zero): Remove variable.
15994         (minus_zero): New variable.
15995         (main): Use minus_zero instead of -zero.
15996         * modules/floorl-tests (Depends-on): Add float.
15997
15998         * tests/test-roundl.c: Include <float.h>.
15999         (zero): Remove variable.
16000         (minus_zero): New variable.
16001         (main): Use minus_zero instead of -zero.
16002         * modules/roundl-tests (Depends-on): Add float.
16003
16004         * tests/test-truncl.c: Include <float.h>.
16005         (zero): Remove variable.
16006         (minus_zero): New variable.
16007         (main): Use minus_zero instead of -zero.
16008         * modules/truncl-tests (Depends-on): Add float.
16009
16010         * tests/test-frexpl.c (zero): Remove variable.
16011         (minus_zero): New variable.
16012         (main): Use minus_zero instead of -zero.
16013         * modules/frexpl-tests (Depends-on): Add float.
16014
16015         * tests/test-isnan.c (zerol): Remove variable.
16016         (minus_zerol): New variable.
16017         (test_long_double): Use minus_zerol instead of -zerol.
16018         * modules/isnan-tests (Depends-on): Add float.
16019
16020         * tests/test-isnanl.h (zero): Remove variable.
16021         (minus_zero): New variable.
16022         (main): Use minus_zero instead of -zero.
16023         * modules/isnanl-nolibm-tests (Depends-on): Add float.
16024         * modules/isnanl-tests (Depends-on): Add float.
16025
16026         * tests/test-ldexpl.c (zero): Remove variable.
16027         (minus_zero): New variable.
16028         (main): Use minus_zero instead of -zero.
16029         * modules/ldexpl-tests (Depends-on): Add float.
16030
16031         * tests/test-snprintf-posix.h (zerol): Remove variable.
16032         (minus_zerol): New variable.
16033         (test_function): Use minus_zerol instead of -zerol.
16034         * modules/snprintf-posix-tests (Depends-on): Add float.
16035         * modules/vsnprintf-posix-tests (Depends-on): Add float.
16036
16037         * tests/test-sprintf-posix.h (zerol): Remove variable.
16038         (minus_zerol): New variable.
16039         (test_function): Use minus_zerol instead of -zerol.
16040         * modules/sprintf-posix-tests (Depends-on): Add float.
16041         * modules/vsprintf-posix-tests (Depends-on): Add float.
16042
16043         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
16044         (minus_zerol): New variable.
16045         (test_function): Use minus_zerol instead of -zerol.
16046         * modules/vasnprintf-posix-tests (Depends-on): Add float.
16047
16048         * tests/test-vasprintf-posix.c (zerol): Remove variable.
16049         (minus_zerol): New variable.
16050         (test_function): Use minus_zerol instead of -zerol.
16051         * modules/vasprintf-posix-tests (Depends-on): Add float.
16052
16053 2008-10-07  Simon Josefsson  <simon@josefsson.org>
16054
16055         * MODULES.html.sh (Support for building documentation): Mention
16056         pmccabe2html.  Sort entries.
16057
16058         Add pmccabe2html module, from gnupdf.
16059         * build-aux/pmccabe.css: New file.
16060         * build-aux/pmccabe2html: New file.
16061         * m4/pmccabe2html.m4: New file.
16062         * modules/pmccabe2html: New file.
16063
16064 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
16065
16066         flock: new module
16067         * MODULES.html.sh: Add to list of modules.
16068         * lib/flock.c: flock implementation for Windows and Unix systems
16069         which have fcntl.
16070         * doc/glibc-functions/flock.texi: Update documentation.
16071         * lib/sys_file.in.h: <sys/file.h> header file.
16072         * m4/flock.m4: M4 macros.
16073         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
16074         * modules/flock: flock module.
16075         * modules/flock-tests: flock tests module.
16076         * modules/sys_file: sys/file.h module.
16077         * tests/test-flock.c: test suite for flock.
16078
16079 2008-10-06  Jim Meyering  <meyering@redhat.com>
16080
16081         bootstrap: check for LT_INIT more portably still ;-)
16082         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
16083         Spotted by Bruno Haible.
16084
16085 2008-10-06  Eric Blake  <ebb9@byu.net>
16086
16087         test-signbit: avoid tripping Irix cc bug on -0.0L
16088         * tests/test-signbit.c (minus_zerol): Delete, and replace with
16089         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
16090         entire testsuite consistent and avoids an Irix 6.2 bug.
16091
16092 2008-10-05  Bruno Haible  <bruno@clisp.org>
16093             Jim Meyering  <jim@meyering.net>
16094
16095         Add an option for ignoring EPIPE during close_stdout.
16096         * lib/closeout.h: Include <stdbool.h>.
16097         (close_stdout_set_ignore_EPIPE): New declaration.
16098         * lib/closeout.c: Include <stdbool.h>.
16099         (ignore_EPIPE): New variable.
16100         (close_stdout_set_ignore_EPIPE): New function.
16101         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
16102         * lib/close-stream.c (close_stream): Mention the possible EPIPE
16103         failure.
16104         * modules/closeout (Depends-on): Add stdbool.
16105
16106 2008-10-05  Bruno Haible  <bruno@clisp.org>
16107
16108         * modules/accept: New file.
16109         * modules/bind: New file.
16110         * modules/connect: New file.
16111         * modules/getpeername: New file.
16112         * modules/getsockname: New file.
16113         * modules/getsockopt: New file.
16114         * modules/listen: New file.
16115         * modules/recv: New file.
16116         * modules/recvfrom: New file.
16117         * modules/send: New file.
16118         * modules/sendto: New file.
16119         * modules/setsockopt: New file.
16120         * modules/socket: New file.
16121         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
16122         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
16123         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
16124         the particular module is requested. Add a link warning when the
16125         particular module is not requested.
16126         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
16127         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
16128         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
16129         the particular module is requested.
16130         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
16131         gl_SYS_SOCKET_H_DEFAULTS): New macros.
16132         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
16133         * modules/sys_socket (Depends-on): Add link-warning.
16134         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
16135         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
16136         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
16137         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
16138         GL_LINK_WARNING.
16139         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
16140         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
16141         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
16142         * doc/posix-functions/getpeername.texi: Mention the new module
16143         'getpeername'.
16144         * doc/posix-functions/getsockname.texi: Mention the new module
16145         'getsockname'.
16146         * doc/posix-functions/getsockopt.texi: Mention the new module
16147         'getsockopt'.
16148         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
16149         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
16150         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
16151         * doc/posix-functions/send.texi: Mention the new module 'send'.
16152         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
16153         * doc/posix-functions/setsockopt.texi: Mention the new module
16154         'setsockopt'.
16155         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
16156         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
16157         listen, connect, accept.
16158         * modules/select-tests (Depends-on): Likewise.
16159
16160 2008-10-05  Bruno Haible  <bruno@clisp.org>
16161
16162         * lib/winsock.c (strerror): Remove unused #undef.
16163         (rpl_close): Remove unused local variable.
16164
16165         * modules/sys_socket (Depends-on); Add errno.
16166
16167 2008-10-05  Bruno Haible  <bruno@clisp.org>
16168
16169         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
16170         (select): Add a link warning when the 'select' module is not used.
16171         * modules/sys_select (Depends-on): Add link-warning.
16172         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
16173         Suggested by Paolo Bonzini.
16174
16175 2008-10-05  Jim Meyering  <meyering@redhat.com>
16176
16177         bootstrap: check for LT_INIT more portably
16178         * build-aux/bootstrap: Avoid using grep -E, since it's not
16179         portable enough.  Suggestion from Bruno Haible.
16180
16181 2008-10-05  Bruno Haible  <bruno@clisp.org>
16182
16183         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
16184         as being fixed by gnulib.
16185
16186 2008-10-05  Bruno Haible  <bruno@clisp.org>
16187
16188         * modules/select-tests: New file, mostly copied from
16189         modules/sys_select-tests.
16190         * tests/test-select.c: New file, mostly copied from
16191         tests/test-sys_select.c.
16192         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
16193         * modules/sys_select-tests (Depends-on): Remove all dependencies.
16194         (Makefile.am): Remove test_sys_select_LDADD.
16195
16196         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
16197         to an undefined symbol, for an error message.
16198         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
16199         (gl_SYS_SELECT_H_DEFAULTS): New macro.
16200         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
16201         winsock-select.c here.
16202         * modules/sys_select (Files): Remove lib/winsock-select.c.
16203         (Depends-on): Remove alloca.
16204         (Makefile.am): Substitute GNULIB_SELECT.
16205         * modules/select: New file.
16206         * doc/posix-functions/select.texi: Update.
16207
16208 2008-10-05  Bruno Haible  <bruno@clisp.org>
16209
16210         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
16211         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
16212         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
16213         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
16214         getdtablesize.
16215         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
16216         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
16217
16218 2008-10-05  Bruno Haible  <bruno@clisp.org>
16219
16220         * modules/getdtablesize-tests: New file.
16221         * tests/test-getdtablesize.c: New file.
16222
16223         New module 'getdtablesize'.
16224         * lib/unistd.in.h (getdtablesize): New declaration.
16225         * lib/getdtablesize.c: New file.
16226         * m4/getdtablesize.m4: New file.
16227         * modules/getdtablesize: New file.
16228         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
16229         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
16230         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
16231         HAVE_GETDTABLESIZE.
16232         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
16233
16234 2008-10-05  Bruno Haible  <bruno@clisp.org>
16235
16236         * modules/sched (Makefile.am): Fix typo.
16237         Reported by Simon Josefsson.
16238
16239 2008-10-05  Jim Meyering  <meyering@redhat.com>
16240
16241         bootstrap: check for LT_INIT, too
16242         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
16243         are deprecated.  Suggestion from Ralf Wildenhues.
16244
16245 2008-10-05  Bruno Haible  <bruno@clisp.org>
16246
16247         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
16248         overriding them by ours.
16249         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
16250
16251 2008-10-05  Jim Meyering  <meyering@redhat.com>
16252
16253         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
16254         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
16255         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
16256
16257 2008-10-04  Bruno Haible  <bruno@clisp.org>
16258
16259         * modules/dup2 (License): Change to LGPLv2+.
16260         * modules/sleep (License): Likewise.
16261         * modules/perror (License): Likewise.
16262         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
16263         Blake.
16264         * modules/signal (License): Likewise.
16265         * modules/sigprocmask (License): Likewise.
16266         * modules/raise (License): Change to LGPLv2+, with approval by Jim
16267         Meyering.
16268
16269 2008-10-04  Bruno Haible  <bruno@clisp.org>
16270
16271         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
16272         Reported by Rainer Tammer <tammer@tammer.net>.
16273
16274 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
16275             Bruno Haible  <bruno@clisp.org>
16276
16277         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
16278         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
16279         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
16280
16281 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
16282
16283         filevercmp: new module
16284         * lib/filevercmp.h: New function filevercmp comparing version strings.
16285         * lib/filevercmp.c: Implementation of filevercmp function.
16286         * modules/filevercmp: Module metadata.
16287         * tests/test-filevercmp.c: Unit test for new module.
16288         * modules/filevercmp-tests: Unit test metadata.
16289         * MODULES.html.sh: Add filevercmp module.
16290
16291 2008-10-03  Bruno Haible  <bruno@clisp.org>
16292
16293         * lib/c-ctype.h: Add comment.
16294         Reported by Jim Meyering.
16295
16296 2008-10-02  Bruno Haible  <bruno@clisp.org>
16297
16298         * modules/posix_spawn-internal (Depends-on): Add 'open'.
16299
16300 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
16301
16302         * build-aux/bootstrap: Allow renaming bootstrap, and change the
16303         name of bootstrap.conf accordingly.
16304
16305 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
16306
16307         * build-aux/bootstrap: Install git-merge-changelog configuration
16308         items into .gitconfig if needed.
16309
16310 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
16311
16312         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
16313         git repository, and initialize/update it accordingly.
16314
16315 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
16316
16317         * modules/fsync-tests: New file.
16318         * tests/test-fsync.c: New file.
16319
16320         New module 'fsync'.
16321         * lib/fsync.c: New file.
16322         * m4/fsync.m4: New file.
16323         * modules/fsync: New file.
16324         * lib/unistd.in.h (fsync): New declaration.
16325         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
16326         GNULIB_FSYNC and HAVE_FSYNC.
16327         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
16328         * MODULES.html.sh (posix_functions): Add fsync.
16329         * doc/posix-functions/fsync.texi: Mention the new module.
16330
16331 2008-10-02  Jim Meyering  <meyering@redhat.com>
16332
16333         fts.c: sync with similar code from coreutils' remove.c
16334         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
16335         Guard also with "#if defined __linux__", since for now at least,
16336         this code is Linux-kernel-specific.
16337
16338 2008-10-02  Jim Meyering  <meyering@redhat.com>
16339
16340         fts: bug fixes
16341         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
16342         Include <sys/vfs.h>, not <sys/statfs.h>.
16343
16344         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
16345         Include <sys/vfs.h>, not <sys/statfs.h>.
16346
16347 2008-10-01  Bruno Haible  <bruno@clisp.org>
16348
16349         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
16350         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
16351         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
16352         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
16353         * doc/posix-functions/posix_spawnp.texi: Likewise.
16354         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
16355         whether posix_spawn actually works.
16356         * m4/pipe.m4 (gl_PIPE): Likewise.
16357         * modules/execute (Files): Add m4/posix_spawn.m4.
16358         * modules/pipe (Files): Add m4/posix_spawn.m4.
16359         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
16360
16361 2008-10-01  Jim Meyering  <meyering@redhat.com>
16362
16363         remove trailing spaces
16364         * NEWS: Likewise.
16365         * lib/poll.c (poll): Likewise.
16366         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
16367         * lib/winsock.c (rpl_close): Likewise.
16368         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
16369         * modules/yield: Likewise.
16370         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
16371         * tests/test-sys_select.c (connect_to_socket): Likewise.
16372
16373         fts.c: adjust a new interface to be more generally useful
16374         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
16375         (fts_build): Adjust caller.
16376
16377 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
16378
16379         * modules/cond-tests: New file.
16380         * tests/test-cond.c: New file.
16381
16382 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
16383             Bruno Haible  <bruno@clisp.org>
16384
16385         * modules/cond (Dependencies): Add errno, time.
16386         * lib/glthread/cond.h: Include <time.h>.
16387         (gl_cond_define, gl_cond_define_initialized): Use the same definition
16388         across platforms.
16389
16390 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
16391             Bruno Haible  <bruno@clisp.org>
16392
16393         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
16394
16395 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
16396             Bruno Haible  <bruno@clisp.org>
16397
16398         * modules/tls-tests (Depends-on): Add thread, yield.
16399         (configure.ac): Remove all checks.
16400         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
16401         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
16402         gl_thread_self): Remove definitions. Include glthread/thread.h and
16403         glthread/yield.h instead.
16404         (test_tls): Pass an additional NULL argument to gl_thread_join.
16405
16406 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
16407             Bruno Haible  <bruno@clisp.org>
16408
16409         * modules/lock-tests (Depends-on): Add thread, yield.
16410         (configure.ac): Remove all checks.
16411         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
16412         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
16413         gl_thread_self): Remove definitions. Include glthread/thread.h and
16414         glthread/yield.h instead.
16415         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
16416         additional NULL argument to gl_thread_join.
16417
16418 2008-09-30  Bruno Haible  <bruno@clisp.org>
16419
16420         Fix the Win32 implementation of the 'thread' module.
16421         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
16422         pointer type.
16423         (gl_thread_self): Invoke gl_thread_self_func.
16424         (gl_thread_self_func): New declaration.
16425         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
16426         (do_init_self_key, init_self_key): New functions.
16427         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
16428         Remove some fields.
16429         (running_threads, running_lock): Remove variables.
16430         (get_current_thread_handle): New function.
16431         (gl_thread_self_func, wrapper_func, glthread_create_func,
16432         glthread_join_func, gl_thread_exit_func): Largely rewritten and
16433         simplified.
16434
16435 2008-09-30  Bruno Haible  <bruno@clisp.org>
16436
16437         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
16438         files.
16439
16440 2008-09-30  Jim Meyering  <meyering@redhat.com>
16441
16442         fts.m4: correct the test for statfs.f_type
16443         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
16444         when checking for statfs.f_type.
16445
16446 2008-09-15  Simon Josefsson  <simon@josefsson.org>
16447
16448         tests: avoid some compiler warnings
16449         * tests/test-memchr.c (main): Pass NULL indirectly.
16450         * tests/test-getdate.c (main): Remove unused variable 'ret'.
16451
16452 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
16453
16454         getdate.y: disallow countable dayshifts like "4 yesterday ago"
16455         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
16456         exactly specified dayshifts.
16457         (dayshift): New rule.
16458         (rel): Add dayshift.
16459         (relative_time_table) [tomorrow, yesterday, today, now]:
16460         Use tDAY_SHIFT in place of tDAY_UNIT.
16461         * tests/test-getdate.c: Add tests for now-disallowed countable
16462         dayshifts, e.g., "4 yesterday ago".
16463
16464 2008-09-29  Bruno Haible  <bruno@clisp.org>
16465
16466         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
16467         * tests/test-posix_spawn1.in.sh: Renamed from
16468         tests/test-posix_spawn.in.sh.
16469         * tests/test-posix_spawn2.c: New file.
16470         * tests/test-posix_spawn2.in.sh: New file.
16471         * modules/posix_spawnp-tests (Files): Update.
16472         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
16473
16474 2008-09-29  Bruno Haible  <bruno@clisp.org>
16475
16476         Propagate effects of putenv/setenv/unsetenv to child processes.
16477         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
16478         * lib/pipe.c (create_pipe): Likewise.
16479
16480 2008-09-29  Bruno Haible  <bruno@clisp.org>
16481
16482         Enable use of shell scripts as executables in mingw.
16483         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
16484         run the program as a shell script.
16485         * lib/pipe.c (create_pipe): Likewise.
16486         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
16487         resulting array.
16488
16489 2008-09-29  Eric Blake  <ebb9@byu.net>
16490
16491         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
16492
16493 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
16494
16495         * doc/posix-functions/accept.texi: Update mingw problems.
16496         * doc/posix-functions/bind.texi: Update mingw problems.
16497         * doc/posix-functions/close.texi: Update mingw problems.
16498         * doc/posix-functions/connect.texi: Update mingw problems.
16499         * doc/posix-functions/getpeername.texi: Update mingw problems.
16500         * doc/posix-functions/getsockname.texi: Update mingw problems.
16501         * doc/posix-functions/getsockopt.texi: Update mingw problems.
16502         * doc/posix-functions/ioctl.texi: Update mingw problems.
16503         * doc/posix-functions/listen.texi: Update mingw problems.
16504         * doc/posix-functions/recv.texi: Update mingw problems.
16505         * doc/posix-functions/recvfrom.texi: Update mingw problems.
16506         * doc/posix-functions/select.texi: Update mingw problems.
16507         * doc/posix-functions/send.texi: Update mingw problems.
16508         * doc/posix-functions/sendto.texi: Update mingw problems.
16509         * doc/posix-functions/setsockopt.texi: Update mingw problems.
16510         * doc/posix-functions/socket.texi: Update mingw problems.
16511
16512 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
16513             Bruno Haible  <bruno@clisp.org>
16514
16515         * lib/sys_select.in.h: Include sys/time.h.
16516         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
16517         * modules/sys_select: Depend on sys_time.
16518         * tests/test-sys_select.c: Test that sys/select.h defines struct
16519         timeval fully.
16520
16521 2008-09-29  Bruno Haible  <bruno@clisp.org>
16522
16523         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
16524         * lib/sys_select.in.h: Likewise.
16525
16526 2008-09-29  Bruno Haible  <bruno@clisp.org>
16527
16528         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
16529
16530 2008-09-29  Bruno Haible  <bruno@clisp.org>
16531
16532         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
16533         Set LIBSOCKET instead of augmenting LIBS.
16534         * modules/sockets (Link): New section.
16535         * modules/sockets-tests (test_sockets_LDADD): New variable.
16536         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
16537         * modules/poll-tests (test_poll_LDADD): New variable.
16538         * NEWS: Document the change.
16539
16540 2008-09-29  Bruno Haible  <bruno@clisp.org>
16541
16542         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
16543         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
16544         ARPA_INET_H directly.
16545         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
16546
16547 2008-09-28  Bruno Haible  <bruno@clisp.org>
16548
16549         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
16550         from gl_HEADER_SYS_SOCKET.
16551         (gl_HEADER_SYS_SOCKET): Invoke it.
16552         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
16553
16554 2008-09-28  Bruno Haible  <bruno@clisp.org>
16555
16556         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
16557         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
16558         Needed on OSF/1 4.0.
16559
16560 2008-09-28  Bruno Haible  <bruno@clisp.org>
16561
16562         Override open more carefully.
16563         * lib/open.c (orig_open): New function.
16564         (rpl_open): Use orig_open instead of open.
16565         * lib/fcntl.in.h: Add special invocation convention.
16566         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
16567         (gl_FUNC_OPEN): Invoke it.
16568
16569         Override freopen more carefully.
16570         * lib/freopen.c (orig_freopen): New function.
16571         (rpl_freopen): Use orig_freopen instead of freopen.
16572         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
16573         (gl_FUNC_FREOPEN): Invoke it.
16574
16575         Override fopen more carefully.
16576         * lib/fopen.c (orig_fopen): New function.
16577         (rpl_fopen): Use orig_fopen instead of fopen.
16578         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
16579         (gl_FUNC_FOPEN): Invoke it.
16580         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
16581
16582 2008-09-28  Bruno Haible  <bruno@clisp.org>
16583
16584         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
16585         SIGPIPE.
16586
16587 2008-09-28  Bruno Haible  <bruno@clisp.org>
16588
16589         * tests/test-sigaction.c (handler, main): Disable the check whether
16590         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
16591         glibc systems with LinuxThreads.
16592
16593 2008-09-28  Bruno Haible  <bruno@clisp.org>
16594
16595         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
16596
16597         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
16598         with AIX xlc.
16599         * lib/fcntl.in.h (open): Likewise.
16600         Reported by Rainer Tammer <tammer@tammer.net>.
16601
16602 2008-09-28  Bruno Haible  <bruno@clisp.org>
16603
16604         * modules/posix_spawnp-tests: New file.
16605         * tests/test-posix_spawn.c: New file.
16606         * tests/test-posix_spawn.in.sh: New file.
16607
16608         New module 'posix_spawnp'.
16609         * modules/posix_spawnp: New file.
16610         * lib/spawnp.c: New file, from GNU libc with modifications.
16611         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
16612
16613         New module 'posix_spawn'.
16614         * modules/posix_spawn: New file.
16615         * lib/spawn.c: New file, from GNU libc with modifications.
16616         * doc/posix-functions/posix_spawn.texi: Mention the new module.
16617
16618         New module 'posix_spawnattr_destroy'.
16619         * modules/posix_spawnattr_destroy: New file.
16620         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
16621         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
16622         module.
16623
16624         New module 'posix_spawnattr_setsigmask'.
16625         * modules/posix_spawnattr_setsigmask: New file.
16626         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
16627         modifications.
16628         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
16629         new module.
16630
16631         New module 'posix_spawnattr_getsigmask'.
16632         * modules/posix_spawnattr_getsigmask: New file.
16633         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
16634         modifications.
16635         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
16636         new module.
16637
16638         New module 'posix_spawnattr_setsigdefault'.
16639         * modules/posix_spawnattr_setsigdefault: New file.
16640         * lib/spawnattr_setdefault.c: New file, from GNU libc with
16641         modifications.
16642         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
16643         new module.
16644
16645         New module 'posix_spawnattr_getsigdefault'.
16646         * modules/posix_spawnattr_getsigdefault: New file.
16647         * lib/spawnattr_getdefault.c: New file, from GNU libc with
16648         modifications.
16649         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
16650         new module.
16651
16652         New module 'posix_spawnattr_setschedpolicy'.
16653         * modules/posix_spawnattr_setschedpolicy: New file.
16654         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
16655         modifications.
16656         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
16657         new module.
16658
16659         New module 'posix_spawnattr_getschedpolicy'.
16660         * modules/posix_spawnattr_getschedpolicy: New file.
16661         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
16662         modifications.
16663         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
16664         new module.
16665
16666         New module 'posix_spawnattr_setschedparam'.
16667         * modules/posix_spawnattr_setschedparam: New file.
16668         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
16669         modifications.
16670         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
16671         new module.
16672
16673         New module 'posix_spawnattr_getschedparam'.
16674         * modules/posix_spawnattr_getschedparam: New file.
16675         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
16676         modifications.
16677         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
16678         new module.
16679
16680         New module 'posix_spawnattr_setpgroup'.
16681         * modules/posix_spawnattr_setpgroup: New file.
16682         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
16683         modifications.
16684         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
16685         module.
16686
16687         New module 'posix_spawnattr_getpgroup'.
16688         * modules/posix_spawnattr_getpgroup: New file.
16689         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
16690         modifications.
16691         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
16692         module.
16693
16694         New module 'posix_spawnattr_setflags'.
16695         * modules/posix_spawnattr_setflags: New file.
16696         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
16697         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
16698         module.
16699
16700         New module 'posix_spawnattr_getflags'.
16701         * modules/posix_spawnattr_getflags: New file.
16702         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
16703         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
16704         module.
16705
16706         New module 'posix_spawnattr_init'.
16707         * modules/posix_spawnattr_init: New file.
16708         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
16709         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
16710         module.
16711
16712         New module 'posix_spawn_file_actions_destroy'.
16713         * modules/posix_spawn_file_actions_destroy: New file.
16714         * lib/spawn_faction_destroy.c: New file, from GNU libc with
16715         modifications.
16716         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
16717         the new module.
16718
16719         New module 'posix_spawn_file_actions_addopen'.
16720         * modules/posix_spawn_file_actions_addopen: New file.
16721         * lib/spawn_faction_addopen.c: New file, from GNU libc with
16722         modifications.
16723         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
16724         the new module.
16725
16726         New module 'posix_spawn_file_actions_adddup2'.
16727         * modules/posix_spawn_file_actions_adddup2: New file.
16728         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
16729         modifications.
16730         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
16731         the new module.
16732
16733         New module 'posix_spawn_file_actions_addclose'.
16734         * modules/posix_spawn_file_actions_addclose: New file.
16735         * lib/spawn_faction_addclose.c: New file, from GNU libc with
16736         modifications.
16737         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
16738         the new module.
16739
16740         New module 'posix_spawn_file_actions_init'.
16741         * modules/posix_spawn_file_actions_init: New file.
16742         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
16743         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
16744         new module.
16745
16746         New module 'posix_spawn-internal'.
16747         * modules/posix_spawn-internal: New file.
16748         * lib/spawn_int.h: New file, from GNU libc with modifications.
16749         * lib/spawni.c: New file, from GNU libc with modifications.
16750         * m4/posix_spawn.m4: New file.
16751
16752         New module 'spawn'.
16753         * modules/spawn: New file.
16754         * lib/spawn.in.h: New file, from GNU libc with modifications.
16755         * m4/spawn_h.m4: New file.
16756         * doc/posix-headers/spawn.texi: Mention the new module.
16757
16758 2008-09-28  Bruno Haible  <bruno@clisp.org>
16759
16760         * modules/sched-tests: New file.
16761         * tests/test-sched.c: New file.
16762
16763         New module 'sched'.
16764         * modules/sched: New file.
16765         * lib/sched.in.h: New file.
16766         * m4/sched_h.m4: New file.
16767         * doc/posix-headers/sched.texi: Mention the new module.
16768
16769 2008-09-27  Eric Blake  <ebb9@byu.net>
16770
16771         Fix previous patch, and tweak references to $0.
16772         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
16773         (func_version, func_gnulib_dir): Don't call this program
16774         gnulib-tool.
16775         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
16776         with using $0 in function.
16777         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
16778         (func_fatal_error): Reuse the name the user invoked us with.
16779
16780 2008-09-27  Bruno Haible  <bruno@clisp.org>
16781
16782         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
16783         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
16784         (gl_ICONV_H): Not here.
16785         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
16786         instead of assigning ICONV_H directly.
16787
16788         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
16789         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
16790         WCHAR_H directly.
16791
16792 2008-09-27  Bruno Haible  <bruno@clisp.org>
16793
16794         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
16795         * modules/arpa_inet (Depends-on): Add link-warning.
16796         (Makefile.am): Insert the definition of GL_LINK-WARNING.
16797         * modules/unistd (Makefile.am): Likewise.
16798
16799 2008-09-26  Bruno Haible  <bruno@clisp.org>
16800
16801         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
16802         variables.
16803         (func_version): Essentially copied from gnulib-tool.
16804         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
16805         func_readlink): Copied from gnulib-tool.
16806
16807 2008-09-26  Bruno Haible  <bruno@clisp.org>
16808
16809         * gnulib-tool (func_version): Change directory to $gnulib_dir before
16810         invoking git-version-gen.
16811
16812 2008-09-26  Bruno Haible  <bruno@clisp.org>
16813
16814         * posix-modules: Update to directory names changed on 2008-01-19.
16815         Remove commas in output before splitting into words. No more need to
16816         avoid 'ftruncate' since 2007-02-19.
16817
16818 2008-09-26  Bruno Haible  <bruno@clisp.org>
16819
16820         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
16821
16822 2008-09-26  Bruno Haible  <bruno@clisp.org>
16823
16824         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
16825         * modules/fwriteerror (Depends-on): Add errno.
16826
16827 2008-09-26  Bruno Haible  <bruno@clisp.org>
16828
16829         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
16830         * tests/test-vc-list-files-cvs.sh: Likewise.
16831
16832 2008-09-26  Bruno Haible  <bruno@clisp.org>
16833
16834         * doc/posix-headers/sys_resource.texi: Reorder items.
16835
16836 2008-09-26  Jim Meyering  <meyering@redhat.com>
16837
16838         fts: tweak inode comparison function
16839         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
16840         inode numbers, as documented.
16841
16842         fts: sort dirent entries on inode number before traversing
16843         This avoids a quadratic, seek-related performance penalty when
16844         operating on a directory containing many entries (measurable at 10k;
16845         3.5 hours at 2 million entries with a cold cache) on certain types
16846         of file systems, including ext3 and ext4, but not tmpfs.
16847         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
16848         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
16849         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
16850         (fs_handles_readdir_ordered_dirents_efficiently): New function.
16851         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
16852         (fts_build): Set the stat.st_ino member from D_INO.
16853         If it is likely to be useful, sort dirent entries on inode number.
16854
16855         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
16856         and the struct statfs.f_type member.
16857         * modules/fts (Depends-on): Add d-ino.
16858
16859 2008-09-26  Bruno Haible  <bruno@clisp.org>
16860
16861         * modules/sigpipe-die (Depends-on): Add sigpipe.
16862
16863         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
16864         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
16865         and GNULIB_STDIO_H_SIGPIPE are set.
16866         * lib/stdio-write.c: New file.
16867         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
16868         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
16869         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
16870         REPLACE_STDIO_WRITE_FUNCS.
16871         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
16872         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
16873         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
16874         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
16875         * modules/stdio (Files): Add lib/stdio-write.c.
16876         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
16877         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
16878         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
16879         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
16880         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
16881         REPLACE_FPRINTF_POSIX.
16882         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
16883         REPLACE_PRINTF_POSIX.
16884         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
16885         REPLACE_VFPRINTF_POSIX.
16886         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
16887         REPLACE_VPRINTF_POSIX.
16888         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
16889         SIGPIPE issue.
16890         * doc/posix-functions/fputc.texi: Likewise.
16891         * doc/posix-functions/fputs.texi: Likewise.
16892         * doc/posix-functions/fwrite.texi: Likewise.
16893         * doc/posix-functions/printf.texi: Likewise.
16894         * doc/posix-functions/putc.texi: Likewise.
16895         * doc/posix-functions/putchar.texi: Likewise.
16896         * doc/posix-functions/puts.texi: Likewise.
16897         * doc/posix-functions/vfprintf.texi: Likewise.
16898         * doc/posix-functions/vprintf.texi: Likewise.
16899
16900         * modules/safe-write (Depends-on): Add write.
16901
16902         * modules/sigpipe-tests: New file.
16903         * tests/test-sigpipe.c: New file.
16904         * tests/test-sigpipe.sh: New file.
16905
16906         * modules/write: New file.
16907         * lib/unistd.in.h: Include <sys/types.h>.
16908         (write): New declaration.
16909         * lib/write.c: New file.
16910         * m4/write.m4: New file.
16911         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
16912         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
16913         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
16914         GNULIB_WRITE, REPLACE_WRITE.
16915         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
16916         and the SIGPIPE issue.
16917
16918         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
16919         (raise): New declaration.
16920         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
16921         (ext_signal): New function.
16922         (rpl_raise): New function.
16923         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
16924         GNULIB_SIGNAL_H_SIGPIPE.
16925         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
16926         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
16927
16928         * modules/sigpipe: New file.
16929         * m4/sigpipe.m4: New file.
16930
16931 2008-09-25  Derek Price  <derek@ximbiot.com>
16932             Bruno Haible  <bruno@clisp.org>
16933
16934         * gnulib-tool (func_import): Report all license incompatibilities, not
16935         just the first one.
16936
16937 2008-09-25  Bruno Haible  <bruno@clisp.org>
16938
16939         * gnulib-tool (func_import): When computing the edits, consider not
16940         only the Makefile.ams that exist but also those that will be generated.
16941
16942 2008-09-25  Simon Josefsson  <simon@josefsson.org>
16943
16944         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
16945         fixes gnulib-tool --test warning about duplicate dependency.
16946
16947 2008-09-25  Bruno Haible  <bruno@clisp.org>
16948
16949         * gnulib-tool: Don't ask the user to perform edits in the generated
16950         Makefile.ams.
16951         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
16952         apply to the Makefile.am being generated.
16953         (func_emit_tests_Makefile_am): Execute edits that apply to the
16954         Makefile.am being generated.
16955         (func_import): Setup list of Makefile.am edits before emitting the
16956         Makefile.ams, not at the end.
16957         (func_create_testdir): Update.
16958         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
16959
16960 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
16961
16962         * gnulib-tool (func_import): Store the --tests-base option in the
16963         comment in gnulib-cache.m4.
16964
16965 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
16966
16967         * NEWS: Document increased portability that sys_select now provides.
16968
16969         * lib/sys_select.in.h: Install select wrapper.
16970         * lib/sys_socket.in.h: Use more descriptive name when there is no
16971         select wrapper.
16972         * lib/winsock-select.c: New.
16973         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
16974         Require gl_HEADER_SYS_SOCKET.
16975         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
16976         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
16977         * tests/test-sys_select.c: Add functional tests.
16978
16979 2008-09-24  Eric Blake  <ebb9@byu.net>
16980
16981         open, fopen: close fd leak in last patch
16982         * lib/open.c (rpl_open): Close fd before returning error.
16983         * lib/fopen.c (rpl_fopen): Close fd before returning error.
16984         * doc/posix-functions/open.texi (open): Document that Irix also
16985         has the bug.
16986         * doc/posix-functions/fopen.texi (fopen): Likewise.
16987         Reported by Paolo Bonzini.
16988
16989 2008-09-24  Bruno Haible  <bruno@clisp.org>
16990
16991         Ensure that a filename ending in a slash cannot be used to access a
16992         non-directory.
16993         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
16994         to check whether it's really a directory.
16995         * lib/fopen.c: Include fcntl.h, unistd.h.
16996         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
16997         and fdopen().
16998         * modules/fopen (Depends-on): Add unistd.
16999         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
17000         * tests/test-fopen.c (main): Likewise.
17001         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
17002         * doc/posix-functions/fopen.texi: Likewise.
17003         Reported by Eric Blake.
17004
17005 2008-09-23  Eric Blake  <ebb9@byu.net>
17006
17007         c-stack: avoid compiler optimizations when provoking overflow
17008         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
17009         recursion harder to optimize, to ensure a stack overflow occurs.
17010         * tests/test-c-stack.c (recurse): Likewise.
17011         Borrowed from libsigsegv.
17012
17013         c-stack: work around Irix sigaltstack bug
17014         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
17015         whether sigaltstack uses wrong end of stack_t (copied in part from
17016         libsigsegv).
17017         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
17018         Irix bug, without requiring an over-allocation.
17019         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
17020         bug.
17021
17022         fopen: document mingw bug on directories
17023         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
17024         not allowing a stream visiting a directory, even though reading
17025         from such a stream is not portable.
17026
17027 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
17028
17029         * lib/poll.c: Rewrite.
17030         * modules/poll: Depend on alloca.
17031
17032 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
17033
17034         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
17035         instead define prototypes for a full set of wrappers.  Ensure
17036         that Cygwin does not use the compatibility code, which is only
17037         for MinGW.
17038         * lib/winsock.c: New.
17039         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
17040         * modules/sys_socket: Add lib/winsock.c.
17041
17042         * modules/poll-tests: Add errno and perror.
17043         * tests/test-poll.c: Use ioctl, not ioctlsocket.
17044
17045 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
17046
17047         * tests/test-poll.c: Downgrade minimum needed Winsock version.
17048
17049 2008-09-23  Bruno Haible  <bruno@clisp.org>
17050
17051         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
17052         * doc/glibc-functions/*: Likewise.
17053
17054 2008-09-23  Simon Josefsson  <simon@josefsson.org>
17055
17056         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
17057         success.
17058
17059 2008-09-22  Eric Blake  <ebb9@byu.net>
17060             Bruno Haible  <bruno@clisp.org>
17061
17062         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
17063         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
17064         supply %A but mishandle pseudo-NaN.
17065         Reported by Simon Josefsson.
17066
17067 2008-09-21  Bruno Haible  <bruno@clisp.org>
17068
17069         * tests/test-lock.c (main): Tweak skip message.
17070         * tests/test-tls.c (main): Likewise.
17071
17072 2008-09-21  Bruno Haible  <bruno@clisp.org>
17073
17074         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
17075         whether 'struct sigaction' has sa_sigaction here...
17076         (gl_PREREQ_SIG_HANDLER_H): ... not here.
17077         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
17078
17079 2008-09-21  Bruno Haible  <bruno@clisp.org>
17080
17081         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
17082         section.
17083         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
17084         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
17085         the new section.
17086         (Support for obsolete systems lacking POSIX:2001): New section.
17087         (String handling <string.h>): Move strdup to the new section.
17088         Suggested by Simon Josefsson and Paolo Bonzini.
17089
17090 2008-09-21  Bruno Haible  <bruno@clisp.org>
17091
17092         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
17093         exponents in %e and %g results on 'long double'. Needed for mingw's
17094         improved *printf functions.
17095         * tests/test-vasprintf-posix.c (test_function): Likewise.
17096         * tests/test-snprintf-posix.h (test_function): Likewise.
17097         * tests/test-sprintf-posix.h (test_function): Likewise.
17098         Reported by Eric Blake.
17099
17100 2008-09-21  Bruno Haible  <bruno@clisp.org>
17101
17102         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
17103         * tests/test-sprintf-posix.h (test_function): Likewise.
17104
17105 2008-09-21  Bruno Haible  <bruno@clisp.org>
17106
17107         * modules/getpass (Depends-on): Add strdup-posix.
17108
17109         New module 'strdup-posix'.
17110         * modules/strdup-posix: New file.
17111         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
17112         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
17113         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
17114         REPLACE_STRDUP.
17115         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
17116         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
17117         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
17118         strdup-posix.
17119
17120         * modules/strdup (Depends-on): Remove malloc-posix.
17121
17122 2008-09-20  Bruno Haible  <bruno@clisp.org>
17123
17124         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
17125         Wildenhues.
17126
17127 2008-09-20  Bruno Haible  <bruno@clisp.org>
17128
17129         Ensure that wint_t gets defined on IRIX 5.3.
17130         * lib/wchar.in.h (wint_t): Define if not defined by the system.
17131         * lib/wctype.in.h (wint_t): Likewise.
17132         (__wctype_wint_t): Remove type.
17133         (isw*): Use wint_t instead of __wctype_wint_t.
17134         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
17135         * modules/wchar (Files): Add m4/wint_t.m4.
17136         (Makefile.am): Substitute HAVE_WINT_T.
17137         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
17138         * tests/test-wctype.c: Check that wint_t is defined.
17139         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
17140         * doc/posix-headers/wctype.texi: Likewise.
17141         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17142
17143 2008-09-18  Bruno Haible  <bruno@clisp.org>
17144
17145         * gnulib-tool (func_exit): Update comment.
17146
17147 2008-09-18  Simon Josefsson  <simon@josefsson.org>
17148
17149         * modules/getaddrinfo (Depends-on): Remove strdup, this module
17150         assumes strdup exists and does not depend on strdup to return
17151         ENOMEM on out of memory conditions.
17152
17153 2008-09-18  Bruno Haible  <bruno@clisp.org>
17154
17155         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
17156         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
17157         digits for the exponent.
17158
17159 2008-09-18  Jim Meyering  <meyering@redhat.com>
17160             Bruno Haible  <bruno@clisp.org>
17161
17162         * lib/vasnprintf.c (decimal_point_char): Define also if
17163         NEED_PRINTF_INFINITE_LONG_DOUBLE.
17164
17165 2008-09-16  Bruno Haible  <bruno@clisp.org>
17166         and Eric Blake  <ebb9@byu.net>
17167
17168         vasnprintf: support Irix 5.3
17169         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
17170         that mishandle long double infinity.
17171         Reported by Tom G. Christensen.
17172
17173 2008-09-16  Bruno Haible  <bruno@clisp.org>
17174
17175         * doc/glibc-functions/scandir.texi: Mention the function is missing on
17176         Solaris 9.
17177         * doc/glibc-functions/alphasort.texi: Likewise.
17178         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
17179
17180 2008-09-16  Jim Meyering  <meyering@redhat.com>
17181
17182         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
17183         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
17184         a umask modification leak out of a subshell.  Otherwise, the
17185         opensolaris /bin/sh would be accepted and thus cause unwarranted
17186         failures in the coreutils test suite.
17187
17188 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
17189
17190         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
17191         to succeed.
17192
17193 2008-09-16  Jim Meyering  <meyering@redhat.com>
17194
17195         avoid spurious test failure when library is built without ACL support
17196         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
17197         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
17198         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
17199         * tests/test-copy-acl.sh: Likewise.
17200
17201 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17202
17203         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
17204         based on character occurrence counts.
17205
17206 2008-09-15  Eric Blake  <ebb9@byu.net>
17207
17208         tests: avoid some compiler warnings
17209         * tests/test-memchr.c (main): Pass NULL indirectly.
17210         * tests/test-closein.c (main): Avoid unused variable.
17211
17212 2008-09-15  Bruno Haible  <bruno@clisp.org>
17213
17214         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
17215         are missing on OpenBSD 4.0 individually.
17216         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
17217
17218 2008-09-15  Bruno Haible  <bruno@clisp.org>
17219
17220         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
17221         * doc/posix-functions/strerror.texi: Mention also Cygwin.
17222         * doc/posix-functions/perror.texi: Likewise.
17223         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
17224         is missing.
17225         Reported by Eric Blake.
17226
17227         * lib/errno.in.h: Use replacement values >= 2000.
17228         Reported by Eric Blake.
17229
17230 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17231
17232         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
17233         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
17234         limit.
17235         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
17236         compareseq was aborted.
17237
17238 2008-09-14  Bruno Haible  <bruno@clisp.org>
17239
17240         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
17241         yvec_edit_count.
17242         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
17243         (fstrcmp_bounded): Simplify result computation accordingly.
17244
17245 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17246
17247         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
17248         (fstrcmp): Define in terms of fstrcmp_bounded.
17249         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
17250         lower_bound argument.
17251         Return quickly if the result is certainly < lower_bound.
17252         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
17253
17254 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17255
17256         * lib/diffseq.h (EARLY_ABORT): New macro.
17257         (compareseq): Change return type to bool. Return true when EARLY_ABORT
17258         evaluates to true.
17259
17260 2008-09-14  Bruno Haible  <bruno@clisp.org>
17261
17262         * modules/perror-tests: New file.
17263         * tests/test-perror.sh: New file.
17264         * tests/test-perror.c: New file.
17265
17266         New module 'perror'.
17267         * lib/stdio.in.h (perror): New declaration.
17268         * lib/perror.c: New file.
17269         * m4/perror.m4: New file.
17270         * modules/perror: New file.
17271         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
17272         * doc/posix-functions/perror.texi: Mention the perror module.
17273         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
17274         REPLACE_PERROR.
17275         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
17276         REPLACE_PERROR.
17277
17278 2008-09-14  Bruno Haible  <bruno@clisp.org>
17279
17280         * modules/stdio (Makefile.am): Reorder to match the order in
17281         lib/stdio.in.h.
17282         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
17283
17284 2008-09-13  Bruno Haible  <bruno@clisp.org>
17285
17286         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
17287
17288 2008-09-13  Bruno Haible  <bruno@clisp.org>
17289
17290         Extend strerror to cover the added errno values.
17291         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
17292         (rpl_strerror): Provide error messages for the added errno values and
17293         for the WSA* values.
17294         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
17295         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
17296         strerror.
17297         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
17298         * modules/strerror (Depends-on): Add errno.
17299         * doc/posix-functions/strerror.texi: Document the change.
17300         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
17301         and EOVERFLOW.
17302
17303 2008-09-13  Bruno Haible  <bruno@clisp.org>
17304
17305         * modules/EOVERFLOW: Remove file.
17306         * m4/eoverflow.m4: Remove file.
17307         * modules/EOVERFLOW-tests: Remove file.
17308         * tests/test-EOVERFLOW.c: Remove file.
17309         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
17310         * modules/ftell (Depends-on): Likewise.
17311         * modules/getdelim (Depends-on): Likewise.
17312         * modules/getugroups (Depends-on): Likewise.
17313         * modules/poll (Depends-on): Likewise.
17314         * modules/snprintf (Depends-on): Likewise.
17315         * modules/sprintf-posix (Depends-on): Likewise.
17316         * modules/vasnprintf (Depends-on): Likewise.
17317         * modules/vasprintf (Depends-on): Likewise.
17318         * modules/vfprintf-posix (Depends-on): Likewise.
17319         * modules/vsnprintf (Depends-on): Likewise.
17320         * modules/vsprintf-posix (Depends-on): Likewise.
17321         * modules/xvasprintf (Depends-on): Likewise.
17322         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
17323         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
17324         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
17325         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
17326         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
17327         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
17328         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
17329         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
17330         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
17331         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
17332         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
17333         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
17334         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
17335         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
17336         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
17337         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
17338         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
17339         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
17340         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
17341         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
17342         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
17343         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
17344         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
17345         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
17346         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
17347         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
17348         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
17349         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
17350         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
17351         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
17352         * MODULES.html.sh: Remove EOVERFLOW.
17353         * NEWS: Mention the change.
17354
17355 2008-09-13  Bruno Haible  <bruno@clisp.org>
17356
17357         * modules/errno-tests: New file.
17358         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
17359
17360         * lib/errno.in.h: New file.
17361         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
17362         * modules/errno: New file.
17363         * doc/posix-headers/errno.texi: Update documentation.
17364         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
17365
17366 2008-09-13  Bruno Haible  <bruno@clisp.org>
17367
17368         * tests/test-poll.c: Use #if for native Windows, rather than testing
17369         __MSVCRT__.
17370
17371 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
17372             Bruno Haible  <bruno@clisp.org>
17373
17374         * lib/glob.c: Don't include <pwd.h> on native Windows.
17375         (WINDOWS32): New macro.
17376         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
17377
17378 2008-09-13  Bruno Haible  <bruno@clisp.org>
17379
17380         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
17381         (ETIMEDOUT): Remove macro.
17382         (glthread_cond_timedwait_multithreaded): New declaration.
17383         (glthread_cond_timedwait): Use it.
17384         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
17385         (glthread_cond_timedwait_multithreaded): New function.
17386
17387 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
17388
17389         * modules/poll-tests: Do not check for io.h.
17390         * tests/test-poll.c: Check for __MSVCRT__ instead.
17391
17392 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
17393
17394         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
17395         * modules/poll-tests: Add inet_pton, stdbool, sockets.
17396         * tests/test-poll.c: Use them.  Use _pipe on Windows.
17397
17398 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
17399
17400         * modules/poll-tests: New.
17401         * tests/test-poll.c: New.
17402
17403 2008-09-12  Eric Blake  <ebb9@byu.net>
17404
17405         frexp: test for NetBSD failure on -0.0
17406         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
17407         not all, bugs from NetBSD 3.0 have been fixed.
17408         * doc/posix-functions/frexp.texi (frexp): Document bug.
17409         Reported by Thomas Klausner.
17410
17411         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
17412         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
17413         literal -0.0.
17414         Reported by Jonathan C. Patschke <jp@centtech.com>.
17415
17416 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
17417
17418         * lib/glthread/cond.h: Use dummy implementation also if
17419         USE_WIN32_THREADS.
17420
17421 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
17422
17423         * modules/fnmatch-posix (License): Change to LGPLv2+.
17424         * modules/fnmatch-gnu (License): Likewise.
17425
17426 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
17427
17428         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
17429
17430 2008-09-11  Jim Meyering  <meyering@redhat.com>
17431
17432         * users.txt: Add gtk-vnc.
17433
17434 2008-09-08  Simon Josefsson  <simon@josefsson.org>
17435
17436         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
17437         rotate amounts.
17438
17439         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
17440         required for 16-bit and 8-bit rotates.
17441         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
17442         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
17443         UINT8_MAX instead of hard-coded constants.
17444         Suggested by Paul Eggert.
17445
17446 2008-09-07  Bruno Haible  <bruno@clisp.org>
17447
17448         * tests/test-striconveh.c (main): Check behaviour when converting from
17449         UTF-7.
17450
17451         Make striconveh work better with stateful encodings.
17452         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
17453         that iconv does not increment the inptr when returning -1/EINVAL.
17454
17455 2008-09-07  Bruno Haible  <bruno@clisp.org>
17456
17457         * build-aux/config.rpath: Update according to libtool-2.2.6.
17458         * build-aux/config.libpath: Likewise.
17459
17460 2008-09-06  Bruno Haible  <bruno@clisp.org>
17461
17462         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
17463         * lib/freadptr.c (freadptr): Likewise.
17464         * lib/freadseek.c (freadptrinc): Likewise.
17465         Reported by Simon Josefsson.
17466
17467 2008-09-06  Bruno Haible  <bruno@clisp.org>
17468
17469         * modules/freadptr (License): Change to LGPLv2+.
17470         * modules/freadseek (License): Likewise.
17471         Suggested by Eric Blake.
17472
17473         * modules/memchr2 (License): Change to LGPLv2+.
17474         Approved by Eric Blake.
17475
17476 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17477             Bruno Haible  <bruno@clisp.org>
17478
17479         Make gnulib-tool work with native 'sed' on AIX.
17480         * gnulib-tool (sed_noop): New variable.
17481         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
17482         func_add_or_update, func_create_testdir): Use it to initialize sed
17483         script variables.
17484         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
17485
17486 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
17487             Bruno Haible  <bruno@clisp.org>
17488
17489         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
17490         also works after #include directives.
17491
17492 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
17493
17494         getdate.y: reject an out-of-range timezone value
17495         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
17496         the range [-24...+24].  When specified with only one or two digits,
17497         * tests/test-getdate.c: Tests for the fix.
17498         * doc/getdate.texi: Document this change.
17499
17500 2008-09-03  Bruno Haible  <bruno@clisp.org>
17501
17502         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
17503
17504 2008-09-02  Simon Josefsson  <simon@josefsson.org>
17505
17506         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
17507         <bruce.korb@gmail.com> with ideas from Ben Pfaff
17508         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
17509         Blake <ebb9@byu.net>.
17510
17511         * tests/test-bitrotate.c: Add more test vectors.
17512
17513 2008-09-02  Eric Blake  <ebb9@byu.net>
17514
17515         vasnprintf-posix: handle large precision via %.*d
17516         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
17517         when handling it ourselves.
17518         * tests/test-vasnprintf-posix.c (test_function): Add test.
17519         * tests/test-snprintf-posix.h (test_function): Likewise.
17520         * tests/test-sprintf-posix.h (test_function): Likewise.
17521         * tests/test-vasprintf-posix.c (test_function): Likewise.
17522         Reported by Alain Guibert.
17523
17524 2008-09-01  Eric Blake  <ebb9@byu.net>
17525
17526         c-stack: make configure-time check more robust
17527         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
17528         successful sigaction call.
17529         Reported by Tom G. Christensen.
17530
17531 2008-09-01  Bruno Haible  <bruno@clisp.org>
17532
17533         New module 'findprog-lgpl'.
17534         * modules/findprog-lgpl: New file.
17535         * lib/findprog-lgpl.c: New file.
17536         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
17537         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
17538         to decide whether to use strdup or xstrdup, concatenated_filename or
17539         xconcatenated_filename.
17540
17541 2008-09-01  Bruno Haible  <bruno@clisp.org>
17542
17543         Split module 'concat-filename' into 'concat-filename' (LGPL) and
17544         'xconcat-filename' (GPL).
17545         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
17546         (License): Change to LGPLv2+.
17547         * modules/xconcat-filename: New file.
17548         * lib/concat-filename.h (concatenated_filename): Change specification.
17549         (xconcatenated_filename): New declaration.
17550         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
17551         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
17552         memory situations.
17553         * lib/xconcat-filename.c: New file.
17554         * NEWS: Mention the change.
17555         * lib/findprog.c: Include concat-filename.h, not filename.h.
17556         (find_in_path): Use xconcatenated_filename instead of
17557         concatenated_filename.
17558         * lib/javacomp.c: Include concat-filename.h, not filename.h.
17559         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
17560         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
17561         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
17562         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
17563         instead of concatenated_filename.
17564         * lib/javaexec.c: Include concat-filename.h, not filename.h.
17565         (execute_java_class): Use xconcatenated_filename instead of
17566         concatenated_filename.
17567         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
17568         * modules/javacomp (Depends-on): Likewise.
17569         * modules/javaexec (Depends-on): Likewise.
17570
17571 2008-09-01  Bruno Haible  <bruno@clisp.org>
17572
17573         Split module 'filename' into 'filename' and 'concat-filename'.
17574         * modules/filename: Keep only lib/filename.h.
17575         (License): Change to LGPLv2+.
17576         * modules/concat-filename: New file, extracted from modules/filename.
17577         * lib/filename.h (concatenated_filename): Remove declaration.
17578         * lib/concat-filename.h: New file, extracted from lib/filename.h.
17579         * lib/concat-filename.c: Include concat-filename.h.
17580         * NEWS: Mention the change.
17581
17582 2008-09-01  Simon Josefsson  <simon@josefsson.org>
17583
17584         * lib/bitrotate.h (rotl8, rotr8): Add.
17585
17586         * modules/bitrotate (configure.ac): Need
17587         AC_REQUIRE([AC_C_INLINE]).
17588         (Description): Mention stdint.h.  Reported by Bruno Haible
17589         <bruno@clisp.org>.
17590
17591         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
17592         Paolo Bonzini <bonzini@gnu.org>.
17593
17594 2008-08-31  Bruno Haible  <bruno@clisp.org>
17595
17596         Assume Solaris specific bi-arch conventions on Solaris systems.
17597         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
17598         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
17599         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
17600         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
17601         like acl_libdirstem.
17602         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
17603         acl_libdirstem.
17604         * NEWS: Mention the change.
17605         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
17606
17607 2008-08-31  Jim Meyering  <meyering@redhat.com>
17608
17609         * lib/strftime.h: Add comments describing the two added arguments.
17610
17611         remove duplicate #include directives
17612         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
17613         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
17614
17615 2008-08-31  Bruno Haible  <bruno@clisp.org>
17616
17617         New module 'sigpipe-die'.
17618         * modules/sigpipe-die: New file.
17619         * lib/sigpipe-die.h: New file.
17620         * lib/sigpipe-die.c: New file.
17621         * MODULES.html.sh (Signal handling): Add sigpipe-die.
17622
17623 2008-08-31  Bruno Haible  <bruno@clisp.org>
17624
17625         Don't override previously installed signal handlers.
17626         * lib/fatal-signal.c (saved_sigactions): New variable.
17627         (uninstall_handlers): Reset the signal to the saved handler, not
17628         to SIG_DFL (except when ignored).
17629         (install_handlers): Save the previous handlers.
17630
17631 2008-08-30  Bruno Haible  <bruno@clisp.org>
17632
17633         * gnulib-tool (func_reset_sigpipe): New function.
17634         (func_get_automake_snippet, func_modules_transitive_closure,
17635         func_import): Invoke it before a join command that reads from stdin,
17636         to avoid "echo: write error: Broken pipe" error messages on stderr.
17637         Reported by Sam Steingold <sds@gnu.org>.
17638
17639 2008-08-30  Bruno Haible  <bruno@clisp.org>
17640
17641         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
17642         Code copied from m4/open.m4.
17643         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
17644         access and the filename ends in a slash. Code copied from lib/open.c.
17645         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
17646         * tests/test-fopen.c (main): Check against bug with trailing slash.
17647
17648 2008-08-29  Bruno Haible  <bruno@clisp.org>
17649
17650         Avoid some "gcc -pedantic" warnings.
17651         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
17652         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
17653         * lib/dirent.in.h: Likewise.
17654         * lib/fcntl.in.h: Likewise.
17655         * lib/float.in.h: Likewise.
17656         * lib/iconv.in.h: Likewise.
17657         * lib/inttypes.in.h: Likewise.
17658         * lib/locale.in.h: Likewise.
17659         * lib/math.in.h: Likewise.
17660         * lib/netinet_in.in.h: Likewise.
17661         * lib/search.in.h: Likewise.
17662         * lib/signal.in.h: Likewise.
17663         * lib/stdarg.in.h: Likewise.
17664         * lib/stdint.in.h: Likewise.
17665         * lib/stdio.in.h: Likewise.
17666         * lib/stdlib.in.h: Likewise.
17667         * lib/string.in.h: Likewise.
17668         * lib/strings.in.h: Likewise.
17669         * lib/sys_select.in.h: Likewise.
17670         * lib/sys_socket.in.h: Likewise.
17671         * lib/sys_stat.in.h: Likewise.
17672         * lib/sys_time.in.h: Likewise.
17673         * lib/sysexits.in.h: Likewise.
17674         * lib/time.in.h: Likewise.
17675         * lib/unistd.in.h: Likewise.
17676         * lib/wchar.in.h: Likewise.
17677         * lib/wctype.in.h: Likewise.
17678         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
17679         * modules/fchdir (Makefile.am): Likewise.
17680         * modules/fcntl (Makefile.am): Likewise.
17681         * modules/float (Makefile.am): Likewise.
17682         * modules/iconv_open (Makefile.am): Likewise.
17683         * modules/inttypes (Makefile.am): Likewise.
17684         * modules/locale (Makefile.am): Likewise.
17685         * modules/math (Makefile.am): Likewise.
17686         * modules/netinet_in (Makefile.am): Likewise.
17687         * modules/search (Makefile.am): Likewise.
17688         * modules/signal (Makefile.am): Likewise.
17689         * modules/stdarg (Makefile.am): Likewise.
17690         * modules/stdint (Makefile.am): Likewise.
17691         * modules/stdio (Makefile.am): Likewise.
17692         * modules/stdlib (Makefile.am): Likewise.
17693         * modules/string (Makefile.am): Likewise.
17694         * modules/strings (Makefile.am): Likewise.
17695         * modules/sys_select (Makefile.am): Likewise.
17696         * modules/sys_socket (Makefile.am): Likewise.
17697         * modules/sys_stat (Makefile.am): Likewise.
17698         * modules/sys_time (Makefile.am): Likewise.
17699         * modules/sysexits (Makefile.am): Likewise.
17700         * modules/time (Makefile.am): Likewise.
17701         * modules/unistd (Makefile.am): Likewise.
17702         * modules/wchar (Makefile.am): Likewise.
17703         * modules/wctype (Makefile.am): Likewise.
17704         Reported by Reuben Thomas <rrt@sc3d.org>.
17705
17706 2008-08-29  Bruno Haible  <bruno@clisp.org>
17707
17708         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
17709         any more.
17710
17711 2008-08-29  Simon Josefsson  <simon@josefsson.org>
17712
17713         * MODULES.html.sh (Misc): Add bitrotate.
17714
17715         * modules/bitrotate: New file.
17716
17717         * lib/bitrotate.h: New file.
17718
17719         * modules/bitrotate-tests: New file.
17720
17721         * tests/test-bitrotate.c: New file.
17722
17723         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
17724         on the bitrotate module.
17725
17726         * lib/arctwo.c: Use new bitrotate module.
17727
17728 2008-08-29  Jim Meyering  <meyering@redhat.com>
17729
17730         bootstrap: merge changes from coreutils
17731         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
17732         of copied files.  Remove a kludge, now that this is fixed.
17733         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
17734         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
17735         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
17736
17737 2008-08-29  Bruno Haible  <bruno@clisp.org>
17738
17739         * MODULES.html.sh: Remove --cvs-urls option.
17740
17741 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
17742
17743         maint.mk: adjust to file name change
17744         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
17745
17746 2008-08-28  Jim Meyering  <meyering@redhat.com>
17747
17748         * modules/getndelim2 (License): Relicense to LGPLv2+.
17749         Approved by Richard Stallman for the version of 1995, and by
17750         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
17751
17752 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
17753
17754         * lib/getdelim.c (flockfile, funlockfile): Make all of them
17755         dummy if one is not available.  Do not touch them if
17756         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
17757         (getc_maybe_unlocked): New.
17758         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
17759
17760 2008-08-26  Eric Blake  <ebb9@byu.net>
17761
17762         doc/INSTALL: resync from autoconf
17763         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
17764         (INSTALL_PRELUDE): Delete; this is done more efficiently by
17765         moving...
17766         * install.texi [!autoconf]: ...here.  Resync from autoconf.
17767         * INSTALL: Regenerate.
17768         * INSTALL.ISO: New file.
17769         * INSTALL.UTF-8: Likewise.
17770
17771 2008-08-26  Jim Meyering  <meyering@redhat.com>
17772
17773         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
17774         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
17775         these definitions conditional, so that they may be overridden, too.
17776
17777 2008-08-26  Bruno Haible  <bruno@clisp.org>
17778
17779         Generate INSTALL file variants with prettier quotes.
17780         * doc/Makefile (INSTALL_PRELUDE): New macro.
17781         (INSTALL): Use it.
17782         (INSTALL.ISO, INSTALL.UTF-8): New rules.
17783
17784 2008-08-26  Bruno Haible  <bruno@clisp.org>
17785
17786         Run makeinfo in an English locale.
17787         * doc/Makefile (MAKEINFO): New variable.
17788
17789 2008-08-26  Bruno Haible  <bruno@clisp.org>
17790
17791         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
17792         Suggested by Eric Blake.
17793
17794 2008-08-25  Bruno Haible  <bruno@clisp.org>
17795
17796         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
17797
17798 2008-08-25  Eric Blake  <ebb9@byu.net>
17799
17800         c-stack: test that stack overflow can be caught
17801         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
17802         that platform allows handling stack overflow; at least OS/2 EMX
17803         has sigaltstack, but crashes before transferring control to
17804         handler on stack overflow.
17805         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
17806         check for HAVE_STACK_OVERFLOW_HANDLING.
17807         Reported by Elbert Pol.
17808
17809 2008-08-25  Bruno Haible  <bruno@clisp.org>
17810
17811         * doc/posix-functions/strftime.texi: Fix description of strftime
17812         module.
17813
17814 2008-08-24  Bruno Haible  <bruno@clisp.org>
17815
17816         * tests/uniwidth/test-uc_width2.c: New file.
17817         * tests/uniwidth/test-uc_width2.sh: New file.
17818         * modules/uniwidth/width-tests (Files): Add the new files.
17819         (TESTS): Add uniwidth/test-uc_width2.sh.
17820         (TESTS_ENVIRONMENT): New variable.
17821         (check_PROGRAMS): Add test-uc_width2.
17822         (test_uc_width2_SOURCES): New variable.
17823
17824         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
17825         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
17826         not 0x00AB.
17827         Reported by Alexander V. Lukyanov <lav@netis.ru>.
17828
17829 2008-08-22  Eric Blake  <ebb9@byu.net>
17830
17831         test-lock, test-tls: mention why a test is skipped
17832         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
17833         skipped.
17834         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
17835
17836         count-one-bits: relax license
17837         * modules/count-one-bits (License): Relicense to LGPLv2+.
17838         Suggested by Ludovic Courtès, approved by Ben Pfaff.
17839
17840 2008-08-22  Andreas Schwab  <schwab@suse.de>
17841
17842         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
17843         Remove spurious space in assignment.
17844
17845 2008-08-21  Simon Josefsson  <simon@josefsson.org>
17846
17847         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
17848         Paul Eggert <eggert@CS.UCLA.EDU>.
17849
17850 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
17851
17852         * modules/gettext: Add m4/threadlib.m4.
17853
17854 2008-08-19  Eric Blake  <ebb9@byu.net>
17855
17856         test-c-stack: fix compilation failure on FreeBSD 5.0
17857         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
17858         headers before <sys/resource.h>.
17859         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
17860         the bug.
17861         Reported by Nelson H. F. Beebe.
17862
17863         strverscmp: migrate from "strverscmp.h" to <string.h>
17864         * modules/string (Makefile.am): Add new hooks.
17865         * modules/strverscmp (Files): Remove strverscmp.h.
17866         (Depends-on): Add string.
17867         (configure.ac): Add indicator.
17868         (Include): Mention new header.
17869         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
17870         defaults.
17871         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
17872         results.
17873         * lib/strverscmp.h: Delete.
17874         * lib/string.in.h (strverscmp): Provide declaration, when needed.
17875         * tests/test-strverscmp.c (includes): Adjust client.
17876         * lib/check-version.c (includes): Likewise.
17877         * NEWS: Document the change.
17878
17879         strverscmp: add unit test
17880         * modules/strverscmp-tests: New file.
17881         * tests/test-strverscmp.c: Likewise.
17882
17883 2008-08-19  Simon Josefsson  <simon@josefsson.org>
17884
17885         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
17886         regarding Windows crypto stuff, from Mono.
17887
17888 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
17889
17890         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
17891         if present, for intel RND.  Return error on failures.
17892
17893 2008-08-18  Ben Pfaff  <blp@gnu.org>
17894
17895         gitlog-to-changelog: give better diagnostic for failed pipe-open
17896         * build-aux/gitlog-to-changelog: Improve error message: suggest
17897         that the version of Git may be too old.
17898
17899 2008-08-18  Simon Josefsson  <simon@josefsson.org>
17900
17901         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
17902         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
17903
17904 2008-08-18  Bruno Haible  <bruno@clisp.org>
17905
17906         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
17907         pthread_in_use().
17908
17909 2008-08-18  Bruno Haible  <bruno@clisp.org>
17910
17911         * lib/glthread/threadlib.c: Include <pthread.h>.
17912
17913 2008-08-18  Bruno Haible  <bruno@clisp.org>
17914
17915         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
17916         glthread_recursive_lock_* macros.
17917         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
17918         Fix syntax error.
17919
17920 2008-08-18  Bruno Haible  <bruno@clisp.org>
17921
17922         * lib/glthread/thread.c: Avoid forcing a context switch right after
17923         thread creation.
17924
17925 2008-08-17  Bruno Haible  <bruno@clisp.org>
17926
17927         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
17928         * lib/glthread/thread.h: Provide Win32 specific implementation.
17929         * modules/thread (Files): Add lib/glthread/thread.c.
17930         (Depends-on): Add lock.
17931         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
17932
17933 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
17934
17935         New module 'yield'.
17936         * modules/yield: New file.
17937         * lib/glthread/yield.h: New file.
17938         * m4/yield.m4: New file.
17939         * MODULES.html.sh (Multithreading): Add yield.
17940
17941 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
17942
17943         New module 'thread'.
17944         * modules/thread: New file.
17945         * lib/glthread/thread.h: New file.
17946         * m4/thread.m4: New file.
17947         * MODULES.html.sh (Multithreading): Add thread.
17948
17949 2008-08-17  Bruno Haible  <bruno@clisp.org>
17950
17951         * lib/glthread/lock.h: Include <stdlib.h> always.
17952         * lib/glthread/tls.h: Likewise.
17953         * lib/glthread/cond.h: Likewise.
17954
17955 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
17956
17957         New module 'cond'.
17958         * modules/cond: New file.
17959         * lib/glthread/cond.h: New file.
17960         * lib/glthread/cond.c: New file.
17961         * m4/cond.m4: New file.
17962         * MODULES.html.sh (Multithreading): Add cond.
17963
17964 2008-08-16  Eric Blake  <ebb9@byu.net>
17965
17966         c-stack: fix regression on Irix 5.3 from 2008-06-21
17967         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
17968         sa_sigaction...
17969         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
17970         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
17971         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
17972         * modules/signal (Makefile.am): Use the value.
17973         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
17974         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
17975         * doc/posix-headers/signal.texi (signal.h): Document this
17976         portability issue.
17977         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
17978         Reported by Tom G. Christensen.
17979
17980 2008-08-17  Bruno Haible  <bruno@clisp.org>
17981
17982         New module 'threadlib'.
17983         * modules/threadlib: New file.
17984         * lib/glthread/threadlib.c: New file, extracted from
17985         lib/glthread/lock.c.
17986         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
17987         functions.
17988         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
17989         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
17990         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
17991         macros.
17992         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
17993         (gl_DISABLE_THREADS): Remove macro.
17994         * modules/lock (Files): Remove build-aux/config.rpath.
17995         (Depends-on): Remove havelib. Add threadlib.
17996         (configure.ac-early): Remove section.
17997         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
17998         * modules/tls (Depends-on): Remove lock. Add threadlib.
17999         (Link): New section, copied from threadlib.
18000         * MODULES.html.sh (Multithreading): Add threadlib.
18001
18002 2008-08-14  Bruno Haible  <bruno@clisp.org>
18003
18004         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
18005         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
18006         glthread_rwlock_unlock, glthread_rwlock_destroy,
18007         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
18008         glthread_recursive_lock_destroy): Define as macros always.
18009         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
18010         glthread_lock_lock.
18011         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
18012         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
18013         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
18014         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
18015         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
18016         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
18017         (glthread_recursive_lock_lock_func): Renamed from
18018         glthread_recursive_lock_lock.
18019         (glthread_recursive_lock_unlock_func): Renamed from
18020         glthread_recursive_lock_unlock.
18021         (glthread_recursive_lock_destroy_func): Renamed from
18022         glthread_recursive_lock_destroy.
18023
18024 2008-08-14  Bruno Haible  <bruno@clisp.org>
18025
18026         * lib/glthread/lock.h: Renamed from lib/lock.h.
18027         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
18028         * lib/glthread/tls.h: Renamed from lib/tls.h.
18029         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
18030         * lib/fstrcmp.c: Update includes.
18031         * lib/strsignal.c: Update includes.
18032         * modules/lock (Files, Makefile.am): Update.
18033         (Include): Change to "glthread/lock.h".
18034         * modules/tls (Files, Makefile.am): Update.
18035         (Include): Change to "glthread/tls.h".
18036         * tests/test-lock.c: Update includes.
18037         * tests/test-tls.c: Update includes.
18038         * NEWS: Mention the renamed header files.
18039
18040 2008-08-11  Jim Meyering  <meyering@redhat.com>
18041
18042         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
18043
18044 2008-08-11  Eric Blake  <ebb9@byu.net>
18045
18046         test-c-stack: avoid C99-ism
18047         * tests/test-c-stack.c (main): Fix whitespace, move declaration
18048         before statement.
18049         Reported by Alain Guibert.
18050
18051 2008-08-10  Jim Meyering  <meyering@redhat.com>
18052
18053         ensure that return value of uinttostr et al are not ignored
18054         * lib/inttostr.h (__GNUC_PREREQ): Define.
18055         (__attribute_warn_unused_result__): Define.
18056         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
18057
18058 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
18059
18060         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
18061         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
18062
18063 2008-08-07  Jim Meyering  <meyering@redhat.com>
18064
18065         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
18066
18067         * modules/mkstemp (License): Relicense under LGPLv2+.
18068         * modules/tempname (License): Likewise.
18069
18070 2008-08-06  Bruno Haible  <bruno@clisp.org>
18071
18072         * lib/poll.c (poll): Further micro-optimization.
18073
18074 2008-08-06  Jim Meyering  <meyering@redhat.com>
18075
18076         inet_pton.c: use locale-independent tolower
18077         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
18078         (inet_pton6): Use c_tolower rather than tolower.
18079         * modules/inet_pton (Depends-on): Add c-ctype.
18080
18081 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
18082
18083         * lib/poll.c (poll): Avoid division when timeout is 0, cache
18084         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
18085
18086 2008-08-06  Jim Meyering  <meyering@redhat.com>
18087
18088         * modules/inet_pton (License): Relicense under LGPLv2+.
18089
18090 2008-08-03  Bruno Haible  <bruno@clisp.org>
18091
18092         Additional non-aborting API for lock and tls.
18093         * lib/lock.h: Include <errno.h>.
18094         (glthread_lock_init): New macro/function.
18095         (gl_lock_init): Define as wrapper around glthread_lock_init.
18096         (glthread_lock_lock): New macro/function.
18097         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
18098         (glthread_lock_unlock): New macro/function.
18099         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
18100         (glthread_lock_destroy): New macro/function.
18101         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
18102         (glthread_rwlock_init): New macro/function.
18103         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
18104         (glthread_rwlock_rdlock): New macro/function.
18105         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
18106         (glthread_rwlock_wrlock): New macro/function.
18107         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
18108         (glthread_rwlock_unlock): New macro/function.
18109         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
18110         (glthread_rwlock_destroy): New macro/function.
18111         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
18112         (glthread_recursive_lock_init): New macro/function.
18113         (gl_recursive_lock_init): Define as wrapper around
18114         glthread_recursive_lock_init.
18115         (glthread_recursive_lock_lock): New macro/function.
18116         (gl_recursive_lock_lock): Define as wrapper around
18117         glthread_recursive_lock_lock.
18118         (glthread_recursive_lock_unlock): New macro/function.
18119         (gl_recursive_lock_unlock): Define as wrapper around
18120         glthread_recursive_lock_unlock.
18121         (glthread_recursive_lock_destroy): New macro/function.
18122         (gl_recursive_lock_destroy): Define as wrapper around
18123         glthread_recursive_lock_destroy.
18124         (glthread_once): New macro/function.
18125         (gl_once): Define as wrapper around glthread_once.
18126         Update function declarations.
18127         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
18128         glthread_rwlock_init. Return error code.
18129         (glthread_rwlock_rdlock_multithreaded): Renamed from
18130         glthread_rwlock_rdlock. Return error code.
18131         (glthread_rwlock_wrlock_multithreaded): Renamed from
18132         glthread_rwlock_wrlock. Return error code.
18133         (glthread_rwlock_unlock_multithreaded): Renamed from
18134         glthread_rwlock_unlock. Return error code.
18135         (glthread_rwlock_destroy_multithreaded): Renamed from
18136         glthread_rwlock_destroy. Return error code.
18137         (glthread_recursive_lock_init_multithreaded): Renamed from
18138         glthread_recursive_lock_init. Return error code.
18139         (glthread_recursive_lock_lock_multithreaded): Renamed from
18140         glthread_recursive_lock_lock. Return error code.
18141         (glthread_recursive_lock_unlock_multithreaded): Renamed from
18142         glthread_recursive_lock_unlock. Return error code.
18143         (glthread_recursive_lock_destroy_multithreaded): Renamed from
18144         glthread_recursive_lock_destroy. Return error code.
18145         (glthread_once_call): Make static.
18146         (glthread_once_multithreaded): Renamed from glthread_once.
18147         * lib/tls.h: Include <errno.h>.
18148         (glthread_tls_key_init): New macro/function.
18149         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
18150         (glthread_tls_set): New macro/function.
18151         (gl_tls_set): Define as wrapper around glthread_tls_set.
18152         (glthread_tls_key_destroy): New macro/function.
18153         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
18154         Update function declarations.
18155         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
18156         glthread_tls_get.
18157         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
18158
18159 2008-08-04  Eric Blake  <ebb9@byu.net>
18160
18161         gnumakefile: use space, not TAB, outside of targets
18162         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
18163
18164 2008-08-02  Jim Meyering  <meyering@redhat.com>
18165
18166         getdate.y: avoid locale-dependent date parsing failure
18167         In Turkish locales, getdate would fail to recognize keywords
18168         containing a lowercase "i".  The solution is not to rely on
18169         locale-sensitive case-conversion.
18170         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
18171         (lookup_word): Use c_toupper in place of toupper.
18172         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
18173         Reported by Vefa Bicakci <bicave@superonline.com> in
18174         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
18175         * modules/getdate (Depends-on): Add c-ctype.
18176
18177 2008-08-02  Bruno Haible  <bruno@clisp.org>
18178
18179         * gnulib-tool (func_import): When updating or creating a .gitignore
18180         file, prepend each added line with a slash, and ignore leading slashes
18181         from the existing lines.
18182         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
18183
18184 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18185
18186         Portability fix for GNU make 3.79.1.
18187         * top/GNUmakefile: Avoid 'else COND', which older GNU make
18188         versions do not understand.
18189
18190 2008-08-01  Bruno Haible  <bruno@clisp.org>
18191
18192         Work around bug of HP-UX 10.20 cc with -0.0 literal.
18193         * tests/test-isnanf.h (zero): New variable.
18194         (main): Avoid literal -0.0f.
18195         * tests/test-isnand.h (zero): New variable.
18196         (main): Avoid literal -0.0.
18197         * tests/test-isnanl.h (zero): New variable.
18198         (main): Avoid literal -0.0L.
18199         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
18200         (test_float, test_double, test_long_double): Avoid literals -0.0f,
18201         -0.0, -0.0L.
18202         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
18203         (test_signbitd): Avoid literal -0.0.
18204         (test_signbitl): Avoid literal -0.0L.
18205         * tests/test-ceilf1.c (zero): New variable.
18206         (main): Avoid literal -0.0f.
18207         * tests/test-ceill.c (zero): New variable.
18208         (main): Avoid literal -0.0L.
18209         * tests/test-floorf1.c (zero): New variable.
18210         (main): Avoid literal -0.0f.
18211         * tests/test-floorl.c (zero): New variable.
18212         (main): Avoid literal -0.0L.
18213         * tests/test-roundf1.c (zero): New variable.
18214         (main): Avoid literal -0.0f.
18215         * tests/test-round1.c (zero): New variable.
18216         (main): Avoid literal -0.0.
18217         * tests/test-roundl.c (zero): New variable.
18218         (main): Avoid literal -0.0L.
18219         * tests/test-truncf1.c (zero): New variable.
18220         (main): Avoid literal -0.0f.
18221         * tests/test-trunc1.c (zero): New variable.
18222         (main): Avoid literal -0.0.
18223         * tests/test-truncl.c (zero): New variable.
18224         (main): Avoid literal -0.0L.
18225         * tests/test-frexp.c (zero): New variable.
18226         (main): Avoid literal -0.0.
18227         * tests/test-frexpl.c (zero): New variable.
18228         (main): Avoid literal -0.0L.
18229         * tests/test-ldexpl.c (zero): New variable.
18230         (main): Avoid literal -0.0L.
18231         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
18232         (zerod, zerol): New variables.
18233         (test_function): Avoid literals -0.0, -0.0L.
18234         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
18235         (zerod, zerol): New variables.
18236         (test_function): Avoid literals -0.0, -0.0L.
18237         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
18238         (zerod, zerol): New variables.
18239         (test_function): Avoid literals -0.0, -0.0L.
18240         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
18241         (zerod, zerol): New variables.
18242         (test_function): Avoid literals -0.0, -0.0L.
18243         * tests/test-strtod.c (zero): New variable.
18244         (main): Avoid literal -0.0.
18245         Reported by Jonathan C. Patschke <jp@centtech.com>.
18246
18247 2008-07-31  Jim Meyering  <meyering@redhat.com>
18248
18249         sha256.h: correct definition of SHA224_DIGEST_SIZE
18250         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
18251         Reported by Paulie Pena IV <paulie4@gmail.com>.
18252         Define as 224 / 8, rather than as a literal.
18253         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
18254         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
18255         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
18256
18257 2008-07-31  Bruno Haible  <bruno@clisp.org>
18258
18259         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
18260         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
18261         Reported by Jonathan Patschke <jp@centtech.com>.
18262
18263 2008-07-31  Bruno Haible  <bruno@clisp.org>
18264
18265         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
18266         Reported by Paolo Bonzini <bonzini@gnu.org>.
18267
18268 2008-07-30  Eric Blake  <ebb9@byu.net>
18269
18270         test-strtod: allow compilation without -lm
18271         * tests/test-strtod.c (main): Avoid link dependence on fabs.
18272         Reported by Dennis Clarke <blastwave@gmail.com>.
18273
18274 2008-07-28  Jim Meyering  <meyering@redhat.com>
18275
18276         bootstrap: work also when there are no .po files in po/
18277         * build-aux/bootstrap (update_po_files): Complete the change
18278         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
18279
18280 2008-07-27  Jim Meyering  <meyering@redhat.com>
18281
18282         * users.txt: Add zile.
18283
18284 2008-07-26  Ben Pfaff  <blp@gnu.org>
18285
18286         Add missing dependencies on new m4/exponent[fdl].m4 files.
18287         * modules/isnanf-nolibm: Add m4/exponentf.m4.
18288         * modules/isnand-nolibm: Add m4/exponentd.m4.
18289         * modules/isnanl-nolibm: Add m4/exponentl.m4.
18290         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
18291         m4/isnan[fdl].m4, because the macros actually used moved.
18292         Reported by Jim Meyering.
18293
18294 2008-07-14  Ben Pfaff  <blp@gnu.org>
18295
18296         Add isinf module.
18297         * lib/isinf.c: New file.
18298         * lib/math.in.h: Define isinf macro if we have decided to replace
18299         it.
18300         * m4/isinf.m4: New file.
18301         * m4/math_h.m4: Initialize and substitute variables for isinf
18302         module.
18303         * modules/isinf: New file.
18304         * modules/isinf-tests: New file.
18305         * modules/math: Add substitutions for new module.
18306         * tests/test-isinf.c: New file.
18307         * doc/posix-functions/isinf.texi: Mention new module.
18308         * MODULES.html.sh: Mention new module.
18309
18310 2008-07-14  Ben Pfaff  <blp@gnu.org>
18311
18312         Factor out some macros for use by additional modules.
18313         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
18314         exponentf.m4.
18315         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
18316         exponentd.m4.
18317         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
18318         file exponentl.m4.
18319         * m4/exponentf.m4: New file.
18320         * m4/exponentd.m4: New file.
18321         * m4/exponentl.m4: New file.
18322         * modules/isnanf: Use new file m4/exponentf.m4.
18323         * modules/isnand: Use new file m4/exponentd.m4.
18324         * modules/isnanl: Use new file m4/exponentl.m4.
18325
18326 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
18327
18328         mktime.c: normalize tp->tm_isdst value to -1/0/1.
18329         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
18330         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
18331         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
18332
18333         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
18334         readlink on platforms without PATH_MAX.
18335
18336 2008-07-21  Eric Blake  <ebb9@byu.net>
18337
18338         Warn, not fail, on stale version.
18339         * top/GNUmakefile (_curr-ver): Tone down previous patch.
18340
18341         Don't allow installation with stale devel version number.
18342         * top/GNUmakefile (_is-install-target): New macro.
18343         (_curr-ver): Forbid installation with stale version number.
18344
18345 2008-07-20  Bruno Haible  <bruno@clisp.org>
18346
18347         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
18348         TESTS_ENVIRONMENT.
18349         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
18350
18351 2008-07-20  Bruno Haible  <bruno@clisp.org>
18352
18353         * lib/c-stack.h (c_stack_action): Add documentation.
18354         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
18355
18356 2008-07-20  Bruno Haible  <bruno@clisp.org>
18357
18358         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
18359         * modules/readlink (License): Likewise.
18360
18361 2008-07-17  Eric Blake  <ebb9@byu.net>
18362
18363         * modules/c-stack (Link): Fix typo.
18364
18365         Make c-stack use libsigsegv, when available.
18366         * modules/c-stack (Depends-on): Add libsigsegv.
18367         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
18368         needed.
18369         * lib/c-stack.c (SIGSTKSZ): Define fallback.
18370         (segv_handler, overflow_handler, c_stack_action)
18371         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
18372         implementation when libsigsegv is available, but only when using
18373         the library is necessary.
18374         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
18375         comment, explaining why XSI check fails on Linux.
18376         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
18377         * tests/test-c-stack2.sh: Tweak skip message.
18378         * NEWS: Document new link-time requirements.
18379
18380 2008-07-16  Eric Blake  <ebb9@byu.net>
18381
18382         c-stack: Expose false positives when not using libsigsegv.
18383         * modules/c-stack-tests (Files): Expand test.
18384         * tests/test-c-stack.c (main): Add means to conditionally trigger
18385         non-overflow SIGSEGV.
18386         * tests/test-c-stack2.sh: New file.
18387
18388 2008-07-14  Bruno Haible  <bruno@clisp.org>
18389
18390         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
18391         Reported by Eric Blake.
18392
18393 2008-07-14  Sam Steingold  <sds@gnu.org>
18394             Bruno Haible  <bruno@clisp.org>
18395
18396         New module libsigsegv.
18397         * modules/libsigsegv: New file.
18398         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
18399         modifications.
18400         * MODULES.html.sh (Signal handling): New section.
18401
18402 2008-07-14  Bruno Haible  <bruno@clisp.org>
18403
18404         * modules/unictype/ctype-* (Description): Add the word "function".
18405         Improves the resulting doc in MODULES.html.
18406
18407 2008-07-12  Ben Pfaff  <blp@gnu.org>
18408
18409         Add longlong module.
18410         * modules/longlong: New file.
18411
18412 2008-07-12  Bruno Haible  <bruno@clisp.org>
18413
18414         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
18415         to empty.
18416
18417 2008-07-10  Ben Pfaff  <blp@gnu.org>
18418
18419         Add isnan module.
18420         * doc/posix-functions/isnan.texi: Mention new module.
18421         * lib/math.in.h: Define isnan macro if we have decided to replace
18422         it.
18423         * m4/isnan.m4: New file.
18424         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
18425         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
18426         also.
18427         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
18428         redundancy.
18429         * m4/math_h.m4: Initialize and substitute variables for isnan
18430         module.
18431         * modules/isnan: New file.
18432         * modules/isnan-tests: New file.
18433         * modules/math: Add substitutions for new module.
18434         * tests/test-isnan.c: New file.
18435         * MODULES.html.sh: Mention new module.
18436
18437 2008-07-10  Ben Pfaff  <blp@gnu.org>
18438
18439         Add isnanf module.
18440         * lib/isnanf.m4: New file.
18441         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
18442         (gl_HAVE_ISNANF_IN_LIBM): New macro.
18443         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
18444         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
18445         * modules/isnanf: New file.
18446         * modules/isnanf-tests: New file.
18447         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
18448         files.
18449         * tests/test-isnanf-nolibm.c: factored most of its contents into
18450         new file tests/test-isnanf.h.
18451         * tests/test-isnanf.h: New file.
18452         * tests/test-isnanf.c: New file.
18453         * MODULES.html.sh: Mention new module.
18454         * doc/glibc-functions/isnanf.texi: Mention new module.
18455
18456 2008-07-10  Ben Pfaff  <blp@gnu.org>
18457
18458         Add isnand module.
18459         * lib/isnand.h: New file.
18460         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
18461         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
18462         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
18463         functionality also.
18464         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
18465         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
18466         (gl_HAVE_ISNAND_IN_LIBM): New macro.
18467         * modules/isnand: New file.
18468         * modules/isnand-tests: New file.
18469         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
18470         files.
18471         * tests/test-isnand-nolibm.c: factored most of its contents into
18472         new file tests/test-isnand.h.
18473         * tests/test-isnand.h: New file.
18474         * tests/test-isnand.c: New file.
18475         * MODULES.html.sh: Mention new module.
18476
18477 2008-07-10  Ben Pfaff  <blp@gnu.org>
18478
18479         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
18480         * lib/isnand.h: Rename lib/isnand-nolibm.h.
18481         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
18482         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
18483         * modules/isnanf-nolibm: Update references to renamed files.
18484         * modules/isnand-nolibm: Likewise.
18485         * modules/isnanf-nolibm-tests: Likewise.
18486         * modules/isnand-nolibm-tests: Likewise.
18487         * lib/frexp.c: Likewise.
18488         * lib/isfinite.c: Likewise.
18489         * lib/signbitd.c: Likewise.
18490         * lib/signbitf.c: Likewise.
18491         * lib/vasnprintf.c: Likewise.
18492         * tests/test-ceilf1.c: Likewise.
18493         * tests/test-ceilf2.c: Likewise.
18494         * tests/test-floorf1.c: Likewise.
18495         * tests/test-floorf2.c: Likewise.
18496         * tests/test-frexp.c: Likewise.
18497         * tests/test-round1.c: Likewise.
18498         * tests/test-round2.c: Likewise.
18499         * tests/test-roundf1.c: Likewise.
18500         * tests/test-strtod.c: Likewise.
18501         * tests/test-trunc1.c: Likewise.
18502         * tests/test-trunc2.c: Likewise.
18503         * tests/test-truncf1.c: Likewise.
18504         * tests/test-truncf2.c: Likewise.
18505         * NEWS: Mention the renamed header files.
18506
18507 2008-07-11  Jim Meyering  <meyering@redhat.com>
18508
18509         vc-list-files: make the last-resort awk code more portable
18510         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
18511         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
18512         does not support it.
18513
18514 2008-07-10  Eric Blake  <ebb9@byu.net>
18515
18516         Work with tar's bootstrap.
18517         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
18518         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
18519         an m4 comment.
18520
18521 2008-07-09  Jim Meyering  <meyering@redhat.com>
18522
18523         posix-shell.m4: fix typo that made this test malfunction
18524         * m4/posix-shell.m4: Remove capitalization in variable name.
18525
18526 2008-07-08  Bruno Haible  <bruno@clisp.org>
18527
18528         * m4/onceonly.m4: Update comments.
18529         Reported by Ben Pfaff <blp@cs.stanford.edu>.
18530
18531 2008-07-04  Jim Meyering  <meyering@redhat.com>
18532
18533         * users.txt: Add vc-dwim.
18534         (bison, coreutils): Use the gitweb URL.
18535
18536 2008-07-03  Jim Meyering  <meyering@redhat.com>
18537
18538         * users.txt: Add libffcall.  From Sam Steingold.
18539
18540 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
18541
18542         getdate.y: do not ignore TZ with relative day, month or year offset
18543         * lib/getdate.y (get_date): Move the tz-handling block to follow the
18544         relative-date-handling, since otherwise, the latter would clobber the
18545         sole output (an updated Start value) of the tz-handling block.
18546         * tests/test-getdate.c: Tests for the fix
18547
18548 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18549
18550         Recognize 'foo_LIBRARIES += libgnu.a'.
18551         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
18552         makefile snippet has already specified an installation location,
18553         also using '+='.
18554
18555 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
18556
18557         getdate.y: factor out common actions
18558         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
18559         Use them in place of open-coded actions.
18560
18561 2008-07-01  Simon Josefsson  <simon@josefsson.org>
18562
18563         Add self-test for getdate module.
18564         * modules/getdate-tests: New file.
18565         * tests/test-getdate.c: New file.
18566
18567 2008-06-29  Bruno Haible  <bruno@clisp.org>
18568
18569         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
18570         .gitignore.
18571         Reported by Sylvain Beucler <beuc@beuc.net>.
18572
18573 2008-06-29  Bruno Haible  <bruno@clisp.org>
18574
18575         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
18576         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
18577
18578 2008-06-29  Bruno Haible  <bruno@clisp.org>
18579
18580         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
18581         EXTRA_DIST.
18582         Reported by Sylvain Beucler <beuc@beuc.net>.
18583
18584 2008-06-26  Jim Meyering  <meyering@redhat.com>
18585
18586         make several modules depend on the "open" module
18587         This provides slightly increased consistency when opening-for-write
18588         the name of a non-directory spelled with a trailing slash.
18589         * modules/chdir-safer: Likewise.
18590         * modules/chown: Likewise.
18591         * modules/clean-temp: Likewise.
18592         * modules/copy-file: Likewise.
18593         * modules/fchdir: Likewise.
18594         * modules/fcntl-safer: Likewise.
18595         * modules/pipe: Likewise.
18596         * modules/utime: Likewise.
18597         Prompted by Eric Blake and Bruno Haible.
18598
18599 2008-06-24  Andreas Schwab  <schwab@suse.de>
18600
18601         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
18602         literals can be used as initializers for global variables.
18603
18604 2008-06-23  Eric Blake  <ebb9@byu.net>
18605
18606         Make gnulib-cache.m4 easier to diff.
18607         * gnulib-tool (func_import): Allow newlines when reading cached
18608         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
18609
18610 2008-06-23  Bruno Haible  <bruno@clisp.org>
18611
18612         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
18613         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
18614         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
18615         m4/signalblocking.m4.
18616         (gl_PREREQ_SIGACTION): Don't invoke it.
18617         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
18618         gl_PREREQ_SIG_HANDLER_H.
18619         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
18620         Don't check for sigaction here.
18621
18622 2008-06-23  Bruno Haible  <bruno@clisp.org>
18623
18624         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
18625         (install_handlers): Don't set the SA_RESETHAND flag.
18626
18627 2008-06-23  Bruno Haible  <bruno@clisp.org>
18628
18629         * m4/sigaction.m4: Comment fixes.
18630         * lib/signal.in.h: Likewise.
18631
18632 2008-06-23  Eric Blake  <ebb9@byu.net>
18633
18634         Fix typo.
18635         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
18636
18637         Avoid SA_ namespace.
18638         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
18639         Reported by Ralf Wildenhues.
18640
18641         Avoid test failure due to SA_RESTORER.
18642         * tests/test-sigaction.c (SA_MASK): New macro.
18643         (main): Avoid failing due to extension flags being set.
18644         Reported by Jim Meyering.
18645
18646         Revert use of sig-handler.h in sigprocmask.c.
18647         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
18648         it requires the existence of struct sigaction.
18649         * lib/sigprocmask.c (handler_t): Restore typedef.
18650         (rpl_signal, old_handlers): Use local type.
18651
18652 2008-06-22  Bruno Haible  <bruno@clisp.org>
18653
18654         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
18655         conditionally.
18656         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
18657
18658 2008-06-22  Bruno Haible  <bruno@clisp.org>
18659
18660         * doc/posix-functions/siginterrupt.texi: Move note.
18661
18662         * lib/signal.in.h (SA_RESTART): New macro.
18663         * lib/sigaction.c: Update comment.
18664
18665         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
18666
18667         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
18668         (gl_PREREQ_SIGPROCMASK): Invoke it.
18669         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
18670
18671         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
18672
18673         * lib/sigprocmask.c: Update a comment.
18674
18675 2008-06-21  Eric Blake  <ebb9@byu.net>
18676
18677         Use sigaction module rather than signal().
18678         * modules/c-stack (Depends-on): Add sigaction.
18679         * modules/fatal-signal (Depends-on): Likewise.
18680         * modules/nanosleep (Depends-on): Likewise.
18681         * modules/sigprocmask (Files): Add sig-handler.h.
18682         * modules/sigaction (Files): Likewise.
18683         * lib/sig-handler.h (get_handler): New file, suggested by Paul
18684         Eggert.
18685         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
18686         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
18687         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
18688         (init_fatal_signals): Likewise.
18689         * lib/nanosleep.c (rpl_nanosleep): Likewise.
18690         (siginterrupt): Delete fallback.
18691         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
18692         instead.
18693         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
18694         siginterrupt.
18695
18696         New module sigaction, for mingw.
18697         * modules/sigaction: New module...
18698         * modules/sigaction-tests: ...and its test.
18699         * m4/sigaction.m4: New file.
18700         * lib/sigaction.c: Likewise.
18701         * tests/test-sigaction.c: Likewise.
18702         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
18703         * modules/signal (Makefile.am): Likewise.
18704         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
18705         needed.
18706         * doc/posix-headers/signal.texi (signal.h): Mention provided
18707         types.
18708         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
18709         that sigaction is preferable.
18710         * doc/posix-functions/sigaction.texi (sigaction): Mention new
18711         module.
18712         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
18713         sigaction.
18714
18715         Improve robustness of sigprocmask by overriding signal.
18716         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
18717         is in use.
18718         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
18719         (SIGKILL, SIGSTOP): Provide fallbacks.
18720         (rpl_signal): Implement.
18721         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
18722         signal can be called inside handlers.
18723
18724         Fix nanosleep module on mingw.
18725         * modules/nanosleep (Depends-on): Add sys_select.
18726         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
18727
18728         Fix licensing of sigprocmask.
18729         * modules/raise (License): Relicense as LGPL.
18730
18731 2008-06-21  Bruno Haible  <bruno@clisp.org>
18732
18733         * lib/propername.c (proper_name_utf8): Don't use the transliterated
18734         result if it contains question marks.
18735         Reported by Michael Geng <linux@michaelgeng.de>.
18736
18737 2008-06-19  Bruno Haible  <bruno@clisp.org>
18738
18739         Fix CVS-ism.
18740         * doc/gnulib.texi: Include updated-stamp.texi.
18741         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
18742         (updated-stamp.texi): New rule.
18743         (gnulib.info): Depend on it.
18744         * doc/.gitignore: Add updated-stamp.texi.
18745         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
18746
18747 2008-06-19  Bruno Haible  <bruno@clisp.org>
18748
18749         * doc/Makefile (gnulib.info): Update and simplify dependencies.
18750         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
18751
18752 2008-06-19  Eric Blake  <ebb9@byu.net>
18753
18754         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
18755         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
18756         Reported by Stepan Kasal.
18757
18758 2008-06-18  Bruno Haible  <bruno@clisp.org>
18759
18760         * lib/fatal-signal.c (init_fatal_signals): Add comment.
18761         Reported by Eric Blake.
18762
18763 2008-06-18  Eric Blake  <ebb9@byu.net>
18764
18765         Work around cygwin 1.5.25 strsignal bug.
18766         * tests/test-strsignal.c: Allow for const char *.
18767         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
18768
18769 2008-06-18  Simon Josefsson  <simon@josefsson.org>
18770
18771         * users.txt: Update URL to article and add author/date
18772         information.
18773
18774 2008-06-17  Bruno Haible  <bruno@clisp.org>
18775
18776         New macro gl_DISABLE_THREADS.
18777         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
18778         if the user did not pass --enable-threads or --disable-threads option.
18779         (gl_DISABLE_THREADS): New macro.
18780         Reported by Eric Blake <ebb9@byu.net>.
18781
18782 2008-06-17  Bruno Haible  <bruno@clisp.org>
18783
18784         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
18785         when the macro ignores it.
18786         Based on a patch by Eric Blake <ebb9@byu.net>.
18787
18788 2008-06-17  Bruno Haible  <bruno@clisp.org>
18789
18790         * modules/tls (License): Change to LGPLv2+.
18791         Reported by Eric Blake.
18792
18793 2008-06-17  Eric Blake  <ebb9@byu.net>
18794
18795         Simplify c-stack prerequisites.
18796         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
18797         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
18798         no longer requires <ucontext.h> to exist.  Optimize setrlimit
18799         check.
18800         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
18801         <sys/resource.h>.
18802
18803         Move c-stack test into testsuite.
18804         * modules/c-stack-tests: New file.
18805         * lib/c-stack.c [DEBUG]: Move test program...
18806         * tests/test-c-stack.c: ...into this new file.  Skip rather than
18807         fail test if sigaltstack is lacking.
18808         * tests/test-c-stack.sh: New driver file.
18809
18810 2008-06-16  Eric Blake  <ebb9@byu.net>
18811
18812         Use raise module consistently.
18813         * modules/fatal-signal (Depends-on): Add raise.
18814         * modules/sigprocmask (Depends-on): Likewise.
18815         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
18816         * lib/sigprocmask.c (sigprocmask): Likewise.
18817         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
18818         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
18819
18820         Fix compliance bug in sigpending.
18821         * lib/sigprocmask.c (sigpending): Return pending array via
18822         parameter, not return value.
18823
18824 2008-06-14  Eric Blake  <ebb9@byu.net>
18825
18826         Improve obstack-printf test code.
18827         * tests/test-obstack-printf.c (test_function): Fix comment, and
18828         simplify usage of obstack_* in macros.  Add a test for coverage.
18829         Reported by Bruno Haible.
18830
18831 2008-06-14  Bruno Haible  <bruno@clisp.org>
18832
18833         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
18834         array size as a constant, not as a const variable.
18835         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
18836         AC_USE_SYSTEM_EXTENSIONS.
18837         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
18838         Test whether the obstack_printf function actually exists.
18839         * modules/obstack-printf (Depends-on): Add extensions.
18840         (Include): Remove obstack.h.
18841         * modules/obstack-printf-posix (Depends-on): Add extensions.
18842         (Include): Remove obstack.h.
18843
18844 2008-06-13  Eric Blake  <ebb9@byu.net>
18845
18846         Add obstack-printf and obstack-printf-posix modules.
18847         * modules/obstack-printf: New file.
18848         * modules/obstack-printf-posix: Likewise.
18849         * MODULES.html.sh (Misc): Mention them.
18850         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
18851         Likewise.
18852         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
18853         Likewise.
18854         * modules/stdio (Makefile.am): Accomodate new modules.
18855         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
18856         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
18857         Declare.
18858         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
18859         functions.
18860         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
18861         (gl_REPLACE_OBSTACK_PRINTF): New macros
18862         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
18863         * tests/test-obstack-printf.c: New file.
18864         * modules/obstack-printf-tests: Likewise.
18865         * modules/obstack-printf-posix-tests: Likewise.
18866
18867 2008-06-11  Bruno Haible  <bruno@clisp.org>
18868
18869         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
18870         * lib/open.c: Include errno.h.
18871         (open): Fail when attempting to write to a file that has a trailing
18872         slash.
18873         * tests/test-open.c (main): Test against trailing slash bug.
18874         * doc/posix-functions/open.texi: Mention the trailing slash bug.
18875
18876 2008-06-10  Bruno Haible  <bruno@clisp.org>
18877
18878         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
18879         for $? to work inside the trap command, with various /bin/sh-s.
18880         * tests/test-vc-list-files-cvs.sh: Likewise.
18881
18882 2008-06-10  Bruno Haible  <bruno@clisp.org>
18883
18884         * lib/acl-internal.h: Don't include gettext.h here.
18885         * lib/set-mode-acl.c: Include gettext.h here.
18886         * lib/copy-acl.c: Likewise.
18887
18888 2008-06-10  Bruno Haible  <bruno@clisp.org>
18889
18890         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
18891         * lib/wait-process.c (wait_subprocess): Likewise.
18892         * lib/execute.h (execute): Add termsigp argument.
18893         * lib/execute.c (execute): Likewise.
18894         * lib/csharpcomp.c (compile_csharp_using_pnet,
18895         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
18896         * lib/csharpexec.c (execute_csharp_using_pnet,
18897         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
18898         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
18899         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
18900         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
18901         is_jikes_present): Update.
18902         * lib/javaexec.c (execute_java_class): Update.
18903         * lib/javaversion.c (execute_and_read_line): Update.
18904         * NEWS: Document the changes.
18905         Reported by Eric Blake.
18906
18907 2008-06-10  Eric Blake  <ebb9@byu.net>
18908
18909         Add missing include.
18910         * tests/test-strstr.c (includes): Add <signal.h>.
18911         * tests/test-strcasestr.c (includes): Likewise.
18912         * tests/test-memmem.c (includes): Likewise.
18913
18914 2008-06-10  Bruno Haible  <bruno@clisp.org>
18915
18916         * lib/wait-process.c (wait_subprocess): Add an assertion.
18917
18918 2008-06-10  Bruno Haible  <bruno@clisp.org>
18919
18920         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
18921
18922 2008-06-10  Bruno Haible  <bruno@clisp.org>
18923
18924         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
18925         using alarm().
18926         * tests/test-strcasestr.c (main): Likewise.
18927         * tests/test-strstr.c (main): Likewise.
18928
18929 2008-06-09  Bruno Haible  <bruno@clisp.org>
18930
18931         Work around the Solaris 10 ACE ACLs ABI change.
18932         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
18933         declare if ACL_NO_TRIVIAL is present.
18934         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
18935         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
18936         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
18937         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
18938         define if ACL_NO_TRIVIAL is present.
18939         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
18940         and use the current ABI.
18941         (file_has_acl): Use same #if condition as elsewhere.
18942         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
18943         in use, and use the current ABI.
18944         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
18945         Reported by Jim Meyering.
18946
18947 2008-06-09  Eric Blake  <ebb9@byu.net>
18948
18949         Work around environments that (stupidly) ignore SIGALRM.
18950         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
18951         before using alarm().
18952         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
18953         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
18954         Reported by Ian Beckwith <ianb@erislabs.net>.
18955
18956         Produce autobuild blurb earlier in log.
18957         * modules/autobuild (configure.ac-early): Move AB_INIT here.
18958
18959 2008-06-09  Jim Meyering  <meyering@redhat.com>
18960         and OndÅ™ej Vašík  <ovasik@redhat.com>
18961
18962         utimens.c: correct kernel bug work-around
18963         OndÅ™ej Vašík found that the invalid return value of 280 indicates
18964         failure, not success, and the kernel bug we're trying to work
18965         around affects not just the utimensat call, but also the fallback
18966         futimens call.
18967         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
18968         not success.
18969         [HAVE_FUTIMENS]: Use the same work-around, here.
18970
18971 2008-06-09  Jim Meyering  <meyering@redhat.com>
18972
18973         add more guards around definition of ACE_-related code
18974         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
18975         ALLOW and ACE_OWNER are also defined.
18976
18977 2008-06-08  Bruno Haible  <bruno@clisp.org>
18978
18979         * lib/acl-internal.h: Add me as co-author.
18980         * lib/file-has-acl.c: Likewise.
18981         * lib/set-mode-acl.c: Likewise.
18982         * lib/copy-acl.c: Likewise.
18983
18984 2008-06-08  Bruno Haible  <bruno@clisp.org>
18985
18986         Add support for AIX ACLs.
18987         * lib/acl-internal.h (acl_nontrivial): New declaration.
18988         * lib/file-has-acl.c (acl_nontrivial): New function.
18989         (file_has_acl): Add implementation using AIX 4 ACL API.
18990         * lib/set-mode-acl.c (qset_acl): Likewise.
18991         * lib/copy-acl.c (qcopy_acl): Likewise.
18992
18993 2008-06-08  Bruno Haible  <bruno@clisp.org>
18994
18995         Add support for HP-UX ACLs.
18996         * lib/acl-internal.h (acl_nontrivial): New declaration.
18997         * lib/file-has-acl.c (acl_nontrivial): New function.
18998         (file_has_acl): Add implementation using HP-UX 11 ACL API.
18999         * lib/set-mode-acl.c (qset_acl): Likewise.
19000         * lib/copy-acl.c (qcopy_acl): Likewise.
19001
19002 2008-06-08  Bruno Haible  <bruno@clisp.org>
19003
19004         Add support for Cygwin ACLs.
19005         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
19006         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
19007         the chmod_or_fchmod call.
19008         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
19009
19010 2008-06-08  Bruno Haible  <bruno@clisp.org>
19011
19012         Fix bug with setuid modes in Solaris 10+ code.
19013         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
19014         succeeded, when the mode contains some special bits.
19015
19016 2008-06-08  Bruno Haible  <bruno@clisp.org>
19017
19018         Add support for Solaris 7..10 ACLs.
19019         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
19020         declarations.
19021         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
19022         functions.
19023         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
19024         * lib/set-mode-acl.c (qset_acl): Likewise.
19025         * lib/copy-acl.c (qcopy_acl): Likewise.
19026
19027 2008-06-08  Bruno Haible  <bruno@clisp.org>
19028
19029         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
19030         declaration.
19031         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
19032         (acl_access_nontrivial): Remove MacOS X case.
19033         (file_has_acl): Use acl_extended_nontrivial.
19034         * lib/copy-acl.c (qcopy_acl): Likewise.
19035
19036 2008-06-08  Bruno Haible  <bruno@clisp.org>
19037
19038         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
19039
19040 2008-06-08  Jim Meyering  <meyering@redhat.com>
19041
19042         * modules/acl (Maintainer): Add Bruno Haible.
19043
19044 2008-06-07  Bruno Haible  <bruno@clisp.org>
19045
19046         Improve support for Tru64 ACLs.
19047         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
19048         ACL on OSF/1.
19049
19050 2008-06-07  Bruno Haible  <bruno@clisp.org>
19051
19052         Add support for MacOS X ACLs.
19053         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
19054         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
19055         * lib/set-mode-acl.c (qset_acl): Likewise.
19056         * lib/copy-acl.c (qcopy_acl): Likewise.
19057
19058 2008-06-07  Bruno Haible  <bruno@clisp.org>
19059
19060         Fix memory leak introduced on 2008-05-22.
19061         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
19062         use.
19063
19064 2008-06-07  Bruno Haible  <bruno@clisp.org>
19065
19066         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
19067         to construct an empty ACL.
19068
19069 2008-06-07  Bruno Haible  <bruno@clisp.org>
19070
19071         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
19072         precisely.
19073         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
19074
19075 2008-06-07  Bruno Haible  <bruno@clisp.org>
19076
19077         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
19078         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
19079
19080 2008-06-07  Bruno Haible  <bruno@clisp.org>
19081
19082         * doc/posix-functions/_setjmp.texi: Explain the use of this function
19083         regardless of POSIX.
19084         * doc/posix-functions/_longjmp.texi: Likewise.
19085         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
19086         SystemV platform in this case.
19087
19088 2008-06-06  Eric Blake  <ebb9@byu.net>
19089
19090         Document abort() bugs.
19091         * doc/posix-functions/abort.texi (abort): Mention anomalies.
19092
19093         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
19094         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
19095         sigsetjmp.
19096         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
19097         siglongjmp, but only as a macro.
19098         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
19099         is obsolete.
19100         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
19101
19102         Tweak documentation to cover cygwin argz bugs.
19103         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
19104         argz bug fix; no code change needed since no cygwin releases
19105         occurred between the last fix and the bug being tested.
19106         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
19107         module and recently fixed cygwin bugs.
19108         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
19109         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
19110         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
19111         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
19112         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
19113         Likewise.
19114         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
19115         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
19116         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
19117         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
19118         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
19119         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
19120         Likewise.
19121
19122         Avoid gcc warning on cygwin.
19123         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
19124         !ACL_NO_TRIVIAL]: Avoid unused variable.
19125
19126 2008-06-05  Eric Blake  <ebb9@byu.net>
19127
19128         Be tolerant of UNKNOWN version in gnulib-tool test dir.
19129         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
19130         git-version-gen fails to come up with a version.
19131         Reported by Simon Josefsson.
19132
19133 2008-06-05  Jim Meyering  <meyering@redhat.com>
19134             Paul Eggert  <eggert@cs.ucla.edu>
19135
19136         utimens.c: work around a probable Linux kernel bug
19137         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
19138         appears to be a kernel bug that causes utimensat to return 280
19139         instead of 0, indicating success.
19140
19141 2008-06-04  Bruno Haible  <bruno@clisp.org>
19142
19143         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
19144         2008-06-01 commit.
19145
19146 2008-06-04  Bruno Haible  <bruno@clisp.org>
19147
19148         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
19149         * lib/file-has-acl.c (acl_access_nontrivial): New function.
19150         (file_has_acl): Use it. Save errno afterwards.
19151         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
19152
19153 2008-06-03  Bruno Haible  <bruno@clisp.org>
19154
19155         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
19156         draft code. Simplify #ifs.
19157         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
19158         Put Solaris code after POSIX-draft code. Fix comments regarding
19159         Solaris 10, HP-UX. Mention Cygwin.
19160         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
19161
19162 2008-06-03  Eric Blake  <ebb9@byu.net>
19163
19164         Provide fallback for older kernels.
19165         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
19166         Provide runtime fallback if kernel lacks support.
19167         Reported by Mike Frysinger.
19168
19169 2008-06-02  Bruno Haible  <bruno@clisp.org>
19170
19171         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
19172         it exists.
19173
19174 2008-06-02  Bruno Haible  <bruno@clisp.org>
19175
19176         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
19177         * lib/copy-acl.c (qcopy_acl): Update comment.
19178
19179 2008-06-02  Bruno Haible  <bruno@clisp.org>
19180
19181         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
19182         like ACL APIs.
19183
19184 2008-06-02  Bruno Haible  <bruno@clisp.org>
19185
19186         * tests/test-file-has-acl.sh: Use different code for Cygwin.
19187         * tests/test-set-mode-acl.sh: Likewise.
19188         * tests/test-copy-acl.sh: Likewise.
19189         * tests/test-copy-file.sh: Likewise.
19190
19191 2008-06-02  Bruno Haible  <bruno@clisp.org>
19192
19193         * tests/test-file-has-acl.sh: Remove unused code.
19194
19195 2008-06-01  Bruno Haible  <bruno@clisp.org>
19196
19197         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
19198         (copy_acl): Just a wrapper around qcopy_acl that emits the error
19199         messages.
19200         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
19201
19202 2008-06-01  Bruno Haible  <bruno@clisp.org>
19203
19204         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
19205         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
19206         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
19207         APIs.
19208         * modules/acl-tests (configure.ac): Remove tests now contained in
19209         m4/acl.m4.
19210
19211 2008-06-02  Jim Meyering  <meyering@redhat.com>
19212
19213         announce-gen: use a better key-server host name
19214         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
19215         it may be more consistently reliable.  Suggested by Werner Koch
19216         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
19217
19218 2008-06-01  Bruno Haible  <bruno@clisp.org>
19219
19220         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
19221         Reported by Voroskoi Andras <voroskoi@gmail.com>.
19222
19223 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
19224
19225         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
19226
19227 2008-06-01  Bruno Haible  <bruno@clisp.org>
19228
19229         New ACL tests.
19230         * tests/test-file-has-acl.sh: New file.
19231         * tests/test-file-has-acl.c: New file.
19232         * tests/test-set-mode-acl.sh: New file.
19233         * tests/test-set-mode-acl.c: New file.
19234         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
19235         * tests/test-copy-acl.c: New file.
19236         * modules/acl-tests: New file, based on modules/copy-file-tests.
19237         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
19238         (Depends-on): Add acl-tests.
19239         (configure.ac): Remove checks.
19240         (Makefile.am): Don't create test-sameacls program here any more.
19241
19242 2008-06-01  Bruno Haible  <bruno@clisp.org>
19243
19244         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
19245         * tests/test-sameacls.c: Include progname.h.
19246         (main): Invoke set_program_name. Portability fixes for MacOS X,
19247         Solaris, HP-UX.
19248
19249 2008-06-01  Bruno Haible  <bruno@clisp.org>
19250
19251         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
19252         function.
19253         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
19254
19255 2008-06-01  Bruno Haible  <bruno@clisp.org>
19256
19257         * modules/rpmatch (Depends-on): Add strdup.
19258
19259 2008-06-01  Bruno Haible  <bruno@clisp.org>
19260
19261         * lib/pipe.c: Include unistd-safer.h.
19262         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
19263         * modules/pipe (Depends-on): Add unistd-safer.
19264
19265 2008-05-30  Simon Josefsson  <simon@josefsson.org>
19266
19267         * modules/autobuild (configure.ac): Call AB_INIT.
19268
19269 2008-05-30  Simon Josefsson  <simon@josefsson.org>
19270
19271         * tests/test-getaddrinfo.c: Don't print debug messages by default.
19272         Suggested by Bruno Haible <bruno@clisp.org>.
19273
19274 2008-05-30  Simon Josefsson  <simon@josefsson.org>
19275
19276         * tests/test-base64.c: Cast size_t to unsigned long when invoking
19277         printf.  Use %lu instead of %d.  Reported by Bruno Haible
19278         <bruno@clisp.org>.
19279
19280 2008-05-29  Eric Blake  <ebb9@byu.net>
19281
19282         Prefer new POSIX 200x interfaces over futimesat.
19283         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
19284         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
19285         when available.
19286         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
19287
19288 2008-05-28  Bruno Haible  <bruno@clisp.org>
19289
19290         * modules/stpcpy (License): Change to LGPLv2+.
19291         Requested by David Lutterkort <dlutter@redhat.com>.
19292
19293 2008-05-27  Bruno Haible  <bruno@clisp.org>
19294
19295         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
19296         current mingw.
19297         Reported by Jose E. Marchesi <jemarch@gnu.org>.
19298
19299 2008-05-27  Bruno Haible  <bruno@clisp.org>
19300
19301         * modules/iconv_open (Link): New section, from module 'iconv'.
19302         * modules/striconv (Link): Likewise.
19303         * modules/striconveh (Link): Likewise.
19304         * modules/xstriconv (Link): Likewise.
19305         * modules/unicodeio (Link): Likewise.
19306         * modules/propername (Link): Likewise.
19307         Reported by Jim Meyering.
19308
19309 2008-05-26  Jim Meyering  <meyering@redhat.com>
19310
19311         sha256: do not artificially restrict buffer length to be < 2^32
19312         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
19313         uint32_t to size_t.
19314         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
19315         to match.
19316
19317         avoid unaligned access errors, e.g., on sparc
19318         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
19319         direct access through a possibly-unaligned uint64* pointer.
19320         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
19321         direct access through a possibly-unaligned uint32* pointer.
19322         Prompted by this patch from Tom "spot" Callaway:
19323         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
19324
19325         sha512.c: fix typo in comment
19326         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
19327
19328 2008-05-25  Bruno Haible  <bruno@clisp.org>
19329
19330         * lib/set-mode-acl.c: Renamed from lib/acl.c.
19331         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
19332         (Makefile.am): Update lib_SOURCES.
19333
19334 2008-05-25  Bruno Haible  <bruno@clisp.org>
19335
19336         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
19337
19338 2008-05-25  Jim Meyering  <meyering@redhat.com>
19339
19340         useless-if-before-free: freed expr may have white-space differences
19341         * build-aux/useless-if-before-free: Recognize cases in which the
19342         freed expression differs from the tested one in embedded white
19343         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
19344         $1 was used, so we can't make any regexp shy.  Improved tests now
19345         detect this.
19346
19347         useless-if-before-free: accept white space in the expression.
19348         * build-aux/useless-if-before-free: For now, any white space
19349         in the expression must be identical in the free argument.
19350
19351         useless-if-before-free: efficiency tweak
19352         * build-aux/useless-if-before-free: Make the expression-matching
19353         regexp "shy".
19354         Make the *outer* regexp shy, not the expr-matching one.
19355
19356         update code-in-comment to accept cast of free arg
19357         * build-aux/useless-if-before-free: Update regexp.
19358
19359 2008-05-25  Bruno Haible  <bruno@clisp.org>
19360
19361         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
19362         * modules/copy-file-tests (Files, Makefile.am): Update.
19363         * tests/test-copy-file.c (func_test_copy): Update.
19364
19365 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
19366
19367         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
19368
19369 2008-05-23  Bruno Haible  <bruno@clisp.org>
19370
19371         Improve support for ACLs on OSF/1.
19372         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
19373         Remove fallback for unknown flavors of ACLs.
19374
19375 2008-05-22  Bruno Haible  <bruno@clisp.org>
19376
19377         Add support for ACLs on OSF/1.
19378         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
19379         replacements.
19380         (acl_free_text): New macro fallback.
19381         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
19382         acl_free.
19383         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
19384         acl_free_text function. Require AC_C_INLINE.
19385
19386 2008-05-22  Bruno Haible  <bruno@clisp.org>
19387
19388         Make copy_acl work on MacOS X 10.5.
19389         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
19390         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
19391         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
19392         If MODE_INSIDE_ACL, don't assume that every system has the same text
19393         representation for ACLs as FreeBSD.
19394         * lib/copy-acl.c (copy_acl): Add support for platforms with
19395         !MODE_INSIDE_ACL.
19396         * lib/file-has-acl.c (file_has_acl): Likewise.
19397         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
19398         FreeBSD, MacOS X, or IRIX, respectively.
19399
19400 2008-05-22  Bruno Haible  <bruno@clisp.org>
19401
19402         * lib/acl.h: Don't include <sys/acl.h>.
19403         (GETACLCNT): Move fallback to lib/acl-internal.h.
19404         * lib/acl-internal.h: Include <sys/acl.h> here.
19405         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
19406
19407 2008-05-22  Bruno Haible  <bruno@clisp.org>
19408
19409         Split off copy_acl function to separate file.
19410         * lib/copy-acl.c: New file, extracted from lib/acl.c.
19411         * lib/acl.c (copy_acl): Moved function to separate file.
19412         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
19413         * modules/acl (Files): Add lib/copy-acl.c.
19414         (Makefiles.am): Augment lib_SOURCES.
19415
19416 2008-05-22  Bruno Haible  <bruno@clisp.org>
19417
19418         * modules/copy-file-tests: New file.
19419         * tests/test-copy-file.sh: New file.
19420         * tests/test-copy-file.c: New file.
19421         * tests/test-copy-file-sameacls.c: New file.
19422
19423 2008-05-22  Eric Blake  <ebb9@byu.net>
19424
19425         Avoid gcc warning.
19426         * tests/test-memcmp.c (main): Pass NULL indirectly.
19427
19428 2008-05-21  Bruno Haible  <bruno@clisp.org>
19429
19430         Add reference doc about ACLs.
19431         * doc/acl-resources.txt: New file.
19432         * doc/acl-cygwin.txt: New file.
19433
19434 2008-05-21  Bruno Haible  <bruno@clisp.org>
19435
19436         Avoid one more warning from gcc.
19437         * lib/vasnprintf.c (IF_LINT): Update comments.
19438         (VASNPRINTF): Use it also for the 'prefix' array initializer.
19439
19440 2008-05-21  Jim Meyering  <meyering@redhat.com>
19441
19442         avoid a warning from gcc
19443         * lib/vasnprintf.c (IF_LINT): Define.
19444         (scale10_round_decimal_long_double):
19445         Use it to avoid a "may be used uninitialized" warning.
19446         (scale10_round_decimal_double): Likewise.
19447
19448 2008-05-21  Simon Josefsson  <simon@josefsson.org>
19449
19450         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
19451         declared.
19452
19453 2008-05-20  Bruno Haible  <bruno@clisp.org>
19454
19455         * tests/test-memcmp.c (main): Test also the sign of the result. Test
19456         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
19457
19458 2008-05-20  Simon Josefsson  <simon@josefsson.org>
19459
19460         * modules/memcmp-tests: New file.
19461         * tests/test-memcmp.c: New file.
19462
19463 2008-05-19  Bruno Haible  <bruno@clisp.org>
19464
19465         * modules/propername (Notice, configure.ac): Put quoted "..." into
19466         --keyword option.
19467         * lib/propername.h: Update comments accordingly.
19468         Reported by Eric Blake.
19469
19470 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
19471
19472         * modules/getpass-gnu (Depends-on): Add fseeko.
19473
19474 2008-05-19  Simon Josefsson  <simon@josefsson.org>
19475
19476         * modules/base64-tests: New file.
19477
19478 2008-05-19  Bo Borgerson <gigabo@gmail.com>
19479
19480         * lib/base64.c (base64_decode_ctx): If a decode context structure
19481         was passed in use it to ignore newlines.  If a context structure
19482         was _not_ passed in, continue to treat newlines as garbage (this
19483         is the historical behavior).  Formerly base64_decode.
19484         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
19485         takes a decode context structure.
19486         * lib/base64.h (base64_decode): Macro for four-argument calls.
19487         (base64_decode_alloc): Likewise.
19488         * lib/base64.c (base64_decode_ctx): If a decode context structure
19489         was passed in use it to ignore newlines.  If a context structure
19490         was _not_ passed in, continue to treat newlines as garbage (this
19491         is the historical behavior).  Formerly base64_decode.
19492         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
19493         takes a decode context structure.
19494         * lib/base64.h (base64_decode): Macro for four-argument calls.
19495         (base64_decode_alloc): Likewise.
19496
19497 2008-05-19  Jim Meyering  <meyering@redhat.com>
19498
19499         avoid a warning from gcc
19500         * lib/trim.c (IF_LINT): Define.
19501         (trim2): Use it to avoid a "may be used uninitialized" warning.
19502
19503         Fix doc typo.
19504         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
19505
19506 2008-05-19  Bruno Haible  <bruno@clisp.org>
19507
19508         * doc/glibc-functions/getpass.texi: Document limits of other
19509         implementations.
19510
19511 2008-05-19  Simon Josefsson  <simon@josefsson.org>
19512             Bruno Haible <bruno@clisp.org>
19513
19514         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
19515
19516 2008-05-18  Bruno Haible  <bruno@clisp.org>
19517
19518         * modules/propername: New file, from GNU gettext.
19519         * lib/propername.h: New file, from GNU gettext.
19520         * lib/propername.c: New file, from GNU gettext.
19521         * MODULES.html.sh (Internationalization functions): Add propername.
19522
19523 2008-05-16  Jim Meyering  <meyering@redhat.com>
19524             Bruno Haible  <bruno@clisp.org>
19525
19526         Avoid some warnings from "gcc -Wshadow".
19527         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
19528
19529 2008-05-15  Eric Blake  <ebb9@byu.net>
19530
19531         Extend previous patch to cygwin 1.7.0.
19532         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
19533         fast implementation in cygwin >= 1.7.0.
19534         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
19535         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
19536
19537 2008-05-15  Bruno Haible  <bruno@clisp.org>
19538
19539         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
19540         implementation in glibc >= 2.9.
19541         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
19542         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
19543
19544 2008-05-15  Bruno Haible  <bruno@clisp.org>
19545
19546         * MODULES.html.sh (Internationalization functions): Remove linebreak.
19547         (Unicode string functions): Add unilbrk/*.
19548         Reported by Karl Berry.
19549
19550 2008-05-15  Eric Blake  <ebb9@byu.net>
19551
19552         Fix violation of <stdbool.h> replacement in regex.
19553         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
19554         * lib/regexec.c (re_search_internal): Likewise.
19555         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
19556
19557 2008-05-15  Jim Meyering  <meyering@redhat.com>
19558
19559         avoid distracting test output when git or cvs is not found
19560         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
19561         * tests/test-vc-list-files-git.sh: Likewise.
19562
19563 2008-05-15  Eric Blake  <ebb9@byu.net>
19564
19565         Glibc finally accepted the memmem speedup code, bugzilla #5514.
19566         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
19567         glibc version.
19568         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
19569         * doc/posix-functions/strstr.texi (strstr): Likewise.
19570         * lib/str-two-way.h (MAX): Sychronize with glibc.
19571
19572 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
19573
19574         * lib/regcomp.c (optimize_utf8): Add a note on why we test
19575         opr.ctx_type.
19576         (calc_first): Initialize constraint field.
19577         (duplicate_node_closure): Use it instead of special casing ANCHORS.
19578         Fix grammar.
19579         (duplicate_node): Merge constraint field for all node types.
19580         (calc_eclosure_iter): Look at constraint field for all node types.
19581         * lib/regex_internal.c (create_cd_newstate): Don't look at
19582         opr.ctx_type.
19583
19584 2008-05-14  Bruno Haible  <bruno@clisp.org>
19585
19586         Help GCC to do better code generation.
19587         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
19588         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
19589         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
19590         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
19591         Declare with attribute 'malloc' if supported.
19592
19593 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
19594
19595         use "echo STR|wc -c" rather than unportable "expr length STR"
19596         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
19597         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
19598
19599 2008-05-14  Jim Meyering  <meyering@redhat.com>
19600
19601         use dd ibs=$n count=1 ... rather than less-portable head -c$n
19602         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
19603         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
19604         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
19605         via Collin Lasse.
19606
19607 2008-05-14  Eric Blake  <ebb9@byu.net>
19608
19609         Avoid quadratic growth in gl_LIBSOURCES.
19610         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
19611         Suggested by Bruno Haible.
19612
19613         Test xmemdup0.
19614         * modules/xmemdup0-tests: New file.
19615         * tests/test-xmemdup0.c: Likewise.
19616
19617 2008-05-13  Eric Blake  <ebb9@byu.net>
19618
19619         Split xmemdup0 into its own module.
19620         * modules/xmemdup0: New file.
19621         * lib/xmemdup0.h: Likewise.
19622         * lib/xmemdup0.c: Likewise.
19623         * MODULES.html.sh (Memory management functions): Add xmemdup0.
19624         * lib/xalloc.h (xmemdup0): Remove.
19625         * lib/xmalloc.c (xmemdup0): Likewise.
19626
19627 2008-05-13  Eric Blake  <ebb9@byu.net>
19628             Bruno Haible  <bruno@clisp.org>
19629
19630         Reduce number of forks required during autoconf.
19631         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
19632         and gl_LIBSOURCES_DIR.
19633         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
19634         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
19635         m4_syscmd per file.
19636         <m4_foreach_w>: Move...
19637         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
19638
19639 2008-05-13  Eric Blake  <ebb9@byu.net>
19640
19641         * gnulib-tool: Fix various comment typos.
19642
19643 2008-05-12  Bruno Haible  <bruno@clisp.org>
19644
19645         Tailor the linebreaking algorithm.
19646         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
19647
19648 2008-05-12  Bruno Haible  <bruno@clisp.org>
19649
19650         Update to Unicode 5.0.0.
19651         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
19652         LBP_JV, LBP_JT. Redistribute values.
19653         (unilbrk_table): Change size.
19654         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
19655         Unicode TR#14 rev. 22.
19656         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
19657         LBP_JV, LBP_JT. Redistribute values.
19658         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
19659         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
19660         Update.
19661         * lib/unilbrk/lbrkprop1.h: Regenerated.
19662         * lib/unilbrk/lbrkprop2.h: Regenerated.
19663         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
19664         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
19665         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
19666         Likewise.
19667         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
19668         Likewise.
19669         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
19670         result.
19671         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
19672         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
19673         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
19674         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
19675         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
19676         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
19677
19678 2008-05-11  Bruno Haible  <bruno@clisp.org>
19679
19680         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
19681
19682 2008-05-11  Bruno Haible  <bruno@clisp.org>
19683
19684         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
19685         * modules/unilbrk/gen-lbrk: New file.
19686
19687 2008-05-11  Bruno Haible  <bruno@clisp.org>
19688
19689         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
19690         * m4/sha512.m4 (gl_SHA512): Likewise.
19691
19692 2008-05-11  Jim Meyering  <meyering@redhat.com>
19693
19694         New modules: crypto/sha256, crypto/sha512 (from coreutils)
19695         * modules/crypto/sha256: New file.
19696         * modules/crypto/sha512: Likewise.
19697         * lib/sha256.c: Likewise.
19698         * lib/sha256.h: Likewise.
19699         * lib/sha512.c: Likewise.
19700         * lib/sha512.h: Likewise.
19701         * lib/u64.h: Likewise.
19702         * m4/sha256.m4: Likewise.
19703         * m4/sha512.m4: Likewise.
19704         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
19705
19706 2008-05-10  Bruno Haible  <bruno@clisp.org>
19707
19708         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
19709         (Input/Output <stdio.h>): Add xprintf.
19710         (Signal handling <signal.h>): Add strsignal.
19711         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
19712         (Core language properties): Add func.
19713         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
19714         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
19715         strings.
19716         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
19717         (Input/output): New section.
19718         (File system functions): Add openat-die, stat-macros.
19719         (Networking functions): Add sockets.
19720         (Unicode string functions): Add unictype/*.
19721         (Support for building libraries and executables): Add gperf.
19722         (Support for building documentation): Add agpl-3.0.
19723         (Misc): Add nocrash.
19724
19725 2008-05-10  Bruno Haible  <bruno@clisp.org>
19726
19727         * modules/unictype/gen-ctype: New file.
19728
19729 2008-05-10  Jim Meyering  <meyering@redhat.com>
19730
19731         Make chdir-safer.c more efficient on a system with no symlinks.
19732         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
19733         also if ELOOP is zero.  Suggested by Bruno Haible.
19734
19735         Make chdir-safer.c slightly safer.
19736         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
19737         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
19738
19739         Avoid compile failure on systems without ELOOP (like mingw).
19740         * lib/chdir-safer.c (ELOOP): Define if not already defined.
19741         Reported by Bruno Haible.
19742
19743 2008-05-10  Bruno Haible  <bruno@clisp.org>
19744
19745         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
19746         (is_utf8_encoding): Use a case-insensitive comparison.
19747         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
19748         streq.
19749
19750 2008-05-10  Bruno Haible  <bruno@clisp.org>
19751
19752         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
19753         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
19754         * lib/unilbrk/ulc-common.h (iconv_string_length,
19755         iconv_string_keeping_offsets): Remove declarations.
19756         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
19757         Don't include <iconv.h>, streq.h, xsize.h.
19758         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
19759         conversion.
19760         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
19761         <iconv.h>, streq.h, xsize.h.
19762         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
19763         conversion.
19764         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
19765         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
19766         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
19767         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
19768
19769 2008-05-10  Bruno Haible  <bruno@clisp.org>
19770
19771         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
19772         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
19773
19774         * modules/unilbrk/u32-width-linebreaks-tests: New file.
19775         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
19776
19777         * modules/unilbrk/u16-width-linebreaks-tests: New file.
19778         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
19779
19780         * modules/unilbrk/u8-width-linebreaks-tests: New file.
19781         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
19782
19783         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
19784         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
19785
19786         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
19787         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
19788
19789         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
19790         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
19791
19792         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
19793         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
19794
19795 2008-05-10  Bruno Haible  <bruno@clisp.org>
19796
19797         Split up 'linebreak' module.
19798         * lib/unilbrk.h: New file, based on lib/linebreak.h.
19799         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
19800         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
19801         modifications.
19802         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
19803         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
19804         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
19805         lib/linebreak.c.
19806         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
19807         lib/linebreak.c.
19808         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
19809         lib/linebreak.c.
19810         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
19811         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
19812         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
19813         lib/linebreak.c.
19814         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
19815         lib/linebreak.c.
19816         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
19817         lib/linebreak.c.
19818         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
19819         lib/linebreak.c.
19820         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
19821         lib/linebreak.c.
19822         * modules/unilbrk/base: New file.
19823         * modules/unilbrk/tables: New file.
19824         * modules/unilbrk/u8-possible-linebreaks: New file.
19825         * modules/unilbrk/u16-possible-linebreaks: New file.
19826         * modules/unilbrk/u32-possible-linebreaks: New file.
19827         * modules/unilbrk/ulc-common: New file.
19828         * modules/unilbrk/ulc-possible-linebreaks: New file.
19829         * modules/unilbrk/u8-width-linebreaks: New file.
19830         * modules/unilbrk/u16-width-linebreaks: New file.
19831         * modules/unilbrk/u32-width-linebreaks: New file.
19832         * modules/unilbrk/ulc-width-linebreaks: New file.
19833         * lib/linebreak.h: Remove file.
19834         * lib/linebreak.c: Remove file.
19835         * m4/linebreak.m4: Remove file.
19836         * modules/linebreak: Remove file.
19837         * NEWS: Mention the changes.
19838
19839 2008-05-09  Eric Blake  <ebb9@byu.net>
19840
19841         Add xmemdup0.
19842         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
19843         implementation.
19844         * lib/xmalloc.c (xmemdup0): New C implementation.
19845
19846 2008-05-08  Bruno Haible  <bruno@clisp.org>
19847
19848         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
19849
19850 2008-05-07  Eric Blake  <ebb9@byu.net>
19851
19852         Support cross-compilation of <wctype.h>.
19853         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
19854         AC_CACHE_CHECK.
19855
19856 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
19857
19858         * build-aux/vc-list-files: Add support for bzr.
19859
19860 2008-05-03  Jim Meyering  <meyering@redhat.com>
19861
19862         avoid failed assertion with tight malloc
19863         * tests/test-getndelim2.c: Correct an off-by-one assertion.
19864
19865 2008-05-03  Simon Josefsson  <simon@josefsson.org>
19866
19867         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
19868         are needed from arpa/inet.h.
19869         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
19870         Reported by Bruno Haible.
19871
19872 2008-05-02  Jim Meyering  <meyering@redhat.com>
19873
19874         avoid compilation error on FreeBSD 6
19875         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
19876
19877 2008-05-01  Jim Meyering  <meyering@redhat.com>
19878
19879         useless-if-before-free: correct --help's exit status description
19880         * build-aux/useless-if-before-free (usage): Like grep, exit 0
19881         for one or more matches, etc.  Reported by Bruno Haible.
19882
19883         vc-list-files: make the stand-alone gnulib test work
19884         * modules/vc-list-files-tests (configure.ac):
19885         Define and AC_SUBST abs_aux_dir.
19886         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
19887         $(abs_top_srcdir) to each script and having each of them
19888         duplicate the work of setting PATH, set PATH here, using
19889         the new variable, abs_aux_dir instead.
19890         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
19891         * tests/test-vc-list-files-git.sh: Likewise.
19892         Reported by Bruno Haible.
19893
19894 2008-05-01  Bruno Haible  <bruno@clisp.org>
19895
19896         * lib/getndelim2.c (getndelim2): Fix newsize computation during
19897         reallocation. Rename 'done' to 'found_delimiter'.
19898
19899 2008-05-01  Jim Meyering  <meyering@redhat.com>
19900
19901         vc-list-files: accommodate /bin/sh like the one from Solaris 10
19902         * build-aux/vc-list-files: Use `...`, not $(...).
19903
19904 2008-04-30  Jim Meyering  <meyering@redhat.com>
19905
19906         add tests for vc-list-files
19907         * modules/vc-list-files-tests: New module.
19908         * tests/test-vc-list-files-cvs.sh: New file.
19909         * tests/test-vc-list-files-git.sh: New file.
19910
19911         avoid a warning from gcc
19912         * lib/getndelim2.c (IF_LINT): Define.
19913         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
19914
19915         vc-list-files: work properly with build-aux/cvsu, too
19916         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
19917         to all cvs-based clauses.
19918
19919         vc-list-files: work properly in the CVS+awk case, too
19920         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
19921
19922         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
19923         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
19924         take more than one file argument, so .  Add quotes, just in case $dir
19925         ever contains a shell meta-character.  Prompted by Soren Hansen in
19926         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
19927
19928 2008-04-29  Eric Blake  <ebb9@byu.net>
19929
19930         Optimize getndelim2 to use block operations when possible.
19931         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
19932         freadseek, and memchr2.
19933         * lib/getndelim2.c (getndelim2): Use them for block reads.
19934
19935 2008-04-29  Bruno Haible  <bruno@clisp.org>
19936
19937         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
19938         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
19939         * modules/inet_ntop (Depends-on): Add extensions.
19940         * modules/inet_pton (Depends-on): Likewise.
19941         Reported by Simon Josefsson.
19942
19943 2008-04-29  Jim Meyering  <meyering@redhat.com>
19944
19945         When the is more than one match in a block, match all of them.
19946         * build-aux/useless-if-before-free: Iterate through each block
19947         until there are no more matches.
19948
19949         Fix broken useless-if-before-free script.
19950         * build-aux/useless-if-before-free: Fix typo: missing "?" after
19951         the expression to match cast of argument to free-like function.
19952
19953 2008-04-29  Eric Blake  <ebb9@byu.net>
19954
19955         Use new header.
19956         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
19957
19958 2008-04-29  Jim Meyering  <meyering@redhat.com>
19959
19960         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
19961         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
19962         by gnulib to exist and to declare e.g., inet_ntop.
19963         Don't include "inet_ntop.h", now removed.
19964
19965         * m4/arpa_inet_h.m4: Remove trailing blanks.
19966
19967 2008-04-29  Eric Blake  <ebb9@byu.net>
19968
19969         Silence valgrind on safe reads beyond potential array bounds.
19970         * lib/rawmemchr.valgrind: New file.
19971         * lib/strchrnul.valgrind: Likewise.
19972         * modules/rawmemchr (Files): Distribute new file.
19973         * modules/strchrnul (Files): Likewise.
19974         Suggested by Bruno Haible.
19975
19976 2008-04-29  Bruno Haible  <bruno@clisp.org>
19977
19978         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
19979         (inet_ntop, inet_pton): Change portability warning's wording.
19980         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
19981         Invoke gl_CHECK_NEXT_HEADERS.
19982         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
19983         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
19984         set ARPA_INET_H.
19985         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
19986         * modules/arpa_inet (Description): No longer only for systems that
19987         lack it.
19988         (Depends-on): Add include_next.
19989         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
19990         HAVE_ARPA_INET_H.
19991
19992 2008-04-29  Jim Meyering  <meyering@redhat.com>
19993
19994         * modules/mkdir (License): Re-license as LGPLv2+.
19995
19996 2008-04-29  Bruno Haible  <bruno@clisp.org>
19997
19998         * modules/rawmemchr (Maintainer): Set to Eric.
19999         * modules/strchrnul (Maintainer): Likewise.
20000
20001 2008-04-29  Simon Josefsson  <simon@josefsson.org>
20002
20003         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
20004         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
20005
20006         * modules/arpa_inet (arpa/inet.h): Use them.
20007
20008 2008-04-28  Eric Blake  <ebb9@byu.net>
20009
20010         Test getndelim2.
20011         * modules/getndelim2-tests: New file.
20012         * tests/test-getndelim2.c: Likewise.
20013         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
20014         stream.
20015         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
20016
20017         * MODULES.html.sh: Document new module.
20018
20019 2008-04-20  Bruno Haible  <bruno@clisp.org>
20020
20021         * lib/c-stack.c (die): Use raise.
20022         * modules/c-stack (Depends-on): Add raise.
20023
20024 2008-04-28  Bruno Haible  <bruno@clisp.org>
20025
20026         Expect rpmatch to be declared.
20027         * lib/yesno.c (rpmatch): Remove declaration.
20028
20029         Declare rpmatch.
20030         * lib/stdlib.in.h (rpmatch): New declaration.
20031         * lib/rpmatch.c: Include <stdlib.h> first.
20032         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
20033         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
20034         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
20035         HAVE_RPMATCH.
20036         * modules/rpmatch (Depends-on): Add stdlib, extensions.
20037         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
20038         (Include): Set to <stdlib.h>.
20039         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
20040         HAVE_RPMATCH.
20041         * NEWS: Document the change.
20042
20043 2008-04-28  Bruno Haible  <bruno@clisp.org>
20044
20045         Change rpmatch to use nl_langinfo when appropriate.
20046         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
20047         (N_): New macro.
20048         (localized_pattern): New function/macro.
20049         (try): Remove match, nomatch arguments. Copy the pattern into safe
20050         memory before caching it.
20051         (rpmatch): Use localized_pattern. Add translator comments.
20052         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
20053         Suggested by Eric Blake.
20054         * modules/rpmatch (Depends-on): Add stdbool.
20055
20056 2008-04-28  Eric Blake  <ebb9@byu.net>
20057
20058         Add rawmemchr module, matching glibc.
20059         * modules/string (Makefile.am): New indicator.
20060         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
20061         * lib/string.in.h (rawmemchr): Declare when appropriate.
20062         * modules/rawmemchr: New file.
20063         * m4/rawmemchr.m4: Likewise.
20064         * lib/rawmemchr.c: Likewise.
20065         * modules/rawmemchr-tests: Likewise.
20066         * tests/test-rawmemchr.c: Likewise.
20067         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
20068         module.
20069         * modules/strchrnul (Depends-on): Add rawmemchr.
20070         * lib/strchrnul.c (strchrnul): Optimize a corner case.
20071
20072         Whitespace cleanup.
20073         * tests/test-strchrnul.c: Reindent.
20074         * lib/strchrnul.c: Likewise.
20075
20076         Optimize and test strchrnul.
20077         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
20078         * modules/strchrnul-tests: New file.
20079         * tests/test-strchrnul.c: Likewise.
20080
20081         Remove intprops dependency.
20082         * modules/memchr (Depends-on): Remove intprops.
20083         * modules/memrchr (Depends-on): Likewise.
20084         * modules/memchr2 (Depends-on): Likewise.
20085         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
20086         * lib/memrchr.c (__memrchr): Likewise.
20087         * lib/memrchr2.c (memchr2): Likewise.
20088         Reported by Simon Josefsson.
20089
20090 2008-04-28  Simon Josefsson  <simon@josefsson.org>
20091
20092         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
20093         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
20094
20095 2008-04-28  Simon Josefsson  <simon@josefsson.org>
20096
20097         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
20098
20099         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
20100
20101         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
20102
20103         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
20104         declarations.
20105         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
20106
20107         * m4/inet_pton.m4: Don't check for header files.
20108
20109         * m4/inet_ntop.m4: Don't check for header files.
20110
20111 2008-04-28  Simon Josefsson  <simon@josefsson.org>
20112
20113         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
20114         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
20115         trigger for cygwin).
20116         Reported by Bruno Haible  <bruno@clisp.org>.
20117
20118 2008-04-28  Bruno Haible  <bruno@clisp.org>
20119
20120         * doc/posix-functions/strdup.texi: Mention mingw problem.
20121
20122 2008-04-27  Bruno Haible  <bruno@clisp.org>
20123
20124         * modules/stat-time-tests (Depends-on): Add sleep.
20125         * tests/test-stat-time.c (force_unlink): New function.
20126         (cleanup): Use it.
20127         (test_mtime): Remove the ctime related tests.
20128         (test_ctime): New function, containing the ctime related tests.
20129         (main): Call test_ctime, except on native Windows platforms.
20130
20131 2008-04-27  Bruno Haible  <bruno@clisp.org>
20132
20133         * lib/rpmatch.c (rpmatch): Add some comments.
20134         Reported by James Youngman <jay@gnu.org>.
20135
20136 2008-04-27  Bruno Haible  <bruno@clisp.org>
20137
20138         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
20139         quiet NaNs.
20140
20141 2008-04-27  Bruno Haible  <bruno@clisp.org>
20142
20143         Make test-yesno.sh work on mingw.
20144         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
20145         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
20146         (main): Set stdin to binary mode.
20147         * modules/yesno-tests (Depends-on): Add binary-io.
20148
20149 2008-04-27  Bruno Haible  <bruno@clisp.org>
20150
20151         Fix 'isfinite' on x86, x86_64, ia64 platforms.
20152         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
20153         argument that lie outside the IEEE 854 domain.
20154         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
20155         (gl_ISFINITE): Use it.
20156         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
20157
20158 2008-04-27  Bruno Haible  <bruno@clisp.org>
20159
20160         Allow local renaming in config.h.
20161         * lib/memrchr.c (memrchr): Don't undefine outside libc.
20162
20163 2008-04-27  Bruno Haible  <bruno@clisp.org>
20164
20165         * lib/memchr.c (__memchr): Change type of 'i'.
20166         * lib/memchr2.c (memchr2): Likewise.
20167
20168 2008-04-26  Eric Blake  <ebb9@byu.net>
20169         and Bruno Haible  <bruno@clisp.org>
20170
20171         Optimize and test memrchr.
20172         * modules/memrchr (Depends-on): Add intprops.
20173         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
20174         * modules/memrchr-tests: New file.
20175         * tests/test-memrchr.c: New file.
20176
20177 2008-04-26  Bruno Haible  <bruno@clisp.org>
20178
20179         Add tentative support for DragonFly BSD.
20180         * lib/stdio-impl.h: Add macros for DragonFly BSD.
20181         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
20182         fp.
20183         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
20184         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
20185         * lib/fpurge.c (fpurge): Likewise.
20186         * lib/freadable.c (freaadable): Likewise.
20187         * lib/freadahead.c (freadahead): Likewise.
20188         * lib/freading.c (freading): Likewise.
20189         * lib/freadptr.c (freadptr): Likewise.
20190         * lib/freadseek.c (freadptrinc): Likewise.
20191         * lib/fseeko.c (fseeko): Likewise.
20192         * lib/fseterr.c (fseterr): Likewise.
20193         * lib/fwritable.c (fwritable): Likewise.
20194         * lib/fwriting.c (fwriting): Likewise.
20195
20196 2008-04-26  Bruno Haible  <bruno@clisp.org>
20197
20198         * lib/stdio-impl.h: New file.
20199         * lib/fbufmode.c: Include stdio-impl.h.
20200         (fbufmode): Use fp_, remove redundant #defines.
20201         * lib/fflush.c: Include stdio-impl.h.
20202         (clear_ungetc_buffer): Remove redundant #defines.
20203         * lib/fpurge.c: Include stdio-impl.h.
20204         (fpurge): Remove redundant #defines.
20205         * lib/freadable.c: Include stdio-impl.h.
20206         (freadable): Remove redundant #defines.
20207         * lib/freadahead.c: Include stdio-impl.h.
20208         (freadahead): Remove redundant #defines.
20209         * lib/freading.c: Include stdio-impl.h.
20210         (freading): Remove redundant #defines.
20211         * lib/freadptr.c: Include stdio-impl.h.
20212         (freadptr): Remove redundant #defines.
20213         * lib/freadseek.c: Include stdio-impl.h.
20214         (freadptrinc): Remove redundant #defines.
20215         * lib/fseeko.c: Include stdio-impl.h.
20216         (rpl_fseeko): Remove redundant #defines.
20217         * lib/fseterr.c: Include stdio-impl.h.
20218         (fseterr): Remove redundant #defines.
20219         * lib/fwritable.c: Include stdio-impl.h.
20220         (fwritable: Remove redundant #defines.
20221         * lib/fwriting.c: Include stdio-impl.h.
20222         (fwriting): Remove redundant #defines.
20223         * modules/fbufmode (Files): Add lib/stdio-impl.h.
20224         * modules/fflush (Files): Likewise.
20225         * modules/fpurge (Files): Likewise.
20226         * modules/freadable (Files): Likewise.
20227         * modules/freadahead (Files): Likewise.
20228         * modules/freading (Files): Likewise.
20229         * modules/freadptr (Files): Likewise.
20230         * modules/freadseek (Files): Likewise.
20231         * modules/fseeko (Files): Likewise.
20232         * modules/fseterr (Files): Likewise.
20233         * modules/fwritable (Files): Likewise.
20234         * modules/fwriting (Files): Likewise.
20235
20236 2008-04-26  Bruno Haible  <bruno@clisp.org>
20237
20238         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
20239         restore_seek_optimization, update_fpos_cache): New functions, extracted
20240         from rpl_fflush.
20241         (rpl_fflush): Use them.
20242         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
20243         (gl_REPLACE_FFLUSH): Use it.
20244
20245 2008-04-26  Bruno Haible  <bruno@clisp.org>
20246
20247         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
20248         on Solaris.
20249         * tests/test-xstrtoimax.sh: Likewise.
20250         * tests/test-xstrtoumax.sh: Likewise.
20251         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
20252
20253 2008-04-26  Bruno Haible  <bruno@clisp.org>
20254
20255         * modules/memchr-tests: New file.
20256         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
20257
20258 2008-04-26  Eric Blake  <ebb9@byu.net>
20259             Bruno Haible  <bruno@clisp.org>
20260
20261         * lib/memchr.c: Include intprops.h.
20262         (__memchr): Optimize parallel detection of matching bytes. Rename local
20263         variables. Add explanatory comments.
20264
20265 2008-04-26  Bruno Haible  <bruno@clisp.org>
20266
20267         Fix module 'memchr', broken since 2000-10-28.
20268         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
20269
20270 2008-04-26  Bruno Haible  <bruno@clisp.org>
20271
20272         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
20273         comments.
20274
20275 2008-04-25  Eric Blake  <ebb9@byu.net>
20276
20277         Use native fstatat on cygwin 1.7.0.
20278         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
20279         first.
20280
20281 2008-04-23  Eric Blake  <ebb9@byu.net>
20282
20283         Improve memchr2 performance.
20284         * lib/memchr2.c (memchr2): Further optimize parallel detection of
20285         NUL bytes.
20286         * modules/memchr2 (Depends-on): Use intprops.h.
20287
20288 2008-04-23  Simon Josefsson  <simon@josefsson.org>
20289
20290         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
20291         an inline function instead of a CPP macro.  Patch by Ben Pfaff
20292         <blp@cs.stanford.edu>.
20293
20294 2008-04-23  Simon Josefsson  <simon@josefsson.org>
20295
20296         * lib/arpa_inet.in.h: New file.
20297
20298         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
20299         (Makefile.am): Sed in substitute header file.
20300
20301         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
20302         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
20303
20304         * modules/inet_ntop (configure.ac): Use
20305         gl_ARPA_INET_MODULE_INDICATOR.
20306
20307         * modules/inet_pton (configure.ac): Use
20308         gl_ARPA_INET_MODULE_INDICATOR.
20309
20310 2008-04-22  Jim Meyering  <meyering@redhat.com>
20311
20312         * modules/verify (License): Re-license as LGPLv2+.
20313
20314 2008-04-22  Simon Josefsson  <simon@josefsson.org>
20315
20316         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
20317         parameter to void* as per POSIX standard (MinGW uses char*).
20318
20319 2008-04-21  Bruno Haible  <bruno@clisp.org>
20320
20321         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
20322         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
20323         Define to replacements if REPLACE_ISWCNTRL is 1.
20324         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
20325         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
20326         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
20327         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
20328         what it fixes.
20329         * doc/posix-functions/iswalpha.texi: Likewise.
20330         * doc/posix-functions/iswblank.texi: Likewise.
20331         * doc/posix-functions/iswcntrl.texi: Likewise.
20332         * doc/posix-functions/iswdigit.texi: Likewise.
20333         * doc/posix-functions/iswgraph.texi: Likewise.
20334         * doc/posix-functions/iswlower.texi: Likewise.
20335         * doc/posix-functions/iswprint.texi: Likewise.
20336         * doc/posix-functions/iswpunct.texi: Likewise.
20337         * doc/posix-functions/iswspace.texi: Likewise.
20338         * doc/posix-functions/iswupper.texi: Likewise.
20339         * doc/posix-functions/iswxdigit.texi: Likewise.
20340         Reported by Alain Guibert.
20341
20342 2008-04-21  Bruno Haible  <bruno@clisp.org>
20343
20344         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
20345         Patch by Alain Guibert.
20346
20347 2008-04-21  Bruno Haible  <bruno@clisp.org>
20348
20349         Fix test failures on mingw.
20350         * tests/test-xstrtol.c (print_no_progname): New function.
20351         (main): Install it in error_print_progname hook.
20352         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
20353         * tests/test-xstrtoimax.sh: Likewise.
20354         * tests/test-xstrtoumax.sh: Likewise.
20355
20356 2008-04-21  Bruno Haible  <bruno@clisp.org>
20357
20358         Fix test failure on mingw.
20359         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
20360
20361 2008-04-21  Bruno Haible  <bruno@clisp.org>
20362
20363         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
20364         Actually assign a value.
20365
20366 2008-04-20  Bruno Haible  <bruno@clisp.org>
20367
20368         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
20369         take 2.
20370         * lib/canonicalize.c (canonicalize_file_name): Elide if the
20371         'canonicalize-lgpl' module is also used.
20372         * lib/canonicalize-lgpl.c: Undo last change.
20373         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
20374
20375 2008-04-20  Bruno Haible  <bruno@clisp.org>
20376
20377         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
20378         config.h. Provide _mkdir based fallback for mingw.
20379         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
20380         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
20381         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
20382         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
20383         rather than defining mkdir in config.h.
20384         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
20385         (gl_SYS_STAT_H_DEFAULTS): New macro.
20386         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
20387         HAVE_IO_H any more.
20388         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
20389         HAVE_DECL_MKDIR and HAVE_IO_H.
20390
20391 2008-04-20  Bruno Haible  <bruno@clisp.org>
20392
20393         * lib/isapipe.c: Port to native Windows platforms.
20394
20395 2008-04-20  Bruno Haible  <bruno@clisp.org>
20396
20397         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
20398
20399 2008-04-21  Eric Blake  <ebb9@byu.net>
20400
20401         Work around preprocessors that don't handle UINTMAX_MAX.
20402         * lib/memchr2.c (memchr2): Avoid embedded #if.
20403         Reported by Alain Guibert, fix suggested by Bruno Haible.
20404
20405 2008-04-21  Simon Josefsson  <simon@josefsson.org>
20406
20407         * doc/posix-functions/strftime.texi (strftime): Explain better
20408         Windows incompatibility.  Suggested by Micah Cowan
20409         <micah@cowan.name>.
20410
20411 2008-04-20  Bruno Haible  <bruno@clisp.org>
20412
20413         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
20414         unistr/u8-mblen.
20415
20416 2008-04-20  Bruno Haible  <bruno@clisp.org>
20417
20418         Fix test failure on platforms with non-GNU iconv.
20419         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
20420         (U_TO_U8): Use it, rather than u16_to_u8.
20421         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
20422         units at the end of the input string.
20423         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
20424
20425 2008-04-20  Bruno Haible  <bruno@clisp.org>
20426
20427         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
20428         when the resulting length is 0.
20429         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
20430
20431 2008-04-20  Bruno Haible  <bruno@clisp.org>
20432
20433         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
20434         works.
20435         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
20436
20437 2008-04-20  Bruno Haible  <bruno@clisp.org>
20438
20439         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
20440         * modules/tsearch-tests (configure.ac): Test for initstate function.
20441
20442 2008-04-20  Bruno Haible  <bruno@clisp.org>
20443
20444         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
20445         for nlink_t if missing.
20446         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
20447
20448 2008-04-19  Bruno Haible  <bruno@clisp.org>
20449
20450         Work around snprintf bug on Linux libc5.
20451         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
20452         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
20453         gl_SNPRINTF_SIZE1.
20454         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
20455         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
20456         that test failed.
20457         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
20458         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
20459         * modules/snprintf (Files): Add m4/printf.m4.
20460         * modules/vsnprintf (Files): Likewise.
20461         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
20462         * doc/posix-functions/vsnprintf.texi: Likewise.
20463
20464 2008-04-19  Bruno Haible  <bruno@clisp.org>
20465
20466         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
20467         from 0.0058 to less than 10^-7.
20468
20469 2008-04-19  Bruno Haible  <bruno@clisp.org>
20470
20471         Fix rounding when a precision is given.
20472         * lib/vasnprintf.c (is_borderline): New function.
20473         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
20474         9...9x.
20475         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
20476         %e, %g.
20477         * tests/test-vasprintf-posix.c (test_function): Likewise.
20478         * tests/test-snprintf-posix.h (test_function): Likewise.
20479         * tests/test-sprintf-posix.h (test_function): Likewise.
20480         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
20481         * tests/test-printf-posix.h (test_function): Likewise.
20482         * tests/test-printf-posix.output: Update.
20483         Reported by John Darrington <john@darrington.wattle.id.au> via
20484         Ben Pfaff <blp@cs.stanford.edu>.
20485
20486 2008-04-18  Simon Josefsson  <simon@josefsson.org>
20487
20488         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
20489         Suggested by Bruno Haible <bruno@clisp.org>.
20490
20491 2008-04-17  Bruno Haible  <bruno@clisp.org>
20492
20493         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
20494         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
20495         implementation.
20496         Patch by Bruce Merry <bmerry@gmail.com>.
20497
20498 2008-04-17  Simon Josefsson  <simon@josefsson.org>
20499
20500         * doc/posix-functions/strftime.texi (strftime): Mention that %e
20501         doesn't work under Windows.
20502
20503 2008-04-16  Bruno Haible  <bruno@clisp.org>
20504
20505         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
20506         New macros.
20507         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
20508         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
20509         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
20510         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
20511         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
20512         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
20513         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
20514         macros.
20515         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
20516         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
20517         Northern Sotho, Uighur.
20518
20519 2008-04-16  Bruno Haible  <bruno@clisp.org>
20520
20521         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
20522         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
20523         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
20524         Reported by Daniel Bergström <daniel@octocode.com>.
20525
20526 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
20527             Bruno Haible  <bruno@clisp.org>
20528
20529         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
20530         function.
20531         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
20532         New functions, mostly extracted from gl_locale_name_default.
20533         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
20534
20535 2008-04-16  Eric Blake  <ebb9@byu.net>
20536
20537         Adjust strtod detection to catch glibc 2.7 bug.
20538         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
20539         Reported by John Gatewood Ham.
20540
20541 2008-04-16  Bruno Haible  <bruno@clisp.org>
20542
20543         Add tentative support for Linux libc5.
20544         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
20545         * lib/fpurge.c (fpurge): Likewise.
20546         * lib/freadable.c (freadable): Likewise.
20547         * lib/freadahead.c (freadahead): Likewise.
20548         * lib/freading.c (freading): Likewise.
20549         * lib/freadptr.c (freadptr): Likewise.
20550         * lib/freadseek.c (freadptrinc): Likewise.
20551         * lib/fseeko.c (rpl_fseeko): Likewise.
20552         * lib/fseterr.c (fseterr): Likewise.
20553         * lib/fwritable.c (fwritable): Likewise.
20554         * lib/fwriting.c (fwriting): Likewise.
20555         Reported by Alain Guibert <alguibert+bts@free.fr>.
20556
20557 2008-04-15  Bruno Haible  <bruno@clisp.org>
20558
20559         * modules/mathl (configure.ac): Define module indicator.
20560
20561 2008-04-15  Bruno Haible  <bruno@clisp.org>
20562
20563         * lib/logl.c (logl): Remove unused variables.
20564
20565 2008-04-15  Bruno Haible  <bruno@clisp.org>
20566
20567         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
20568         fails.
20569
20570 2008-04-15  Bruno Haible  <bruno@clisp.org>
20571
20572         * lib/trim.c (trim2): Fix argument of isspace() macro.
20573
20574 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
20575
20576         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
20577         to 0.
20578         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
20579
20580 2008-04-14  Bruno Haible  <bruno@clisp.org>
20581
20582         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
20583         AC_LANG_PROGRAM argument.
20584         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
20585         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
20586         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
20587         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
20588         * m4/math_h.m4 (gl_MATH_H): Likewise.
20589         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
20590         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
20591         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
20592         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
20593         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
20594         * m4/regex.m4 (gl_REGEX): Likewise.
20595         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
20596         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
20597         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
20598         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
20599         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
20600         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
20601         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
20602         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
20603
20604 2008-04-14  Jim Meyering  <meyering@redhat.com>
20605
20606         test-strtod: fix typos: s/abs/fabs/
20607         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
20608
20609 2008-04-13  Bruno Haible  <bruno@clisp.org>
20610
20611         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
20612         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
20613         module is also used and while not building the reloc-wrapper.
20614
20615 2008-04-13  Bruno Haible  <bruno@clisp.org>
20616
20617         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
20618
20619 2008-04-13  Bruno Haible  <bruno@clisp.org>
20620
20621         Fix AIX compilation failure introduced on 2008-04-02.
20622         * tests/test-frexp.c (exp): Undefine before redefining.
20623         * tests/test-frexpl.c (exp): Likewise.
20624
20625 2008-04-13  Bruno Haible  <bruno@clisp.org>
20626
20627         Work around a HP-UX stdio bug.
20628         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
20629         * tests/test-ftello.c (main): Likewise.
20630         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
20631         * doc/posix-functions/ftello.texi: Likewise.
20632
20633 2008-04-13  Bruno Haible  <bruno@clisp.org>
20634
20635         Make test-signbit pass on HP-UX/hppa.
20636         * tests/test-signbit.c (minus_zerol): New variable.
20637         (test_signbitl): Use it.
20638
20639 2008-04-13  Bruno Haible  <bruno@clisp.org>
20640
20641         Make truncl work on OSF/1 4.0.
20642         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
20643         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
20644         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
20645         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
20646         HAVE_DECL_TRUNCL.
20647         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
20648         HAVE_DECL_TRUNCL.
20649         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
20650
20651 2008-04-13  Bruno Haible  <bruno@clisp.org>
20652
20653         * lib/unictype.h: Remove trailing comma from enumeration definitions.
20654
20655 2008-04-13  Bruno Haible  <bruno@clisp.org>
20656
20657         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
20658         expression, so as to avoid HP-UX 11 cc compiler bug.
20659
20660 2008-04-13  Bruno Haible  <bruno@clisp.org>
20661
20662         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
20663
20664 2008-04-13  Bruno Haible  <bruno@clisp.org>
20665
20666         * lib/git-merge-changelog.c: Remove empty declaration outside of
20667         functions.
20668
20669 2008-04-13  Bruno Haible  <bruno@clisp.org>
20670
20671         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
20672
20673 2008-04-13  Bruno Haible  <bruno@clisp.org>
20674
20675         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
20676         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
20677         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
20678         also if it exists but lacks definitions of the SHUT_* macros.
20679         * modules/sys_socket (Description): Update.
20680         Reported by Elbert Pol <e.pol@chello.nl>.
20681
20682 2008-04-13  Bruno Haible  <bruno@clisp.org>
20683
20684         * lib/localcharset.c (OS2): Don't redefine if already defined.
20685         Reported by Elbert Pol <e.pol@chello.nl>.
20686
20687 2008-04-13  Bruno Haible  <bruno@clisp.org>
20688
20689         * lib/binary-io.h [__EMX__]: Include <io.h>.
20690         Reported by Elbert Pol <e.pol@chello.nl>.
20691
20692 2008-04-12  Bruno Haible  <bruno@clisp.org>
20693
20694         * lib/fpucw.h: Enable the definitions also for x86_64.
20695         Needed for NetBSD/x86_64.
20696         Reported by Thomas Klausner <tk@giga.or.at>.
20697
20698 2008-04-12  Bruno Haible  <bruno@clisp.org>
20699
20700         * tests/test-strtod.c: Include isnand.h.
20701         (main): Use isnand instead of isnan.
20702         Reported by Jim Meyering.
20703
20704 2008-04-12  Bruno Haible  <bruno@clisp.org>
20705
20706         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
20707         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
20708
20709 2008-04-12  Jim Meyering  <meyering@redhat.com>
20710
20711         * m4/math_h.m4 (gl_MATH_H): Fix typos.
20712
20713 2008-04-12  Bruno Haible  <bruno@clisp.org>
20714
20715         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
20716         Reported by Elbert Pol <e.pol@chello.nl>.
20717
20718 2008-04-12  Eric Blake  <ebb9@byu.net>
20719
20720         Work around Solaris 10 math.h bug.
20721         * m4/math_h.m4 (gl_MATH_H): Check for bug.
20722         (gl_MATH_H_DEFAULTS): Set up default.
20723         * modules/math (Makefile.am): Replace new indicators.
20724         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
20725         * tests/test-math.c (main): Test this.
20726         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
20727         * doc/posix-headers/math.texi (math.h): Mention bug.
20728         Reported by Nelson H. F. Beebe and Jim Meyering.
20729
20730 2008-04-11  Bruno Haible  <bruno@clisp.org>
20731
20732         Adapt to future versions of Apple GCC.
20733         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
20734         Reported by Peter O'Gorman <peter@pogma.com>.
20735
20736 2008-04-11  Bruno Haible  <bruno@clisp.org>
20737
20738         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
20739
20740 2008-04-11  Bruno Haible  <bruno@clisp.org>
20741
20742         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
20743
20744         * modules/getaddrinfo-tests (Makefile.am): Define
20745         test_getaddrinfo_LDADD.
20746
20747 2008-04-11  Bruno Haible  <bruno@clisp.org>
20748
20749         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
20750         (init): Fix syntax error.
20751         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
20752         is declared.
20753
20754 2008-04-11  Bruno Haible  <bruno@clisp.org>
20755
20756         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
20757         * modules/glob (Depends-on): Add stdbool.
20758
20759 2008-04-11  Bruno Haible  <bruno@clisp.org>
20760
20761         * lib/trim.c: Include <string.h>.
20762
20763 2008-04-11  Eric Blake  <ebb9@byu.net>
20764
20765         Avoid compile failure on OS/2.
20766         * lib/regex_internal.h (internal_function): Disable optimization
20767         on OS/2 (__EMX__), where it caused compiler error.
20768         Reported by Elbert Pol.
20769
20770 2008-04-11  Bruno Haible  <bruno@clisp.org>
20771
20772         Flush the standard error stream before aborting. Needed on mingw.
20773         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
20774         * tests/test-array_list.c (ASSERT): Likewise.
20775         * tests/test-array_oset.c (ASSERT): Likewise.
20776         * tests/test-avltree_list.c (ASSERT): Likewise.
20777         * tests/test-avltree_oset.c (ASSERT): Likewise.
20778         * tests/test-avltreehash_list.c (ASSERT): Likewise.
20779         * tests/test-binary-io.c (ASSERT): Likewise.
20780         * tests/test-byteswap.c (ASSERT): Likewise.
20781         * tests/test-c-ctype.c (ASSERT): Likewise.
20782         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
20783         * tests/test-c-strcasestr.c (ASSERT): Likewise.
20784         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
20785         * tests/test-c-strstr.c (ASSERT): Likewise.
20786         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
20787         * tests/test-canonicalize.c (ASSERT): Likewise.
20788         * tests/test-carray_list.c (ASSERT): Likewise.
20789         * tests/test-ceilf1.c (ASSERT): Likewise.
20790         * tests/test-ceilf2.c (ASSERT): Likewise.
20791         * tests/test-ceill.c (ASSERT): Likewise.
20792         * tests/test-count-one-bits.c (ASSERT): Likewise.
20793         * tests/test-fbufmode.c (ASSERT): Likewise.
20794         * tests/test-fflush2.c (ASSERT): Likewise.
20795         * tests/test-floorf1.c (ASSERT): Likewise.
20796         * tests/test-floorf2.c (ASSERT): Likewise.
20797         * tests/test-floorl.c (ASSERT): Likewise.
20798         * tests/test-fopen.c (ASSERT): Likewise.
20799         * tests/test-fpending.c (ASSERT): Likewise.
20800         * tests/test-fprintf-posix.c (ASSERT): Likewise.
20801         * tests/test-fpurge.c (ASSERT): Likewise.
20802         * tests/test-freadable.c (ASSERT): Likewise.
20803         * tests/test-freadahead.c (ASSERT): Likewise.
20804         * tests/test-freading.c (ASSERT): Likewise.
20805         * tests/test-freadptr.c (ASSERT): Likewise.
20806         * tests/test-freadptr2.c (ASSERT): Likewise.
20807         * tests/test-freadseek.c (ASSERT): Likewise.
20808         * tests/test-freopen.c (ASSERT): Likewise.
20809         * tests/test-frexp.c (ASSERT): Likewise.
20810         * tests/test-frexpl.c (ASSERT): Likewise.
20811         * tests/test-fseek.c (ASSERT): Likewise.
20812         * tests/test-fseeko.c (ASSERT): Likewise.
20813         * tests/test-fstrcmp.c (ASSERT): Likewise.
20814         * tests/test-ftell.c (ASSERT): Likewise.
20815         * tests/test-ftello.c (ASSERT): Likewise.
20816         * tests/test-func.c (ASSERT): Likewise.
20817         * tests/test-fwritable.c (ASSERT): Likewise.
20818         * tests/test-fwriting.c (ASSERT): Likewise.
20819         * tests/test-getdelim.c (ASSERT): Likewise.
20820         * tests/test-getline.c (ASSERT): Likewise.
20821         * tests/test-i-ring.c (ASSERT): Likewise.
20822         * tests/test-iconv-utf.c (ASSERT): Likewise.
20823         * tests/test-iconv.c (ASSERT): Likewise.
20824         * tests/test-isfinite.c (ASSERT): Likewise.
20825         * tests/test-isnand.c (ASSERT): Likewise.
20826         * tests/test-isnanf.c (ASSERT): Likewise.
20827         * tests/test-isnanl.h (ASSERT): Likewise.
20828         * tests/test-ldexpl.c (ASSERT): Likewise.
20829         * tests/test-linked_list.c (ASSERT): Likewise.
20830         * tests/test-linkedhash_list.c (ASSERT): Likewise.
20831         * tests/test-localename.c (ASSERT): Likewise.
20832         * tests/test-lseek.c (ASSERT): Likewise.
20833         * tests/test-mbscasecmp.c (ASSERT): Likewise.
20834         * tests/test-mbscasestr1.c (ASSERT): Likewise.
20835         * tests/test-mbscasestr2.c (ASSERT): Likewise.
20836         * tests/test-mbscasestr3.c (ASSERT): Likewise.
20837         * tests/test-mbscasestr4.c (ASSERT): Likewise.
20838         * tests/test-mbschr.c (ASSERT): Likewise.
20839         * tests/test-mbscspn.c (ASSERT): Likewise.
20840         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
20841         * tests/test-mbspbrk.c (ASSERT): Likewise.
20842         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
20843         * tests/test-mbsrchr.c (ASSERT): Likewise.
20844         * tests/test-mbsspn.c (ASSERT): Likewise.
20845         * tests/test-mbsstr1.c (ASSERT): Likewise.
20846         * tests/test-mbsstr2.c (ASSERT): Likewise.
20847         * tests/test-mbsstr3.c (ASSERT): Likewise.
20848         * tests/test-memchr2.c (ASSERT): Likewise.
20849         * tests/test-memmem.c (ASSERT): Likewise.
20850         * tests/test-open.c (ASSERT): Likewise.
20851         * tests/test-printf-frexp.c (ASSERT): Likewise.
20852         * tests/test-printf-frexpl.c (ASSERT): Likewise.
20853         * tests/test-printf-posix.c (ASSERT): Likewise.
20854         * tests/test-quotearg.c (ASSERT): Likewise.
20855         * tests/test-rbtree_list.c (ASSERT): Likewise.
20856         * tests/test-rbtree_oset.c (ASSERT): Likewise.
20857         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
20858         * tests/test-round1.c (ASSERT): Likewise.
20859         * tests/test-roundf1.c (ASSERT): Likewise.
20860         * tests/test-roundl.c (ASSERT): Likewise.
20861         * tests/test-signbit.c (ASSERT): Likewise.
20862         * tests/test-sleep.c (ASSERT): Likewise.
20863         * tests/test-snprintf-posix.c (ASSERT): Likewise.
20864         * tests/test-snprintf.c (ASSERT): Likewise.
20865         * tests/test-sprintf-posix.c (ASSERT): Likewise.
20866         * tests/test-stat-time.c (ASSERT): Likewise.
20867         * tests/test-strcasestr.c (ASSERT): Likewise.
20868         * tests/test-strerror.c (ASSERT): Likewise.
20869         * tests/test-striconv.c (ASSERT): Likewise.
20870         * tests/test-striconveh.c (ASSERT): Likewise.
20871         * tests/test-striconveha.c (ASSERT): Likewise.
20872         * tests/test-strsignal.c (ASSERT): Likewise.
20873         * tests/test-strstr.c (ASSERT): Likewise.
20874         * tests/test-strtod.c (ASSERT): Likewise.
20875         * tests/test-trunc1.c (ASSERT): Likewise.
20876         * tests/test-trunc2.c (ASSERT): Likewise.
20877         * tests/test-truncf1.c (ASSERT): Likewise.
20878         * tests/test-truncf2.c (ASSERT): Likewise.
20879         * tests/test-truncl.c (ASSERT): Likewise.
20880         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
20881         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
20882         * tests/test-vasnprintf.c (ASSERT): Likewise.
20883         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
20884         * tests/test-vasprintf.c (ASSERT): Likewise.
20885         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
20886         * tests/test-vprintf-posix.c (ASSERT): Likewise.
20887         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
20888         * tests/test-vsnprintf.c (ASSERT): Likewise.
20889         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
20890         * tests/test-wcwidth.c (ASSERT): Likewise.
20891         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
20892         * tests/test-xprintf-posix.c (ASSERT): Likewise.
20893         * tests/test-xvasprintf.c (ASSERT): Likewise.
20894         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
20895         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
20896         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
20897         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
20898         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
20899         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
20900         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
20901         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
20902         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
20903         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
20904         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
20905         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
20906         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
20907         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
20908         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
20909         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
20910         * tests/unictype/test-block_list.c (ASSERT): Likewise.
20911         * tests/unictype/test-block_of.c (ASSERT): Likewise.
20912         * tests/unictype/test-block_test.c (ASSERT): Likewise.
20913         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
20914         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
20915         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
20916         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
20917         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
20918         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
20919         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
20920         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
20921         * tests/unictype/test-combining.c (ASSERT): Likewise.
20922         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
20923         * tests/unictype/test-digit.c (ASSERT): Likewise.
20924         * tests/unictype/test-mirror.c (ASSERT): Likewise.
20925         * tests/unictype/test-numeric.c (ASSERT): Likewise.
20926         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
20927         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
20928         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
20929         * tests/unictype/test-scripts.c (ASSERT): Likewise.
20930         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
20931         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
20932         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
20933         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
20934         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
20935         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
20936         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
20937         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
20938         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
20939         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
20940         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
20941         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
20942         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
20943         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
20944         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
20945         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
20946         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
20947         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
20948         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
20949         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
20950         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
20951         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
20952         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
20953         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
20954         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
20955         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
20956         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
20957         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
20958         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
20959         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
20960         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
20961         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
20962         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
20963         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
20964         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
20965         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
20966         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
20967         Reported by Eric Blake.
20968
20969 2008-04-11  Bruno Haible  <bruno@clisp.org>
20970
20971         * lib/wchar.in.h: Tweak comment.
20972
20973 2008-04-11  Bruno Haible  <bruno@clisp.org>
20974
20975         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
20976         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
20977         gl_COMMON.
20978         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
20979
20980 2008-04-11  Bruno Haible  <bruno@clisp.org>
20981
20982         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
20983
20984 2008-04-11  Simon Josefsson  <simon@josefsson.org>
20985
20986         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
20987         of attempting to use non-existing /dev/*random.  Based on patch
20988         from Adam Strzelecki <ono@java.pl> in
20989         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
20990
20991 2008-04-08  Bruno Haible  <bruno@clisp.org>
20992
20993         Add tentative support for emx+gcc.
20994         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
20995         * lib/fpurge.c (fpurge): Likewise.
20996         * lib/freadable.c (freadable): Likewise.
20997         * lib/freadahead.c (freadahead): Likewise.
20998         * lib/freading.c (freading): Likewise.
20999         * lib/freadptr.c (freadptr): Likewise.
21000         * lib/freadseek.c (freadptrinc): Likewise.
21001         * lib/fseeko.c (rpl_fseeko): Likewise.
21002         * lib/fseterr.c (fseterr): Likewise.
21003         * lib/fwritable.c (fwritable): Likewise.
21004         * lib/fwriting.c (fwriting): Likewise.
21005         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
21006
21007 2008-04-09  Eric Blake  <ebb9@byu.net>
21008
21009         Avoid some autoconf warnings.
21010         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
21011         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
21012         * m4/afs.m4 (gl_AFS): Likewise.
21013         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
21014         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
21015         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
21016         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
21017         (gl_INTEGER_TYPE_SUFFIX): Likewise.
21018         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
21019         (AC_CHECK_DECLS_ONCE): Likewise.
21020         Rename file...
21021         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
21022         gnulib-tool requires autoconf 2.59 or better.
21023         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
21024
21025 2008-04-08  Eric Blake  <ebb9@byu.net>
21026
21027         Use 'git describe --match' if present (added in git 1.5.5).
21028         * build-aux/git-version-gen: Limit result to tags that match 'v*'
21029         if possible.
21030
21031 2008-04-08  Bruno Haible  <bruno@clisp.org>
21032
21033         Add tentative support for OpenServer.
21034         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
21035         _ptr, _cnt.
21036         * lib/fpurge.c (fpurge): Likewise.
21037         * lib/freadable.c (freadable): Likewise.
21038         * lib/freadahead.c (freadahead): Likewise.
21039         * lib/freading.c (freading): Likewise.
21040         * lib/freadptr.c (freadptr): Likewise.
21041         * lib/freadseek.c (freadptrinc): Likewise.
21042         * lib/fseeko.c (rpl_fseeko): Likewise.
21043         * lib/fseterr.c (fseterr): Likewise.
21044         * lib/fwritable.c (fwritable): Likewise.
21045         * lib/fwriting.c (fwriting): Likewise.
21046         Reported by Roger Cornelius <rac@tenzing.org> and
21047         Brian K. White <brian@aljex.com>.
21048
21049 2008-04-06  Jim Meyering  <meyering@redhat.com>
21050
21051         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
21052
21053 2008-04-06  Bruno Haible  <bruno@clisp.org>
21054
21055         Avoid possible error with non-ASCII bytes in UTF-8 locales.
21056         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
21057         * tests/test-printf-posix.sh: Likewise.
21058         * tests/test-vfprintf-posix.sh: Likewise.
21059         * tests/test-vprintf-posix.sh: Likewise.
21060         * tests/test-xprintf-posix.sh: Likewise.
21061
21062 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21063
21064         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
21065         hide error from 'ls', needed on OS/2.
21066         Report by Elbert Pol <elbert.pol@gmail.com>.
21067
21068 2008-04-04  Eric Blake  <ebb9@byu.net>
21069
21070         Make test-fseeko.c failures meaningful.
21071         * tests/test-fseeko.c: Print line number on failure.
21072         * tests/test-fseek.c: Likewise.
21073         Reported by Nelson H. F. Beebe.
21074
21075         Improve strtod bug detection check.
21076         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
21077         required for Solaris 10.
21078         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
21079
21080 2008-04-04  Bruno Haible  <bruno@clisp.org>
21081
21082         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
21083         by m4/setenv.m4.
21084
21085 2008-04-03  Eric Blake  <ebb9@byu.net>
21086
21087         Ensure sane .version contents.
21088         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
21089         version string.
21090         * build-aux/git-version-gen: Improve documentation.
21091
21092         Make GNU make output nicer.
21093         * top/GNUmakefile [!_have-Makefile]: Add dependency on
21094         MAKECMDGOALS to enforce message for all command line targets.  Set
21095         srcdir for use in maint.mk.
21096
21097         Another maintainer tweak.
21098         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
21099         a target that regenerates version.
21100
21101 2008-04-03  Jim Meyering  <meyering@redhat.com>
21102
21103         vc-list-files: don't cause coreutils "make po-check" failure
21104         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
21105
21106 2008-04-03  Eric Blake  <ebb9@byu.net>
21107
21108         Allow VPATH usage of vc-list-files.
21109         * build-aux/vc-list-files (scriptversion): Add timestamp.
21110         (options): Add --help, --version, -C.
21111         (CVS): Support installed cvsu.
21112
21113 2008-04-02  Bruno Haible  <bruno@clisp.org>
21114
21115         Avoid some "statement with no effect" warnings from gcc.
21116         * tests/test-wctype.c (main): Explicitly ignore unused values.
21117         Reported by Jim Meyering.
21118
21119 2008-04-02  Jim Meyering  <meyering@redhat.com>
21120
21121         Avoid some warnings from "gcc -Wshadow".
21122         * tests/test-frexp.c (exp): Define to a different identifier.
21123         * tests/test-frexpl.c (exp): Likewise.
21124
21125 2008-04-03  Jim Meyering  <meyering@redhat.com>
21126
21127         bootstrap: remove dangling *.[ch] symlinks from lib
21128         * build-aux/bootstrap [dangling symlink removal]: Move find's
21129         -depth option to precede all others, to avoid a warning.
21130         Remove *.[ch] files too, and from "$source_base" (usually lib/).
21131
21132 2008-04-02  Bruno Haible  <bruno@clisp.org>
21133
21134         Avoid some warnings from "gcc -Wshadow".
21135         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
21136         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
21137         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
21138         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
21139         Reported by Jim Meyering.
21140
21141 2008-04-01  Bruno Haible  <bruno@clisp.org>
21142
21143         Fix test to work on IRIX 6.5 with cc.
21144         * tests/test-math.c (numeric_equal): New function.
21145         (main): Use it.
21146
21147 2008-04-01  Bruno Haible  <bruno@clisp.org>
21148
21149         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
21150
21151 2008-04-01  Bruno Haible  <bruno@clisp.org>
21152
21153         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
21154         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
21155         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
21156         (Depends-on): Remove math.
21157
21158         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
21159         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
21160         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
21161         (Depends-on): Remove math.
21162
21163         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
21164         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
21165         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
21166         (Depends-on): Remove math.
21167         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
21168         (Depends-on): Remove math.
21169
21170         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
21171         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
21172         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
21173         (Depends-on): Remove math.
21174         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
21175         (Depends-on): Remove math.
21176
21177         * tests/test-round1.c: Include nan.h.
21178         (main): Use NaNd instead of NAN.
21179         * modules/round-tests (Files): Add tests/nan.h.
21180
21181         * tests/test-trunc1.c: Include nan.h.
21182         (main): Use NaNd instead of NAN.
21183         * modules/trunc-tests (Files): Add tests/nan.h.
21184
21185         * tests/test-roundf1.c: Include nan.h.
21186         (main): Use NaNf instead of NAN.
21187         * modules/roundf-tests (Files): Add tests/nan.h.
21188
21189         * tests/test-truncf1.c: Include nan.h.
21190         (main): Use NaNf instead of NAN.
21191         * modules/truncf-tests (Files): Add tests/nan.h.
21192
21193         * tests/test-ceilf1.c: Include nan.h.
21194         (main): Use NaNf instead of NAN.
21195         * modules/ceilf-tests (Files): Add tests/nan.h.
21196
21197         * tests/test-floorf1.c: Include nan.h.
21198         (main): Use NaNf instead of NAN.
21199         * modules/floorf-tests (Files): Add tests/nan.h.
21200
21201         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
21202         (main): Use NaNf instead of NAN.
21203         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
21204
21205         * tests/test-isnand.c: Include nan.h instead of <math.h>.
21206         (main): Use NaNd instead of NAN.
21207         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
21208
21209         * tests/test-frexp.c: Include nan.h.
21210         (main): Use NaNd instead of NAN.
21211         * modules/frexp-tests (Files): Add tests/nan.h.
21212
21213         * lib/isnan.c: Don't include <math.h>.
21214         (FUNC): Don't use NAN macro.
21215         * modules/isnand-nolibm (Depends-on): Remove math.
21216         * modules/isnanf-nolibm (Depends-on): Remove math.
21217         * modules/isnanl (Depends-on): Remove math.
21218         * modules/isnanl-nolibm (Depends-on): Remove math.
21219
21220         * tests/nan.h: New file.
21221
21222 2008-04-01  Eric Blake  <ebb9@byu.net>
21223
21224         Fix typos.
21225         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
21226         values to be the right type.
21227
21228         For now, cater to gnulib strtod inaccuracies.
21229         * tests/test-strtod.c (main): Allow 1-ulp error on expected
21230         fractional results.  While not as nice from a QoI perspective, it
21231         is a quicker patch than correctly implementing decimal to binary
21232         rounding.
21233
21234 2008-03-31  Eric Blake  <ebb9@byu.net>
21235
21236         Guarantee a definition of NAN.
21237         * lib/math.in.h (NAN): Define if missing.
21238         * tests/test-math.c (main): Test it.
21239         * doc/posix-headers/math.texi (math.h): Document this.
21240         * lib/isnan.c (rpl_isnand): Use it.
21241         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
21242         * tests/test-floorf1.c (NaN): Likewise.
21243         * tests/test-frexp.c (NaN): Likewise.
21244         * tests/test-isnand.c (NaN): Likewise.
21245         * tests/test-isnanf.c (NaN): Likewise.
21246         * tests/test-round1.c (NaN): Likewise.
21247         * tests/test-roundf1.c (NaN): Likewise.
21248         * tests/test-snprintf-posix.h (NaN): Likewise.
21249         * tests/test-sprintf-posix.h (NaN): Likewise.
21250         * tests/test-trunc1.c (NaN): Likewise.
21251         * tests/test-truncf1.c (NaN): Likewise.
21252         * tests/test-vasnprintf-posix.c (NaN): Likewise.
21253         * tests/test-vasprintf-posix.c (NaN): Likewise.
21254         * modules/isnand-nolibm (Depends-on): Add math.
21255         * modules/isnanf-nolibm (Depends-on): Likewise.
21256         * modules/isnanl (Depends-on): Likewise.
21257         * modules/isnanl-nolibm (Depends-on): Likewise.
21258         * modules/snprintf-posix-tests (Depends-on): Likewise.
21259         * modules/sprintf-posix-tests (Depends-on): Likewise.
21260         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
21261         * modules/vsprintf-posix-tests (Depends-on): Likewise.
21262         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
21263         * modules/vasprintf-posix-tests (Depends-on): Likewise.
21264
21265 2008-03-31  Bruno Haible  <bruno@clisp.org>
21266
21267         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
21268         * doc/posix-functions/strtod.texi: Likewise.
21269
21270 2008-03-31  Bruno Haible  <bruno@clisp.org>
21271
21272         * tests/test-strtod.c (main): Don't use C99 syntax.
21273
21274 2008-03-31  Bruno Haible  <bruno@clisp.org>
21275
21276         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
21277         Reported by Eric Blake.
21278
21279 2008-03-31  Jim Meyering  <meyering@redhat.com>
21280
21281         Don't compare actual signbit return values.
21282         * tests/test-strtod.c (main): Rather, compare only their
21283         zero/non-zero nature.
21284
21285 2008-03-31  Eric Blake  <ebb9@byu.net>
21286
21287         More strtod documentation.
21288         * doc/posix-functions/strtod.texi (strtod): Interpret more test
21289         failures as distinct bugs.
21290
21291 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
21292
21293         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
21294         Problem reported by Erik Benada in
21295         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
21296
21297 2008-03-30  Bruno Haible  <bruno@clisp.org>
21298
21299         * tests/test-strtod.c: Add comments about which assertion fails on which
21300         platform.
21301         * doc/posix-functions/strtod.texi: Add info about many more platforms.
21302
21303 2008-03-30  Eric Blake  <ebb9@byu.net>
21304
21305         Test signbit behavior on zeros.
21306         * tests/test-signbit.c (test_signbitf): Add tests for zero.
21307         (test_signbitd, test_signbitl): Likewise.
21308
21309         More strtod touchups.
21310         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
21311         sign of negative underflow, for now.  Use .5, not .1.
21312         * doc/posix-functions/strtod.texi (strtod): Mention these
21313         limitations.
21314         Reported by Jim Meyering.
21315
21316 2008-03-30  Bruno Haible  <bruno@clisp.org>
21317
21318         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
21319         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
21320
21321 2008-03-30  Bruno Haible  <bruno@clisp.org>
21322
21323         Avoid failure when attempting to return empty iconv results on some
21324         platforms.
21325         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
21326         allocation, don't report ENOMEM when the resulting string is empty.
21327
21328 2008-03-30  Bruno Haible  <bruno@clisp.org>
21329
21330         Fix buffer overrun.
21331         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
21332         Don't consider the width for tmp_length. Check count against tmp_length
21333         before doing the padding. Ensure enough allocation during padding.
21334
21335 2008-03-30  Eric Blake  <ebb9@byu.net>
21336
21337         strtod touchups.
21338         * lib/strtod.c (strtod): Avoid compiler warnings.
21339         Reported by Jim Meyering.
21340
21341 2008-03-30  Bruno Haible  <bruno@clisp.org>
21342
21343         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
21344         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
21345         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
21346         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
21347         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
21348         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
21349         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
21350         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
21351
21352         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
21353         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
21354         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
21355         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
21356         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
21357         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
21358         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
21359         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
21360
21361         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
21362         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
21363         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
21364         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
21365         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
21366         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
21367         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
21368         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
21369
21370         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
21371         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
21372
21373         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
21374         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
21375
21376         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
21377         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
21378
21379         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
21380         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
21381         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
21382
21383         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
21384         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
21385         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
21386
21387         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
21388         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
21389         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
21390
21391         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
21392         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
21393         * modules/vasprintf (Depends-on): Add EOVERFLOW.
21394
21395         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
21396         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
21397         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
21398         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
21399         (Depends-on): Add EOVERFLOW.
21400         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
21401         (Depends-on): Add EOVERFLOW.
21402         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
21403         (Depends-on): Add EOVERFLOW.
21404         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
21405         (Depends-on): Add EOVERFLOW.
21406         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
21407         (Depends-on): Add EOVERFLOW.
21408         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
21409         (Depends-on): Add EOVERFLOW.
21410         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
21411         (Depends-on): Add EOVERFLOW.
21412         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
21413         (Depends-on): Add EOVERFLOW.
21414
21415         * lib/sprintf.c (EOVERFLOW): Remove fallback.
21416         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
21417         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
21418
21419         * lib/snprintf.c (EOVERFLOW): Remove fallback.
21420         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
21421         * modules/snprintf (Depends-on): Add EOVERFLOW.
21422
21423         * lib/poll.c (EOVERFLOW): Remove fallback.
21424         * modules/poll (Depends-on): Add EOVERFLOW.
21425
21426         * lib/getugroups.c (EOVERFLOW): Remove fallback.
21427         * modules/getugroups (Depends-on): Add EOVERFLOW.
21428
21429         * lib/getdelim.c (EOVERFLOW): Remove fallback.
21430         * modules/getdelim (Depends-on): Add EOVERFLOW.
21431
21432         * lib/ftell.c (EOVERFLOW): Remove fallback.
21433         * modules/ftell (Depends-on): Add EOVERFLOW.
21434
21435         * lib/fprintf.c (EOVERFLOW): Remove fallback.
21436         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
21437         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
21438
21439         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
21440
21441         * modules/EOVERFLOW-tests: New file.
21442         * tests/test-EOVERFLOW.c: New file.
21443
21444         * modules/EOVERFLOW: New file.
21445         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
21446
21447 2008-03-30  Bruno Haible  <bruno@clisp.org>
21448
21449         Fix bug introduced on 2007-06-10.
21450         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
21451         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
21452
21453 2008-03-30  Bruno Haible  <bruno@clisp.org>
21454
21455         Improve freadseek's efficiency after ungetc.
21456         * lib/freadseek.c: Include freadahead.h.
21457         (freadptrinc): New function, extracted from freadseek.
21458         (freadseek): Use it in a loop. Use freadahead to determine the number
21459         of loop iterations.
21460         * modules/freadseek (Depends-on): Add freadahead.
21461         (configure.ac): Require AC_C_INLINE.
21462
21463 2008-03-30  Bruno Haible  <bruno@clisp.org>
21464
21465         * lib/freadseek.c (freadseek): Don't ignore the return value of
21466         freadptr.
21467
21468 2008-03-29  Eric Blake  <ebb9@byu.net>
21469
21470         Add hex float support.
21471         * modules/strtod (Depends-on): Add c-ctype.
21472         (Link): Mention POW_LIB.
21473         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
21474         whitespace between 'e' and exponent.
21475         * tests/test-strtod.c (main): Enable hex float tests.
21476         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
21477         now provides.
21478
21479         Document various strtod bugs, with some fixes.
21480         * doc/posix-functions/strtod.texi (strtod): Document bugs with
21481         "-0x", "inf", "nan", and hex constants.
21482         * doc/posix-functions/atof.texi (atof): Likewise.
21483         * modules/stdlib (Makefile.am): Support strtod.
21484         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
21485         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
21486         detect additional strtod bugs.
21487         * lib/stdlib.in.h (rpl_strtod): Add declarations.
21488         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
21489         bool where appropriate.  Parse 'inf' and 'nan'.
21490         * tests/test-strtod.c: New file.
21491         * modules/strtod (Depends-on): Add stdbool, stdlib.
21492         (configure.ac): Turn on module indicator.
21493         * modules/strtod-tests: New module.
21494
21495 2008-03-29  Eric Blake  <ebb9@byu.net>
21496
21497         Fix ftell on mingw.
21498         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
21499         * modules/ftell-tests (Depends-on): Add binary-io.
21500         * modules/ftello-tests (Depends-on): Likewise.
21501         * tests/test-ftell.c (main): Enhance test to cover behavior after
21502         ungetc.  Enforce binary mode.
21503         * tests/test-ftello.c (main): Likewise.
21504
21505         Pass test-freadseek on cygwin.
21506         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
21507         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
21508         ungetc buffer.
21509
21510         * tests/test-fflush2.c (main): Fix typo.
21511
21512 2008-03-29  Bruno Haible  <bruno@clisp.org>
21513
21514         * tests/test-fflush2.c (main): Temporarily disable the contents of
21515         this test.
21516         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
21517         Reported by Eric Blake.
21518
21519 2008-03-28  Simon Josefsson  <simon@josefsson.org>
21520
21521         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
21522         (GC_SHA224_DIGEST_SIZE): Add.
21523
21524         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
21525         (gc_hash_digest_length): Likewise.
21526         (gc_hash_buffer): Likewise.
21527
21528 2008-03-25  Bruno Haible  <bruno@clisp.org>
21529
21530         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
21531         detail which gettext release to use.
21532         Reported by Simon Josefsson.
21533
21534 2008-03-26  Jim Meyering  <meyering@redhat.com>
21535
21536         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
21537         * modules/gnumakefile (clean-GNUmakefile): Also, use
21538         test ... && ... || : syntax rather than if-then ... fi.
21539
21540         gnumakefile: Don't double-quote-expand $(VPATH) value.
21541         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
21542
21543 2008-03-24  Eric Blake  <ebb9@byu.net>
21544
21545         Alter GNUmakefile to install into top directory.
21546         * modules/maintainer-makefile: Split, and add dependency...
21547         * modules/gnumakefile: to this new module.
21548         * build-aux/GNUmakefile: Move...
21549         * top/GNUmakefile: ...here.
21550         * build-aux/maint.mk: Move...
21551         * top/maint.mk: ...here.
21552         * MODULES.html.sh (Support for maintaining...): Document new
21553         module.
21554
21555 2008-03-23  Bruno Haible  <bruno@clisp.org>
21556
21557         * gnulib-tool: New options --vc-files, --no-vc-files.
21558         (func_usage): Document them.
21559         (vc_files): New variable.
21560         (func_import): Consider vc_files.
21561         (func_create_testdir): Set vc_files to empty.
21562         Suggested by Jim Meyering and Karl Berry.
21563
21564 2008-03-23  Bruno Haible  <bruno@clisp.org>
21565
21566         Fix regex compilation error on HP-UX 11.
21567         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
21568         * modules/regex (Files): Add m4/mbstate_t.m4.
21569         Reported by Ton Voon <ton.voon@altinity.com>.
21570
21571 2008-03-23  Bruno Haible  <bruno@clisp.org>
21572
21573         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
21574
21575 2008-03-23  Eric Blake  <ebb9@byu.net>
21576             Bruno Haible  <bruno@clisp.org>
21577
21578         Install files from top/ in the destination directory.
21579         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
21580         augmentation also for the files from top/.
21581         (func_import, func_create_testdir): Rewrite file names:
21582         top/filename -> filename.
21583
21584 2008-03-23  Bruno Haible  <bruno@clisp.org>
21585
21586         Tweak "gnulib --version" output.
21587         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
21588
21589 2008-03-23  Bruno Haible  <bruno@clisp.org>
21590
21591         Tweak "gnulib --version" output.
21592         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
21593         rather than contents of ChangeLog, when possible.
21594
21595 2008-03-21  Eric Blake  <ebb9@byu.net>
21596
21597         More --version tweaks.
21598         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
21599         date of last ChangeLog entry.
21600
21601 2008-03-21  Jim Meyering  <meyering@redhat.com>
21602
21603         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
21604
21605 2008-03-20  Eric Blake  <ebb9@byu.net>
21606
21607         VPATH fix.
21608         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
21609
21610 2008-03-20  Simon Josefsson  <simon@josefsson.org>
21611
21612         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
21613         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
21614
21615 2008-03-20  Eric Blake  <ebb9@byu.net>
21616
21617         Sync GNUmakefile with coreutils.
21618         * build-aux/GNUmakefile (have-Makefile): Rename...
21619         (_have-Makefile): ...to this, for namespace consideration.
21620         (GNUmakefile.cfg): Include, if present.
21621         (_autoreconf): Define a default.
21622         (_is-dist-target): New rule for rebuilds to pick up intra-release
21623         version.
21624         (maint-cfg.mk): Rename...
21625         (cfg.mk): ...to this.
21626
21627 2008-03-18  Jim Meyering  <meyering@redhat.com>
21628
21629         New script and module: mktempd
21630         * MODULES.html.sh (maint+release support): Add mktempd.
21631         * build-aux/mktempd: New file.
21632         * modules/mktempd: New file.
21633
21634 2008-03-15  Jim Meyering  <meyering@redhat.com>
21635
21636         Undo last change.
21637         * lib/sha1.c, lib/md5.c: 63 != ~63.
21638         Reported by Andreas Schwab.
21639
21640         sha1.c, md5.c: Hoist a redundant expression.
21641         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
21642         "ctx->buflen" only once, before calling *_process_block.
21643         * lib/md5.c (md5_process_bytes): Likewise.
21644
21645 2008-03-14  Eric Blake  <ebb9@byu.net>
21646
21647         Bump copyright year in files generated by gnulib-tool.
21648         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
21649         gnulib-tool, rather than hard-coding it.
21650
21651         Fix 'gnulib-tool --version' output to work with git.
21652         * gnulib-tool (func_gnulib_dir): New function, extracted from...
21653         (startup): ...here.
21654         (func_version): Use it to invoke git-version-gen, rather than
21655         relying on CVS keyword expansion.  Modernize wording.
21656         (cvsdatestamp, last_checkin_date, version): Kill unused
21657         variables.
21658
21659 2008-03-12  Jim Meyering  <meyering@redhat.com>
21660
21661         Recognize optional cast of the argument to free.
21662         * build-aux/useless-if-before-free: Update regexps.
21663
21664         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
21665
21666 2008-03-11  Bruno Haible  <bruno@clisp.org>
21667
21668         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
21669         by a single package.
21670         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
21671         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
21672         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
21673         Reported by Sam Steingold <sds@gnu.org>.
21674
21675 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
21676
21677         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
21678         repositories.
21679
21680 2008-03-11  Bruno Haible  <bruno@clisp.org>
21681
21682         Avoid conflicts between local macro definitions.
21683         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
21684         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
21685
21686 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
21687             Bruno Haible  <bruno@clisp.org>
21688
21689         Make va_copy work with some version of xlc on AIX 5.1.
21690         * lib/stdarg.in.h: New file.
21691         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
21692         On AIX, use a <stdarg.h> file substitute.
21693         * modules/stdarg (Files): Add lib/stdarg.in.h.
21694         (Depends-on): Add include_next.
21695         (Makefile.am): Build a stdarg.h substitute if requested.
21696         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
21697
21698 2008-03-10  Bruno Haible  <bruno@clisp.org>
21699
21700         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
21701         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
21702         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
21703
21704 2008-03-10  Bruno Haible  <bruno@clisp.org>
21705
21706         * modules/stdlib (Depends-on): Add include_next, remove
21707         absolute-header.
21708
21709 2008-03-09  Bruno Haible  <bruno@clisp.org>
21710
21711         * lib/freadahead.h (freadahead): Document more precisely.
21712         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
21713         the sum of both buffer sizes.
21714         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
21715         * NEWS: Document the change.
21716
21717 2008-03-09  Bruno Haible  <bruno@clisp.org>
21718
21719         Extend freadptr to return also the buffer size.
21720         * lib/freadptr.h (freadptr): Add sizep argument.
21721         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
21722         (freadptr): Add sizep argument. Determine buffer size like freadahead
21723         does.
21724         * tests/test-freadptr.c: Don't include freadahead.h.
21725         (main): Adapt for new calling convention of freadptr.
21726         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
21727         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
21728         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
21729         tests/test-freadptr2.sh.
21730         (Depends): Remove freadahead.
21731         (TESTS): Add test-freadptr2.sh.
21732         (check_PROGRAMS): Add test-freadptr2.
21733
21734 2008-03-09  Bruno Haible  <bruno@clisp.org>
21735
21736         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
21737         Report and solution by Simon Josefsson.
21738
21739 2008-03-06  Bruno Haible  <bruno@clisp.org>
21740
21741         Make fflush after ungetc work on BSD platforms.
21742         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
21743         * tests/test-fflush2.c: New file.
21744         * tests/test-fflush2.sh: New file.
21745         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
21746         tests/test-fflush2.c.
21747         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
21748         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
21749
21750 2008-03-06  Eric Blake  <ebb9@byu.net>
21751
21752         Likewise for ftello.
21753         * modules/ftello (Dependencies): Add extensions.
21754         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
21755
21756 2008-03-06  Bruno Haible  <bruno@clisp.org>
21757
21758         * modules/fseeko (Dependencies): Add extensions.
21759         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
21760         Needed on glibc systems.
21761
21762 2008-03-06  Bruno Haible  <bruno@clisp.org>
21763
21764         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
21765         email address.
21766         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
21767
21768 2008-03-06  Bruno Haible  <bruno@clisp.org>
21769
21770         * users.txt: Add libgnupdf.
21771
21772 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
21773
21774         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
21775         (Header File Substitutes, Function Substitutes,
21776         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
21777         (Build robot for gnulib): Fix typo.
21778
21779 2008-03-06  Bruno Haible  <bruno@clisp.org>
21780
21781         * doc/gnulib-tool.texi (VCS Issues): Small updates.
21782         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
21783
21784 2008-03-06  Bruno Haible  <bruno@clisp.org>
21785
21786         * doc/func.texi: New file, extracted from doc/gnulib.texi.
21787         * doc/gnulib.texi: Include it.
21788
21789 2008-03-06  Simon Josefsson  <simon@josefsson.org>
21790
21791         * modules/func (License): Change license to unlimited; there was
21792         no LGPL parts in the module anyway.
21793
21794 2008-03-06  Simon Josefsson  <simon@josefsson.org>
21795
21796         * modules/__func__: Renamed to modules/func.
21797         * modules/__func__-tests: Renamed to modules/func-tests.
21798         * tests/test-__func__.c: Renamed to tests/test-func.c.
21799         * m4/__func__.m4: Renamed to m4/func.m4.
21800         * doc/gnulib.texi (__func__): Section renamed to func.
21801         Suggested by Eric Blake <ebb9@byu.net>.
21802
21803 2008-03-06  Simon Josefsson  <simon@josefsson.org>
21804
21805         * doc/gnulib.texi (__func__): Use C99 terminology when talking
21806         about __func__.  Make example self-contained.  Suggested by Eric
21807         Blake <ebb9@byu.net>.
21808
21809         * tests/test-__func__.c (main): Avoid extraneous () around __func.
21810         Suggested by Eric Blake <ebb9@byu.net>.
21811
21812 2008-03-06  Simon Josefsson  <simon@josefsson.org>
21813
21814         * modules/__func__: New file.
21815         * modules/__func__-tests: New file.
21816         * tests/test-__func__.c: New file.
21817         * m4/__func__.m4: New file.
21818         * doc/gnulib.texi (__func__): Document __func__ module.
21819
21820 2008-03-05  Simon Josefsson  <simon@josefsson.org>
21821
21822         * modules/byteswap (License): Re-license as LGPLv2+.
21823
21824 2008-03-05  Simon Josefsson  <simon@josefsson.org>
21825
21826         * doc/Makefile: Add pdf target.
21827
21828 2008-03-05  Simon Josefsson  <simon@josefsson.org>
21829
21830         * modules/inline (License): Use 'unlimited', since there are only
21831         *.m4 files in this module.
21832
21833 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
21834             Bruno Haible  <bruno@clisp.org>
21835
21836         Add support for HP C 7.1 on OpenVMS 8.3.
21837         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
21838
21839 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
21840
21841         Update VMS specifics.
21842         * lib/getopt.c [VMS]: Remove include of unixlib.h.
21843
21844 2008-03-02  Jim Meyering  <meyering@redhat.com>
21845
21846         Remove the last dependency on the "free" module.
21847         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
21848         Reported by Bob Proulx.
21849
21850         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
21851
21852         Remove useless "if" tests before free.  Deprecate "free" module.
21853         * doc/posix-functions/free.texi: Mention that this
21854         module is no longer useful.
21855         * modules/free (Notice): Say this module is obsolete.
21856         * modules/readutmp (Depends-on): Remove free.
21857         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
21858         * lib/putenv.c (putenv): Likewise.
21859         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
21860         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
21861         * tests/test-c-strcasestr.c (main): Likewise.
21862         * tests/test-c-strstr.c (main): Likewise.
21863         * tests/test-mbscasestr1.c (main): Likewise.
21864         * tests/test-mbscasestr2.c (main): Likewise.
21865         * tests/test-mbsstr1.c (main): Likewise.
21866         * tests/test-mbsstr2.c (main): Likewise.
21867         * tests/test-memmem.c (main): Likewise.
21868         * tests/test-strcasestr.c (main): Likewise.
21869         * tests/test-striconv.c (main): Likewise.
21870         * tests/test-striconveh.c (main): Likewise.
21871         * tests/test-striconveha.c (main): Likewise.
21872         * tests/test-strstr.c (main): Likewise.
21873
21874         * build-aux/git-version-gen: Adjust a comment and the Usage string.
21875
21876         bootstrap: sync from coreutils again
21877         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
21878
21879 2008-03-01  Jim Meyering  <meyering@redhat.com>
21880
21881         bootstrap: sync from coreutils
21882         * build-aux/bootstrap (update_po_files): Copy a .po file into place
21883         also when the target doesn't exist.
21884
21885 2008-03-01  Eric Blake  <ebb9@byu.net>
21886
21887         Fix bugs in last patch.
21888         * lib/memchr2.c (memchr2): Fix typo.
21889         * tests/test-memchr2.c: Test previous bug, and don't use GNU
21890         extension.
21891         Reported by Bruce Korb.
21892
21893         New module 'memchr2'.
21894         * modules/memchr2: New file.
21895         * modules/memchr2-tests: Likewise.
21896         * lib/memchr2.h: Likewise.
21897         * lib/memchr2.c: Likewise, based on memchr.c.
21898         * tests/test-memchr2.c: New test.
21899         * MODULES.html.sh (String handling): Add memchr2.
21900
21901 2008-02-29  Bruno Haible  <bruno@clisp.org>
21902
21903         * modules/freadseek-tests: New file.
21904         * tests/test-freadseek.sh: New file.
21905         * tests/test-freadseek.c: New file.
21906
21907         New module 'freadseek'.
21908         * modules/freadseek: New file.
21909         * lib/freadseek.h: New file.
21910         * lib/freadseek.c: New file.
21911         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
21912
21913 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
21914
21915         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
21916         wydawca.
21917
21918         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
21919         program_invocation_name and program_invocation_short_name are
21920         present.
21921
21922 2008-02-28  Bruno Haible  <bruno@clisp.org>
21923
21924         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
21925         * tests/test-freadptr.sh: Also test non-seekable stdin.
21926
21927 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
21928
21929         * build-aux/bootstrap (source_base, m4_base)
21930         (doc_base, tests_base): New variables.
21931         (gnulib_tool_options): Do not hardcode base directories, use
21932         the above variables instead.
21933
21934 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
21935
21936         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
21937
21938 2008-02-28  Bruno Haible  <bruno@clisp.org>
21939
21940         * modules/freadptr-tests: New file.
21941         * tests/test-freadptr.sh: New file.
21942         * tests/test-freadptr.c: New file.
21943
21944         New module 'freadptr'.
21945         * modules/freadptr: New file.
21946         * lib/freadptr.h: New file.
21947         * lib/freadptr.c: New file.
21948         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
21949
21950 2008-02-26  Karl Berry  <karl@freefriends.org>
21951
21952         Sync from Libtool:
21953         * libltdl/argz.c (argz_add, argz_count): New functions.
21954         * libltdl/argz.in.h: Declare them.
21955         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
21956
21957 2008-02-22  Bruno Haible  <bruno@clisp.org>
21958
21959         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
21960         is a pointer type.  Needed for HP-UX 10.
21961         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
21962         * doc/posix-functions/gmtime_r.texi: Likewise.
21963         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
21964
21965 2008-02-24  Bruno Haible  <bruno@clisp.org>
21966
21967         * modules/environ-tests: New file.
21968         * tests/test-environ.c: New file.
21969
21970         New module 'environ'.
21971         * modules/environ: New file.
21972         * lib/unistd.in.h (environ): New declaration.
21973         * m4/environ.m4: New file.
21974         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
21975         after use.
21976         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
21977         HAVE_DECL_ENVIRON.
21978         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
21979         HAVE_DECL_ENVIRON.
21980         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
21981         wrong claim that 'environ' is missing on some systems.
21982         * modules/execute (Depends-on): Add environ.
21983         * lib/execute.c (environ): Remove fallback declaration.
21984         * modules/pipe (Depends-on): Add environ.
21985         * lib/pipe.c (environ): Remove fallback declaration.
21986         * modules/setenv (Depends-on): Add environ.
21987         * lib/setenv.c (environ): Remove fallback declaration.
21988         * modules/unsetenv (Depends-on): Add environ.
21989         * lib/unsetenv.c (environ): Remove fallback declaration.
21990         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
21991         m4/environ.m4.
21992         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
21993         (gl_PREREQ_UNSETENV): Likewise.
21994
21995 2008-02-24  Bruno Haible  <bruno@clisp.org>
21996
21997         * doc/posix-functions/environ.texi: Document the MacOS X problem.
21998
21999 2008-02-20  Bob Proulx  <bob@proulx.com>
22000
22001         Enable use of older two part flavor 'git describe'.
22002         * build-aux/git-version-gen: If using the older two part flavor of
22003         git version then recreate the third part now present in the
22004         newer three part flavor of git describe.
22005
22006 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
22007
22008         * lib/fts.c (fts_build): Typo correction to comment.
22009
22010 2008-02-17  Bruno Haible  <bruno@clisp.org>
22011
22012         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
22013         generating no-op conflicts.
22014
22015 2008-02-17  Bruno Haible  <bruno@clisp.org>
22016
22017         Speed up by 10%.
22018         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
22019         result_entries, rather than an index-based loop.
22020
22021 2008-02-17  Bruno Haible  <bruno@clisp.org>
22022
22023         Speed up by 25%.
22024         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
22025         'hashcode_cached'.
22026         (entry_create): New function.
22027         (entry_hashcode): Use the cached hashcode if possible.
22028         (read_changelog_file, try_split_merged_entry): Use entry_create.
22029
22030 2008-02-17  Bruno Haible  <bruno@clisp.org>
22031
22032         Speed up from O(n^2) to O(n) for long ChangeLog files.
22033         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
22034         (read_changelog_file): Change implementation of entries_reversed list
22035         to rbtreehash.
22036         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
22037
22038 2008-02-17  Bruno Haible  <bruno@clisp.org>
22039
22040         New option --split-merged-entry.
22041         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
22042         (find_paragraph_end, try_split_merged_entry): New functions.
22043         (long_options): Add option --split-merged-entry.
22044         (usage): Document option --split-merged-entry.
22045         (main): Implement option --split-merged-entry.
22046         Reported by Eric Blake.
22047
22048 2008-02-17  Bruno Haible  <bruno@clisp.org>
22049
22050         * lib/git-merge-changelog.c: Include c-strstr.h.
22051         (main): Support the "git pull --rebase" situation.
22052         * modules/git-merge-changelog (Depends-on): Add c-strstr.
22053         Reported by Eric Blake.
22054
22055 2008-02-16  Eric Blake  <ebb9@byu.net>
22056
22057         Avoid doubling \ in common case of "c-maybe" quoting style.
22058         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
22059         eliding outer quotes.
22060         * lib/quotearg.h: Document this.
22061         * tests/test-quotearg.c (result_strings, inputs, results_g)
22062         (flag_results, locale_results): Test it by adding a new string to
22063         each test group.
22064         (compare_strings): Test new string.
22065
22066 2008-02-13  Eric Blake  <ebb9@byu.net>
22067
22068         Avoid trigraph quoting in default output.
22069         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
22070         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
22071         unless explicitly requested.
22072         * tests/test-quotearg.c (flag_results, main): Add additional tests.
22073
22074 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
22075
22076         Don't rely on signed integer overflowing to negative value.
22077         * lib/getugroups.c (getugroups): Include <limits.h>.
22078         Instead, compare against INT_MAX, and increment only if the test passes.
22079
22080 2008-02-13  Jim Meyering  <meyering@redhat.com>
22081         and Eric Blake  <ebb9@byu.net>
22082
22083         Avoid shadowing warning and compile errors on Linux.
22084         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
22085         forwarding macros on Linux.
22086         (dcgettext): Define a stub, for Linux.
22087         (results_g, main): Avoid warnings.
22088
22089 2008-02-12  Eric Blake  <ebb9@byu.net>
22090
22091         Silence warning in last patch.
22092         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
22093
22094         Quotearg part 4: add tests, fix c-maybe colon quoting.
22095         * lib/quotearg.h: Improve documentation.
22096         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
22097         escapes when adding outer quotes.  When quoting trigraphs, use
22098         valid C notation.  When quoting NUL, omit extra characters if next
22099         character is not digit.  Alter prototype.
22100         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
22101         callers.
22102         * modules/quotearg-tests: New module.
22103         * tests/test-quotearg.c: New test.
22104
22105 2008-02-07  Eric Blake  <ebb9@byu.net>
22106
22107         Quotearg part 3: add flag to control outer quote elision.
22108         * lib/quotearg.h (c_maybe_quoting_style): New style.
22109         (enum quoting_flags): Better documentation of flags.
22110         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
22111         c-maybe style.
22112         (quotearg_buffer_restyled): Handle new flag to elide outer
22113         quotes.
22114
22115         Quotearg part 2: add flag that can control NUL elision.
22116         * lib/quotearg.h (set_quoting_flags): New prototype.
22117         * lib/quotearg.c (struct quoting_options): Add flag field.
22118         (set_quoting_flags): New function.
22119         (quotearg_buffer_restyled): Add flags parameter.
22120         (quotearg_alloc_mem): Set the flag if length cannot be returned.
22121         (quotearg_n_options): Set the flag, since length cannot be
22122         returned.
22123         (quoting_options_from_style): Default flags correctly.
22124
22125         Quotearg part 1: more wrappers, restore quotearg_char state.
22126         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
22127         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
22128         (quotearg_colon_mem): New wrappers.
22129         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
22130         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
22131         functions.
22132         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
22133         (quotearg_colon_mem): New functions.
22134
22135 2008-02-11  Bruno Haible  <bruno@clisp.org>
22136
22137         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
22138         library in the current directory: it does not work with parallel make.
22139         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
22140
22141 2008-02-11  Bruno Haible  <bruno@clisp.org>
22142
22143         * .gitattributes: New file.
22144
22145 2008-02-11  Jim Meyering  <meyering@redhat.com>
22146
22147         useless-if-before-free: Fix reversed exit values.
22148         * build-aux/useless-if-before-free: Use correct values
22149         for EXIT_MATCH and EXIT_NO_MATCH.
22150
22151         * build-aux/useless-if-before-free: Close stdout carefully.
22152
22153 2008-02-10  Bruno Haible  <bruno@clisp.org>
22154
22155         New module 'git-merge-changelog'.
22156         * modules/git-merge-changelog: New file.
22157         * lib/git-merge-changelog.c: New file.
22158
22159 2008-02-10  Jim Meyering  <meyering@redhat.com>
22160
22161         useless-if-before-free: New option: --list (-l).
22162
22163         useless-if-before-free: Don't exit immediately upon open failure.
22164         * build-aux/useless-if-before-free: Exit 2 for errors.
22165         Upon failure to open a file, don't exit immediately.
22166         Rather, just warn and continue with any remaining files.
22167
22168 2008-02-10  Bruno Haible  <bruno@clisp.org>
22169
22170         New abstract list operation 'node_set_value'.
22171         * lib/gl_list.h (gl_list_node_set_value): New function.
22172         (struct gl_list_implementation): New field node_set_value.
22173         * lib/gl_list.c (gl_list_node_set_value): New function.
22174         * lib/gl_array_list.c (gl_array_node_set_value): New function.
22175         (gl_array_list_implementation): Update.
22176         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
22177         (gl_carray_list_implementation): Update.
22178         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
22179         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
22180         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
22181         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
22182         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
22183         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
22184         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
22185         Update.
22186         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
22187         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
22188         (gl_sublist_list_implementation): Update.
22189
22190 2008-02-10  Bruno Haible  <bruno@clisp.org>
22191
22192         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
22193         Needed when ELEMENT is #defined to 'some_type *'.
22194
22195 2008-02-10  Jim Meyering  <meyering@redhat.com>
22196
22197         New script and module: useless-if-before-free
22198         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
22199         * build-aux/useless-if-before-free: New file.
22200         * modules/useless-if-before-free: New file.
22201
22202         * build-aux/gitlog-to-changelog: Use committer date, not author date.
22203
22204         xstrtol_error: Fix typo.
22205         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
22206         s/exit_failure/exit_status/.
22207
22208 2008-02-09  Jim Meyering  <meyering@redhat.com>
22209
22210         New script and module: gitlog-to-changelog
22211         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
22212         * modules/gitlog-to-changelog: New file.
22213         * build-aux/gitlog-to-changelog: New file.
22214
22215 2008-02-08  Jim Meyering  <meyering@redhat.com>
22216
22217         Avoid two "parameter unused" warnings.
22218         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
22219         Mark "st" as used.
22220
22221         Use "git COMMAND", not "git-COMMAND".
22222         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
22223         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
22224         * build-aux/git-version-gen: Use "git status", not "git-status".
22225
22226 2008-02-07  Bruno Haible  <bruno@clisp.org>
22227
22228         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
22229         Avoids a crash on Windows Vista.
22230         Reported by Adam Strzelecki <ono@java.pl> via
22231         Simon Josefsson <simon@josefsson.org>.
22232
22233 2008-02-06  Bruno Haible  <bruno@clisp.org>
22234
22235         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
22236         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
22237         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
22238         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
22239         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
22240         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
22241         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
22242         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
22243         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
22244         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
22245         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
22246         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
22247         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
22248         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
22249         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
22250         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
22251         left-adjust flag.
22252         * tests/test-snprintf-posix.h (test_function): Likewise.
22253         * tests/test-sprintf-posix.h (test_function): Likewise.
22254         * tests/test-vasprintf-posix.c (test_function): Likewise.
22255         * doc/posix-functions/fprintf.texi: Update.
22256         * doc/posix-functions/printf.texi: Update.
22257         * doc/posix-functions/snprintf.texi: Update.
22258         * doc/posix-functions/sprintf.texi: Update.
22259         * doc/posix-functions/vfprintf.texi: Update.
22260         * doc/posix-functions/vprintf.texi: Update.
22261         * doc/posix-functions/vsnprintf.texi: Update.
22262         * doc/posix-functions/vsprintf.texi: Update.
22263         Reported by Peter Fales <psfales@alcatel-lucent.com>.
22264
22265 2008-02-06  Bruno Haible  <bruno@clisp.org>
22266
22267         Fix bug introduced on 2008-01-26.
22268         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
22269
22270 2008-02-06  Bruno Haible  <bruno@clisp.org>
22271
22272         Fix bug introduced on 2007-06-10.
22273         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
22274         !NEED_PRINTF_FLAG_ZERO.
22275
22276 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
22277
22278         getloadavg: use libperfstat on AIX5
22279         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
22280
22281 2008-02-03  Bruno Haible  <bruno@clisp.org>
22282
22283         * lib/diffseq.h: Add comments about required #includes.
22284         Reported by Michael Biggs <gnulib@doubleplum.net>.
22285
22286 2008-02-01  Bruno Haible  <bruno@clisp.org>
22287
22288         * users.txt: Add gnuit.
22289
22290 2008-01-31  Bruno Haible  <bruno@clisp.org>
22291
22292         * lib/md4.c (set_uint32): Mark as inline.
22293         * lib/md5.c (set_uint32): Likewise.
22294         * lib/sha1.c (set_uint32): Likewise.
22295         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
22296         * m4/md5.m4 (gl_MD5): Likewise.
22297         * m4/sha1.m4 (gl_SHA1): Likewise.
22298
22299 2008-01-31  Jim Meyering  <meyering@redhat.com>
22300
22301         Use "sizeof VAR", rather than a literal "4".
22302         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
22303         * lib/md4.c (md4_read_ctx): Likewise.
22304         * lib/sha1.c (sha1_read_ctx): Likewise.
22305
22306 2008-01-31  Simon Josefsson  <simon@josefsson.org>
22307
22308         * tests/test-sha1.c: New file, based on test-md5.c.
22309
22310         * modules/crypto/sha1-tests: New file.
22311
22312 2008-01-31  Simon Josefsson  <simon@josefsson.org>
22313
22314         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
22315
22316 2008-01-31  Jim Meyering  <meyering@redhat.com>
22317
22318         Prefer "sizeof v" over the equivalent "4".
22319         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
22320         * lib/md5.c (set_uint32): Likewise.
22321         * lib/sha1.c (set_uint32): Likewise.
22322
22323 2008-01-31  Simon Josefsson  <simon@josefsson.org>
22324
22325         * lib/sha1.c (set_uint32): Mark function as static.
22326
22327 2008-01-31  Simon Josefsson  <simon@josefsson.org>
22328
22329         md2: clarify comments to say that alignment is not required.
22330         * lib/md2.h: Remove warning about alignment in comment.
22331         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
22332         never been required.
22333
22334 2008-01-31  Simon Josefsson  <simon@josefsson.org>
22335
22336         md4: adapt alignment constraint fix from sha1.
22337         * lib/md4.c (set_uint32): New function, from sha1.c
22338         (md4_read_ctx): Use it.
22339         (md4_finish_ctx): Doc fix.
22340         * lib/md4.h: Doc fix.
22341
22342 2008-01-31  Simon Josefsson  <simon@josefsson.org>
22343
22344         md5: adapt alignment constraint fix from sha1.
22345         * lib/md5.c (set_uint32): New function, from sha1.c
22346         (md5_read_ctx): Use it.
22347         (md5_finish_ctx): Doc fix.
22348         * lib/md5.h: Doc fix.
22349
22350 2008-01-30  Peter Palfrader  <weasel@debian.org>
22351
22352         sha1: remove the result buffer alignment constraint
22353         * lib/sha1.c (set_uint32): New function.
22354         (sha1_read_ctx): Rewrite to remove the result buffer alignment
22355         constraint.
22356         (sha1_finish_ctx): Remove comment warning about alignment constraint.
22357         * lib/sha1.h: Likewise.
22358
22359 2008-01-30  Andreas Schwab  <schwab@suse.de>
22360             Bruno Haible  <bruno@clisp.org>
22361
22362         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
22363         correct definition of LDBL_MIN_EXP.
22364
22365 2008-01-30  Karl Berry  <karl@gnu.org>
22366
22367         * config/srclist-update: try to preserve x bit on updates.
22368         * config/srclistvars.sh: update for karl.
22369
22370 2008-01-29  Jim Meyering  <meyering@redhat.com>
22371
22372         vasnprintf.c: Avoid warning about unused label
22373         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
22374         "overflow" label definition and associated code with the
22375         same cpp condition that guards the sole use of that label.
22376
22377 2008-01-26  Bruno Haible  <bruno@clisp.org>
22378
22379         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
22380         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
22381         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
22382         * lib/isnanl-nolibm.h (isnanl): Likewise.
22383         Reported by Paul Eggert <eggert@cs.ucla.edu>.
22384
22385 2008-01-26  Bruno Haible  <bruno@clisp.org>
22386
22387         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
22388         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
22389
22390 2008-01-26  Bruno Haible  <bruno@clisp.org>
22391
22392         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
22393         GCC >= 4.0 built-in.
22394         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
22395
22396 2008-01-26  Bruno Haible  <bruno@clisp.org>
22397
22398         Rename isnan, applicable to 'double' only, to isnand.
22399         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
22400         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
22401         (configure.ac): Update.
22402         (Include): Replace "isnan.h" with "isnand.h".
22403         * m4/isnand.m4: Renamed from m4/isnan.m4.
22404         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
22405         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
22406         instead of isnan.c.
22407         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
22408         instead of HAVE_ISNAN_IN_LIBC.
22409         (isnand): Renamed from isnan.
22410         * lib/isnand.c: New file.
22411         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
22412         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
22413         (Makefile.am): Update.
22414         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
22415         Include isnand.h instead of isnan.h.
22416         (main): Test isnand instead of isnan.
22417         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
22418         isnan-nolibm.
22419         * modules/frexp (Depends-on): Likewise.
22420         * modules/frexp-tests (Depends-on): Likewise.
22421         * modules/frexp-nolibm (Depends-on): Likewise.
22422         * modules/frexp-nolibm-tests (Depends-on): Likewise.
22423         * modules/isfinite (Depends-on): Likewise.
22424         * modules/round-tests (Depends-on): Likewise.
22425         * modules/signbit (Depends-on): Likewise.
22426         * modules/signbit-tests (Depends-on): Likewise.
22427         * modules/snprintf-posix (Depends-on): Likewise.
22428         * modules/sprintf-posix (Depends-on): Likewise.
22429         * modules/trunc-tests (Depends-on): Likewise.
22430         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
22431         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
22432         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
22433         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
22434         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
22435         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
22436         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
22437         * modules/vasnprintf-posix (Depends-on): Likewise.
22438         * modules/vasprintf-posix (Depends-on): Likewise.
22439         * modules/vfprintf-posix (Depends-on): Likewise.
22440         * modules/vsnprintf-posix (Depends-on): Likewise.
22441         * modules/vsprintf-posix (Depends-on): Likewise.
22442         * lib/frexp.c: Include isnand.h instead of isnan.h.
22443         (ISNAN): Set to isnand instead of isnan.
22444         * lib/isfinite.c: Include isnand.h instead of isnan.h.
22445         (gl_isfinited): Use isnand instead of isnan.
22446         * lib/signbitd.c: Include isnand.h instead of isnan.h.
22447         (gl_signbitd): Use isnand instead of isnan.
22448         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
22449         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
22450         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
22451         (main): Use isnand instead of isnan.
22452         * tests/test-round1.c: Include isnand.h.
22453         (main): Use isnand instead of isnan.
22454         * tests/test-round2.c: Include isnand.h instead of isnan.h.
22455         (ISNAN): Set to isnand instead of isnan.
22456         * tests/test-trunc1.c: Include isnand.h.
22457         (main): Use isnand instead of isnan.
22458         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
22459         (equal): Use isnand instead of isnan.
22460         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
22461         isnand-nolibm.
22462         * NEWS: Mention the change.
22463
22464 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
22465             Bruno Haible  <bruno@clisp.org>
22466
22467         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
22468         the GCC builtins for signbits are present and set
22469         REPLACE_SIGNBIT_USING_GCC if so.
22470         * lib/math.in.h (signbit): Define using GCC builtins if
22471         REPLACE_SIGNBIT_USING_GCC is set.
22472         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
22473         REPLACE_SIGNBIT_USING_GCC.
22474         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
22475
22476 2008-01-25  Jim Meyering  <meyering@redhat.com>
22477
22478         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
22479         * lib/poll.c: Include <config.h>, not "config.h".
22480         * tests/test-getaddrinfo.c: Likewise.
22481
22482 2008-01-25  Simon Josefsson  <simon@josefsson.org>
22483
22484         * modules/sockets-tests: New file.
22485
22486 2008-01-24  Simon Josefsson  <simon@josefsson.org>
22487
22488         * modules/sockets: New module, can be used to call WSA_Startup and
22489         WSA_Cleanup when needed.
22490
22491         * lib/sockets.h, lib/sockets.c: New files.
22492
22493         * m4/sockets.m4: New file.
22494
22495         * tests/test-sockets.c: New file.
22496
22497 2008-01-19  Bruno Haible  <bruno@clisp.org>
22498
22499         * doc/posix-headers: Renamed from doc/headers.
22500         * doc/posix-functions: Renamed from doc/functions.
22501         * doc/gnulib.texi: Update.
22502
22503 2008-01-19  Bruno Haible  <bruno@clisp.org>
22504
22505         * doc/glibc-functions/strcasestr.texi: Include contents of
22506         doc/functions/strcasestr.texi, fixing the list of platforms.
22507         * doc/functions/strcasestr.texi: Remove file.
22508
22509 2008-01-19  Bruno Haible  <bruno@clisp.org>
22510
22511         * doc/glibc-functions/memmem.texi: Include contents of
22512         doc/functions/memmem.texi.
22513         * doc/functions/memmem.texi: Remove file.
22514
22515 2008-01-18  Bruno Haible  <bruno@clisp.org>
22516
22517         * doc/glibc-functions/*.texi: New files.
22518         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
22519         to use the new files.
22520
22521 2008-01-17  Bruno Haible  <bruno@clisp.org>
22522
22523         * tests/test-gethostname.c (main): Fix printf statement.
22524
22525 2008-01-17  Simon Josefsson  <simon@josefsson.org>
22526
22527         * modules/gethostname-tests: New file.
22528
22529         * tests/test-gethostname.c: New file.
22530
22531 2008-01-17  Simon Josefsson  <simon@josefsson.org>
22532
22533         * lib/gethostname.c: Include string.h unconditionally, strncpy is
22534         used by the UNAME case.  Reported by Bruno Haible
22535         <bruno@clisp.org>.
22536
22537 2008-01-17  Eric Blake  <ebb9@byu.net>
22538
22539         Convert c-strcasestr to be more efficient.
22540         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
22541         (Depends-on): Add c-strcase, remove malloca, strnlen.
22542         * tests/test-c-strcasestr.c (main): Enhance test.
22543         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
22544
22545 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
22546
22547         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
22548         Use it in creating po/Makevars.
22549
22550 2008-01-15  Simon Josefsson  <simon@josefsson.org>
22551
22552         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
22553         Applications that requires it should initialize libgcrypt
22554         manually.
22555
22556 2008-01-16  Simon Josefsson  <simon@josefsson.org>
22557
22558         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
22559
22560 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
22561
22562         Fix problem with getdate on mingw32 reported by Simon Josefsson
22563         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
22564         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
22565         tzname", when deciding whether to declare tzname.
22566         * lib/strftime.c (tzname): Likewise.
22567
22568 2008-01-15  Bruno Haible  <bruno@clisp.org>
22569
22570         Work around a MacOS X 10.5 bug in frexpl().
22571         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
22572         * doc/functions/frexpl.texi: Document the bug.
22573         Reported by Elias Pipping <pipping@gentoo.org>.
22574
22575 2008-01-14  Eric Blake  <ebb9@byu.net>
22576
22577         Touch up previous patch.
22578         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
22579         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
22580
22581         Convert strcasestr module to use Two-Way algorithm.
22582         * modules/strcasestr-simple: New module, based on the old
22583         strcasestr, but with Two-Way rather than KMP.
22584         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
22585         * lib/string.in.h (rpl_strcasestr): Declare.
22586         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
22587         performance.
22588         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
22589         * modules/string (Makefile.am): Support strcasestr.
22590         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
22591         * modules/strcasestr-tests (Depends-on): Check for alarm.
22592         * tests/test-strcasestr.c: Augment test.
22593         * lib/str-two-way.h: Clean up stray macro.
22594         * NEWS: Document new module.
22595         * MODULES.html.sh (string handling): Likewise.
22596         * doc/functions/strcasestr.texi: New file.
22597         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
22598         here, since it is not a POSIX function.
22599
22600 2008-01-14  Colin Watson  <cjwatson@debian.org>
22601             Bruno Haible  <bruno@clisp.org>
22602
22603         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
22604         works fine; if not, set REPLACE_STRSIGNAL.
22605         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
22606         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
22607         REPLACE_STRSIGNAL.
22608         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
22609         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
22610         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
22611
22612 2008-01-14  Bruno Haible  <bruno@clisp.org>
22613
22614         * modules/strsignal (Include): Change to <string.h>.
22615
22616 2008-01-14  Colin Watson  <cjwatson@debian.org>
22617
22618         * modules/argp (Notice): Add a notice recommending to change
22619         XGETTEXT_OPTIONS.
22620         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
22621
22622 2008-01-13  Colin Watson  <cjwatson@debian.org>
22623
22624         * modules/strsignal-tests: New file.
22625         * tests/test-strsignal.c: New file.
22626
22627         * lib/strsignal.c: New file, from glibc with modifications.
22628         * lib/siglist.h: New file, from glibc with modifications.
22629         * lib/string.in.h (strsignal): New declaration.
22630         * m4/strsignal.m4: New file.
22631         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
22632         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
22633         * modules/strsignal: New file.
22634         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
22635         HAVE_DECL_STRSIGNAL.
22636
22637 2008-01-13  Bruno Haible  <bruno@clisp.org>
22638
22639         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
22640         locale encoding is not ASCII. Needed for OpenBSD 4.0.
22641         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
22642         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
22643
22644 2008-01-13  Bruno Haible  <bruno@clisp.org>
22645
22646         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
22647         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
22648         * lib/argp.h (__attribute__): Likewise.
22649         * lib/c-stack.c (__attribute__): Likewise.
22650         * lib/error.h (__attribute__): Likewise.
22651         * lib/fts.c (__attribute__): Likewise.
22652         * lib/openat.h (__attribute__): Likewise.
22653         * lib/stdio.in.h (__attribute__): Likewise.
22654         * lib/string.in.h (__attribute__): Likewise.
22655         * lib/utimens.c (__attribute__): Likewise.
22656         * lib/vasnprintf.h (__attribute__): Likewise.
22657         * lib/xalloc.h (__attribute__): Likewise.
22658         * lib/xprintf.h (__attribute__): Likewise.
22659         * lib/xstrtol.h (__attribute__): Likewise.
22660         * lib/xvasprintf.h (__attribute__): Likewise.
22661
22662 2008-01-12  Bruno Haible  <bruno@clisp.org>
22663
22664         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
22665         * doc/glibc-headers/a.out.texi: New file.
22666         * doc/glibc-headers/aliases.texi: New file.
22667         * doc/glibc-headers/alloca.texi: New file.
22668         * doc/glibc-headers/ar.texi: New file.
22669         * doc/glibc-headers/argp.texi: New file.
22670         * doc/glibc-headers/argz.texi: New file.
22671         * doc/glibc-headers/byteswap.texi: New file.
22672         * doc/glibc-headers/crypt.texi: New file.
22673         * doc/glibc-headers/endian.texi: New file.
22674         * doc/glibc-headers/envz.texi: New file.
22675         * doc/glibc-headers/err.texi: New file.
22676         * doc/glibc-headers/error.texi: New file.
22677         * doc/glibc-headers/execinfo.texi: New file.
22678         * doc/glibc-headers/fpu_control.texi: New file.
22679         * doc/glibc-headers/fstab.texi: New file.
22680         * doc/glibc-headers/fts.texi: New file.
22681         * doc/glibc-headers/getopt.texi: New file.
22682         * doc/glibc-headers/ieee754.texi: New file.
22683         * doc/glibc-headers/ifaddrs.texi: New file.
22684         * doc/glibc-headers/libintl.texi: New file.
22685         * doc/glibc-headers/mcheck.texi: New file.
22686         * doc/glibc-headers/mntent.texi: New file.
22687         * doc/glibc-headers/obstack.texi: New file.
22688         * doc/glibc-headers/paths.texi: New file.
22689         * doc/glibc-headers/printf.texi: New file.
22690         * doc/glibc-headers/pty.texi: New file.
22691         * doc/glibc-headers/resolv.texi: New file.
22692         * doc/glibc-headers/shadow.texi: New file.
22693         * doc/glibc-headers/sysexits.texi: New file.
22694         * doc/glibc-headers/ttyent.texi: New file.
22695
22696 2008-01-12  Jim Meyering  <meyering@redhat.com>
22697
22698         announce-gen: emit Gnulib's git-based version string.
22699         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
22700         New option --gnulib-version=V, where V is expected to be
22701         the output of running git describe in the gnulib directory.
22702         (get_tool_versions): Request feedback on xdelta.  I suspect it's
22703         not useful, and plan to stop publishing an xdelta file with each
22704         coreutils release.
22705
22706         * build-aux/announce-gen: Also check for lzma-compressed files.
22707
22708 2008-01-11  Bruno Haible  <bruno@clisp.org>
22709
22710         * tests/test-memmem.c (main): Increase maximum allowed time.
22711         * tests/test-strstr.c (main): Likewise.
22712
22713 2008-01-11  Bruno Haible  <bruno@clisp.org>
22714
22715         * doc/functions/memmem.texi: Add more precisions about platforms.
22716         * doc/functions/strstr.texi: Likewise.
22717
22718 2008-01-10  Eric Blake  <ebb9@byu.net>
22719
22720         * m4/strstr.m4: Delete cruft from copy-n-paste.
22721         Reported by Bruno Haible.
22722
22723 2008-01-10  Bruno Haible  <bruno@clisp.org>
22724
22725         Make c-strstr rely on strstr.
22726         * lib/c-strstr.c: Don't include str-kmp.h.
22727         (c_strstr): Define in terms of strstr.
22728         * modules/c-strstr (Files): Remove lib/str-kmp.h.
22729         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
22730
22731 2008-01-10  Bruno Haible  <bruno@clisp.org>
22732
22733         * doc/gnulib.texi (String Functions in C Locale): New section.
22734         * doc/c-ctype.texi: New file.
22735         * doc/c-strcase.texi: New file.
22736         * doc/c-strcaseeq.texi: New file.
22737         * doc/c-strcasestr.texi: New file.
22738         * doc/c-strstr.texi: New file.
22739         * doc/c-strtod.texi: New file.
22740         * doc/c-strtold.texi: New file.
22741
22742 2008-01-10  Eric Blake  <ebb9@byu.net>
22743
22744         * lib/relocatable.h: Fix a comment.
22745
22746 2008-01-10  Eric Blake  <ebb9@byu.net>
22747
22748         Share two-way algorithm.
22749         * lib/str-two-way.h: New file, merged from...
22750         * lib/memmem.c: ...here...
22751         * lib/strstr.c: ...and here.
22752         * modules/memmem (Files): Use it.
22753         * modules/strstr (Files): Likewise.
22754
22755         Avoid quadratic strstr implementations.
22756         * lib/strstr.c: New file.
22757         * m4/strstr.m4: Likewise.
22758         * modules/strstr: Likewise.
22759         * modules/strstr-tests: Likewise.
22760         * tests/test-strstr.c: Likewise.
22761         * lib/string.in.h (rpl_strstr): Declare.
22762         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
22763         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
22764         * modules/string (Makefile.am): Likewise.
22765         * MODULES.html.sh (string handling): Mention new module.
22766         * doc/functions/strstr.texi (strstr): Document the bug.
22767
22768 2008-01-10  Bruno Haible  <bruno@clisp.org>
22769
22770         * lib/relocatable.h (relocate): State whether result is freshly
22771         allocated or not.
22772         * lib/relocatable.c (relocate): Return a freshly allocated string
22773         instead of a pointer to a privately held string.
22774         Reported by Sylvain Beucler <beuc@gnu.org>.
22775
22776 2008-01-10  Colin Watson  <cjwatson@debian.org>
22777
22778         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
22779         s/S_ISNLK/S_ISLNK/.
22780
22781 2008-01-09  Bruno Haible  <bruno@clisp.org>
22782
22783         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
22784         and other files.
22785         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
22786         if it's only a guess.
22787         * modules/memmem: Simplify by depending on memmem-simple.
22788
22789 2008-01-09  Bruno Haible  <bruno@clisp.org>
22790
22791         Work around OpenBSD 4.0 tdelete() bug.
22792         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
22793         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
22794         macros and don't redefine the enum values.
22795         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
22796         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
22797         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
22798
22799 2008-01-09  Bruno Haible  <bruno@clisp.org>
22800
22801         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
22802         (main): Don't perform the tests if setlocale did not install a UTF-8
22803         locale. Needed on OpenBSD 4.0.
22804         * modules/wcwidth-tests (Depends-on): Add localcharset.
22805
22806 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
22807
22808         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
22809         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
22810         * NEWS: announce this.
22811         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
22812
22813 2008-01-09  Simon Josefsson  <simon@josefsson.org>
22814         and Eric Blake  <ebb9@byu.net>
22815
22816         Add memmem-simple module.
22817         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
22818         (gl_FUNC_MEMMEM): Separate performance from presence checks.
22819         * modules/memmem-simple: New file.
22820         * modules/memmem (Description): Tweak.
22821         * MODULES.html.sh (string handling): Mention new module.
22822         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
22823         addressed by memmem-simple.
22824         * NEWS: Document the difference.
22825
22826 2008-01-09  Eric Blake  <ebb9@byu.net>
22827
22828         Give gcc some memmem optimization hints.
22829         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
22830         (strcasestr): Declare as pure.
22831         * modules/memmem (Maintainer): Claim my implementation.
22832
22833 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22834
22835         Support AIX 6.1 and higher.
22836         * build-aux/config.libpath: Likewise.
22837         * build-aux/config.rpath: Likewise.
22838
22839 2008-01-08  Jim Meyering  <meyering@redhat.com>
22840             Bruno Haible  <bruno@clisp.org>
22841
22842         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
22843         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
22844         Reported by Peter Fales in
22845         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
22846
22847 2008-01-08  Bruno Haible  <bruno@clisp.org>
22848
22849         * modules/unictype/category-of (Depends-on): Add
22850         unictype/category-none.
22851         * modules/unictype/category-and-tests (Depends-on): Add
22852         unictype/category-{L,N,Lu,Nd}.
22853         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
22854         * modules/unictype/category-or-tests (Depends-on): Add
22855         unictype/category-{L,N}.
22856         * modules/unictype/category-name-tests (Depends-on): Add
22857         unictype/category-{Z,Nl}.
22858         Reported by Simon Josefsson.
22859
22860 2008-01-08  Bruno Haible  <bruno@clisp.org>
22861
22862         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
22863         convention better.
22864         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
22865         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
22866         Reported by Peter Miller <millerp@canb.auug.org.au>.
22867
22868 2008-01-08  Eric Blake  <ebb9@byu.net>
22869
22870         Rewrite memmem to guarantee linear complexity without malloc.
22871         * lib/memmem.c (memmem): Use Two-Way rather than
22872         Knuth-Morris-Pratt, to allow O(1) space usage.
22873         (critical_factorization, two_way_short_needle)
22874         (two_way_long_needle): New functions.
22875         (knuth_morris_pratt): Delete.
22876         * modules/memmem (Depends-on): No longer need malloca or stdbool.
22877         Add stdint.
22878         * tests/test-memmem.c (main): Add tests for periodic needle and
22879         sublinear performance.
22880         * doc/functions/memmem.texi (memmem): Document other deficiencies
22881         in cygwin and older glibc.
22882
22883 2008-01-08  Bruno Haible  <bruno@clisp.org>
22884
22885         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
22886         augmentation.
22887
22888 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
22889
22890         Add a configure time option: --disable-acl.
22891         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
22892         AC_ARG_ENABLE(acl).
22893
22894 2008-01-06  Simon Josefsson  <simon@josefsson.org>
22895
22896         * tests/test-localename.c: Don't include obsolete "setenv.h".
22897
22898         * modules/localename-tests (Depends-on): Need unsetenv.
22899
22900 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22901
22902         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
22903
22904 2008-01-06  Colin Watson  <cjwatson@debian.org>
22905
22906         * users.txt: Add man-db.
22907
22908 2008-01-07  Bruno Haible  <bruno@clisp.org>
22909
22910         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
22911         previous section name.
22912
22913 2008-01-07  Bruno Haible  <bruno@clisp.org>
22914
22915         * lib/progname.c (set_program_name): Don't strip off a leading
22916         "lt-" prefix outside a .libs directory.
22917         Suggested by Paul Eggert.
22918
22919 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
22920             Bruno Haible  <bruno@clisp.org>
22921
22922         Improve memory cleanup in 'relocatable' module.
22923         * lib/relocatable.h (compute_curr_prefix): Change return type to
22924         'char *'.
22925         * lib/relocatable.c (compute_curr_prefix): Change return type to
22926         'char *'. Free curr_installdir after use.
22927         (relocate): Free curr_prefix_better after use.
22928         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
22929
22930 2008-01-01  Bruno Haible  <bruno@clisp.org>
22931
22932         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
22933         failure on older glibc systems.
22934         Reported by Peter Fales <psfales@alcatel-lucent.com>.
22935
22936 2008-01-05  Eric Blake  <ebb9@byu.net>
22937
22938         Avoid quadratic system memmem.
22939         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
22940         Reported by Ralf Wildenhues.
22941
22942         Fix memmem test for mingw.
22943         * modules/memmem-tests (configure.ac): Check for alarm.
22944         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
22945         it.
22946         * doc/functions/memmem.texi: New file.
22947         * doc/gnulib.texi (Function Substitutes): Add memmem.
22948         Reported by Bruno Haible.
22949
22950 2008-01-04  Bruno Haible  <bruno@clisp.org>
22951
22952         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
22953         Require gl_HEADER_STRINGS_H_DEFAULTS, not
22954         gl_HEADER_STRING_H_DEFAULTS.
22955
22956 2008-01-04  Eric Blake  <ebb9@byu.net>
22957
22958         Shorten duration of memmem test.
22959         * tests/test-memmem.c (main): Use alarm to declare failure if test
22960         is taking too long.
22961         Reported by Ralf Wildenhues.
22962
22963 2007-12-21  Simon Josefsson  <simon@josefsson.org>
22964
22965         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
22966         string, needed by strerror.
22967
22968 2008-01-03  Colin Watson  <cjwatson@debian.org>
22969             Bruno Haible  <bruno@clisp.org>
22970
22971         * doc/gnulib-tool.texi (Localization): New section.
22972
22973 2008-01-02  Bruno Haible  <bruno@clisp.org>
22974
22975         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
22976         variables to 'unsigned char *' type.
22977         Reported by Paul Eggert.
22978
22979 2008-01-02  Jim Meyering  <jim@meyering.net>
22980
22981         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
22982
22983 2007-12-31  Jim Meyering  <jim@meyering.net>
22984
22985         Avoid use of private FTS type name.
22986         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
22987
22988 2007-12-30  Karl Berry  <karl@gnu.org>
22989
22990         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
22991         work around defect in Texinfo and/or the standalone Info browser.
22992
22993 2007-12-30  Bruno Haible  <bruno@clisp.org>
22994
22995         Unify 5 copies of the KMP code.
22996         * lib/str-kmp.h: New file.
22997         * lib/c-strcasestr.c: Include str-kmp.h.
22998         (knuth_morris_pratt): Remove function.
22999         (c_strcasestr): Update.
23000         * lib/c-strstr.c: Include str-kmp.h.
23001         (knuth_morris_pratt): Remove function.
23002         (c_strcasestr): Update.
23003         * lib/mbscasestr.c: Include str-kmp.h.
23004         (knuth_morris_pratt_unibyte): Remove function.
23005         * lib/mbsstr.c: Include str-kmp.h.
23006         (knuth_morris_pratt_unibyte): Remove function.
23007         * lib/strcasestr.c: Include str-kmp.h.
23008         (knuth_morris_pratt): Remove function.
23009         (strcasestr): Update.
23010         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
23011         * modules/c-strstr (Files): Likewise.
23012         * modules/mbscasestr (Files): Likewise.
23013         * modules/mbsstr (Files): Likewise.
23014         * modules/strcasestr (Files): Likewise.
23015         Suggested by Paul Eggert.
23016
23017 2007-12-30  Bruno Haible  <bruno@clisp.org>
23018
23019         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
23020         defined.
23021
23022 2007-12-30  Bruno Haible  <bruno@clisp.org>
23023
23024         * lib/xmalloca.h: Include xalloc.h.
23025         (xnmalloca): New macro.
23026
23027 2007-12-30  Bruno Haible  <bruno@clisp.org>
23028
23029         * lib/malloca.h (nmalloca): New macro.
23030         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
23031         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
23032         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
23033         knuth_morris_pratt_multibyte): Likewise.
23034         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
23035         knuth_morris_pratt_multibyte): Likewise.
23036         * lib/memmem.c (knuth_morris_pratt): Likewise.
23037         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
23038
23039 2007-12-25  Bruno Haible  <bruno@clisp.org>
23040
23041         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
23042         * lib/glob.c: Don't include openat.h.
23043         (link_exists2_p): Add back the code that deals with the
23044         !GLOB_ALTDIRFUNC case.
23045         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
23046         let it do the filename concatenation.
23047         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
23048         * modules/glob (Depends-on): Remove openat.
23049
23050 2007-12-31  Bruno Haible  <bruno@clisp.org>
23051
23052         * modules/dirfd (License): Change to LGPLv2+.
23053         Approved by Jim Meyering.
23054
23055 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
23056
23057         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
23058         when multiplying M by sizeof (size_t).
23059
23060 2007-12-10  Martin Lambers  <marlam@marlam.de>
23061
23062         Override getpagesize on mingw.
23063         * lib/getpagesize.c: New file.
23064         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
23065         * modules/getpagesize (Files): Add lib/getpagesize.c.
23066         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
23067         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
23068         REPLACE_GETPAGESIZE.
23069         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
23070
23071 2007-12-25  Bruno Haible  <bruno@clisp.org>
23072
23073         * modules/localcharset (Notice): New field.
23074         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
23075         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
23076
23077 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
23078             Bruno Haible  <bruno@clisp.org>
23079
23080         Avoid using the syntax symbol() in formatted documentation.
23081         * MODULES.html.sh (func_module): When replacing symbol() with a
23082         hyperlink, remove the parentheses. Show an error if some remain.
23083         Recognize and render the '...' syntax.
23084         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
23085         Rework. Add paragraph about GCC's inlining.
23086         * doc/alloca.texi: Likewise.
23087         * doc/error.texi: Remove parentheses from symbol reference.
23088         * doc/gnulib-intro.texi: Likewise.
23089         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
23090         * modules/fnmatch (Description): Reword to say "the ... function".
23091         * modules/full-read (Description): Likewise.
23092         * modules/full-write (Description): Likewise.
23093         * modules/safe-read (Description): Likewise.
23094         * modules/safe-write (Description): Likewise.
23095         * modules/strchrnul (Description): Likewise.
23096         * modules/trim (Description): Likewise.
23097         * modules/error (Description): Remove parentheses from symbol
23098         references.
23099         * modules/verror (Description): Likewise.
23100         Reported by Karl Berry.
23101
23102 2007-12-25  Bruno Haible  <bruno@clisp.org>
23103
23104         Fixup after 2007-10-16 commit.
23105         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
23106
23107 2007-12-24  Bruno Haible  <bruno@clisp.org>
23108
23109         Make --enable-relocatable work with DESTDIR.
23110         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
23111         to compute installdir from destprog.
23112         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
23113         also set the RELOC_DESTDIR variable.
23114         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
23115
23116 2007-12-24  Bruno Haible  <bruno@clisp.org>
23117
23118         Fix link error due to xalloc_die().
23119         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
23120         of xreadlink.
23121         * lib/relocwrapper.c: Update comments.
23122         * build-aux/install-reloc: Remove xreadlink.c from file list.
23123         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
23124         xreadlink.c.
23125         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
23126
23127 2007-12-24  Bruno Haible  <bruno@clisp.org>
23128
23129         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
23130         * lib/setenv.h: Remove file.
23131         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
23132         lib/setenv.h.
23133         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
23134         (Depends-on): Add stdlib.
23135         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
23136         gl_FUNC_UNSETENV.
23137         (Include): Replace setenv.h with <stdlib.h>.
23138         * modules/unsetenv: New file.
23139         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
23140         * lib/unsetenv.c: Include <stdlib.h> first.
23141         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
23142         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
23143         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
23144         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
23145         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
23146         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
23147         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
23148         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
23149         * doc/functions/unsetenv.texi: Update.
23150         * modules/xsetenv (Depends-on): Add unsetenv.
23151         * modules/getdate (Depends-on): Likewise.
23152         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
23153         * lib/xsetenv.c: Don't include setenv.h.
23154         * lib/getdate.y: Likewise.
23155         * lib/relocwrapper.c: Likewise.
23156         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
23157         (Depends-on): Add stdlib.
23158         * NEWS: Mention the changes.
23159         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
23160
23161 2007-12-23  Bruno Haible  <bruno@clisp.org>
23162
23163         * lib/memmem.c (memmem): Use lowercase variable names. Tab
23164         indentation.
23165
23166 2007-12-23  Bruno Haible  <bruno@clisp.org>
23167
23168         * lib/c-strcasestr.c: Add more comments.
23169         * lib/c-strstr.c: Likewise.
23170         * lib/mbscasestr.c: Likewise.
23171         * lib/mbsstr.c: Likewise.
23172         * lib/strcasestr.c: Likewise.
23173         * lib/memmem.c: Likewise.
23174
23175 2007-12-23  Bruno Haible  <bruno@clisp.org>
23176
23177         * tests/test-memmem.c: Include <string.h> first.
23178
23179 2007-12-22  Bruno Haible  <bruno@clisp.org>
23180
23181         * gnulib-tool (func_create_testdir): Change $auxdir while generating
23182         the contents of $testsbase.
23183         Reported by Ralf Wildenhues.
23184
23185 2007-12-22  Bruno Haible  <bruno@clisp.org>
23186
23187         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
23188         two variables local_ldadd_before, local_ldadd_last.
23189
23190 2007-12-20  Eric Blake  <ebb9@byu.net>
23191
23192         Work around circular library issue when cross-compiling.
23193         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
23194         that progname.o does not need to pull in rpl_memcmp.
23195
23196 2007-12-19  Eric Blake  <ebb9@byu.net>
23197
23198         Fix memmem to avoid O(n^2) worst-case complexity.
23199         * lib/memmem.c (knuth_morris_pratt): New function.
23200         (memmem): Use it if first few naive iterations fail.
23201         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
23202         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
23203         * modules/memchr (License): Likewise.
23204         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
23205         malloca.
23206         * tests/test-memmem.c: Rewrite, borrowing ideas from
23207         test-mbsstr1.c; the old version wouldn't even compile!
23208         * modules/memmem-tests: New file.
23209         * lib/string.in.h (rpl_memmem): Add declaration.
23210         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
23211         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
23212         REPLACE_MEMMEM.
23213
23214 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
23215
23216         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
23217         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
23218         before any system include files, and undef after them all.  This
23219         should fix a problem on VMS reported by John E. Malmberg in
23220         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
23221
23222 2007-12-17  Eric Blake  <ebb9@byu.net>
23223
23224         Revert addition of verify, for BSD/OS.
23225         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
23226         can't handle large files, for the sake of obsolete platforms.
23227         * modules/fseeko (Depends-on): Remove verify.
23228         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
23229         * doc/functions/ftello.texi (ftello): Likewise.
23230         * doc/functions/fgetpos.texi (fgetpos): Likewise.
23231         Reported by Larry Jones.
23232
23233 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
23234
23235         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
23236         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
23237
23238 2007-12-17  Jim Meyering  <meyering@redhat.com>
23239
23240         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
23241         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
23242         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
23243         * modules/getcwd (Depends-on): Add openat.
23244         Reported by Petr Salinger.
23245
23246 2007-12-17  Bruno Haible  <bruno@clisp.org>
23247
23248         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
23249         avoid a segmentation fault of the configure test on x86_64 systems.
23250
23251 2007-12-15  Jim Meyering  <meyering@redhat.com>
23252
23253         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
23254
23255 2007-12-13  Eric Blake  <ebb9@byu.net>
23256
23257         Another fseek test.
23258         * tests/test-fseek.c (main): Also test ungetc handling.
23259         * tests/test-fseeko.c (main): Likewise.
23260         * modules/fseeko (Depends-on): Add verify.
23261         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
23262         large.
23263         Reported by Larry Jones.
23264
23265         Fix fseeko on mingw.
23266         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
23267         seek.
23268
23269         Beef up fseek tests.
23270         * tests/test-fseek.c (main): Also test eof handling.
23271         * tests/test-fseeko.c (main): Likewise.
23272         Reported by Larry Jones.
23273
23274 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
23275
23276         Fix fseeko on BSD-based platforms.
23277         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
23278         successful seek.
23279
23280 2007-12-12  Eric Blake  <ebb9@byu.net>
23281
23282         Allow circular dependency of separate libtests.a
23283         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
23284         when use_libtests.
23285
23286 2007-12-11  Eric Blake  <ebb9@byu.net>
23287
23288         Fix bug with -0.0L in previous patch.
23289         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
23290         * tests/test-isnan.c (main): Also test on zeroes.
23291         * tests/test-isnanf.c (main): Likewise.
23292         * tests/test-isnanl.h (main): Likewise.
23293
23294         Detect pseudo-denormals on x86 even when cross-compiling.
23295         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
23296         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
23297         invalid bit patterns that happen to satisfy ==.
23298
23299         Avoid link failures with separate libtests.a.
23300         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
23301         last, to satisfy circular dependencies.
23302
23303 2007-12-11  Eric Blake  <ebb9@byu.net>
23304         and Bruno Haible  <bruno@clisp.org>
23305
23306         Fix OpenBSD 4.0 <float.h> handling of long double.
23307         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
23308         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
23309         * doc/headers/float.texi (float.h): Document OpenBSD bug.
23310
23311 2007-12-11  Jim Meyering  <meyering@redhat.com>
23312
23313         * users.txt: Add libvirt.
23314
23315         Support versions of autoconf prior to 2.59c.
23316         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
23317         if it is not already defined.
23318
23319 2007-12-09  Bruno Haible  <bruno@clisp.org>
23320
23321         Let 'gnulib-tool --import' collect sources needed for the tests in
23322         tests/ rather than in lib/.
23323         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
23324         argument. If true, add rules to generate libtests.a, and put libtests.a
23325         into $(LDADD). Consider source files in subdirectories and set
23326         uses_subdirs.
23327         (func_emit_initmacro_start, func_emit_initmacro_end,
23328         func_emit_initmacro_done): Pass all arguments explicitly.
23329         (func_import): Determine two module lists main_modules,
23330         testsrelated_modules. Determine use_libtests. Determine two variables
23331         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
23332         instead of just sed_transform_lib_file. Determine two variables
23333         main_files and testsrelated_files. Compute 'files' as the union of
23334         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
23335         func_add_or_update. In the generated gnulib-comp.m4, collect the
23336         object files for tests/ in different variables than those for lib/.
23337         Substitute LIBTESTS_LIBDEPS.
23338         (func_create_testdir): Combine the uses_subdirs results from
23339         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
23340
23341 2007-12-09  Bruno Haible  <bruno@clisp.org>
23342
23343         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
23344         the build-aux directory.
23345
23346 2007-12-09  Bruno Haible  <bruno@clisp.org>
23347
23348         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
23349         introduced on 2006-09-09.
23350
23351 2007-12-07  Jim Meyering  <meyering@redhat.com>
23352
23353         Let these macros work also with autoconf-2.59.
23354         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
23355         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
23356         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
23357
23358 2007-12-06  Jim Meyering  <meyering@redhat.com>
23359
23360         Avoid a configure-time syntax error in gl_FUNC_ACL.
23361         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
23362         function in each branch, before testing the cache variable.
23363
23364 2007-12-04  Eric Blake  <ebb9@byu.net>
23365
23366         Make scripts executable.
23367         * build-aux/config.guess: Add execute permissions.
23368         * build-aux/config.sub: Likewise.
23369         * build-aux/gendocs.sh: Likewise.
23370
23371         Fix frexp on mingw.
23372         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
23373         cross-compiling.
23374         * doc/functions/frexp.texi (frexp): Document the bug.
23375
23376         Make cygwin fseeko check more reliable.
23377         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
23378         version numbers, rather than unrelated feature check.
23379         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
23380         * doc/functions/ftello.texi (ftello): Likewise.
23381         Reported by Bruno Haible.
23382
23383         * m4/strerror.m4: Bump version number.
23384
23385 2007-12-03  Bruno Haible  <bruno@clisp.org>
23386
23387         * doc/functions/mprotect.texi: Mention the mingw problem.
23388
23389 2007-12-03  Eric Blake  <ebb9@byu.net>
23390
23391         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
23392         REPLACE_STRERROR is initialized before this macro.
23393
23394 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
23395
23396         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
23397         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
23398         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
23399         put -lsec in even for programs other than 'ls'.  This fixes a problem
23400         for gettext reported by Bruno Haible in
23401         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
23402         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
23403         Add support for Solaris 10.  This isn't efficient, but should get the
23404         job done for now.
23405
23406 2007-12-03  James Youngman  <jay@gnu.org>
23407
23408         * doc/regexprops-generic.texi: change "an close-group" to "a
23409         close-group" and "illegal" to "not allowed".
23410
23411 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23412
23413         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
23414         pr_byname.h. Needed for the rare case when the maintainer has done
23415         "make maintainer-clean" in the source directory and then attempts a
23416         build outside the source directory.
23417         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
23418         scripts_byname.h.
23419
23420 2007-12-02  Martin Lambers <marlam@marlam.de>
23421             Bruno Haible  <bruno@clisp.org>
23422
23423         * lib/getpagesize.h: Remove file.
23424         * lib/unistd.in.h: Include declaration of getpagesize here.
23425         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
23426         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
23427         HAVE_SYS_PARAM_H.
23428         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
23429         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
23430         * modules/getpagesize (Files): Remove lib/getpagesize.h.
23431         (Depends-on): Add unistd.
23432         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
23433         (Include): Use <unistd.h> instead of getpagesize.h.
23434         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
23435         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
23436         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
23437         gl_GETPAGESIZE invocation, already handled by module dependency.
23438         * lib/pagealign_alloc.c: Don't include getpagesize.h.
23439
23440 2007-12-02  Bruno Haible  <bruno@clisp.org>
23441
23442         * modules/strings-tests: New file.
23443         * tests/test-strings.c: New file.
23444
23445         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
23446         * lib/strings.in.h: New file.
23447         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
23448         * m4/strings_h.m4: New file.
23449         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
23450         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
23451         * modules/strings: New file.
23452         * modules/string (Makefile.am): Update.
23453         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
23454         Reported by Karl Berry.
23455
23456 2007-12-01  Eric Blake  <ebb9@byu.net>
23457
23458         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
23459         accomodate fix in cygwin 1.5.25.
23460
23461 2007-12-01  Jim Meyering  <meyering@redhat.com>
23462
23463         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
23464         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
23465         that would inhibit utf8-optimization of a regexp containing line-
23466         or buffer-anchors, e.g., `^', `$'.
23467
23468 2007-11-30  Bruno Haible  <bruno@clisp.org>
23469
23470         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
23471         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
23472         glthread_recursive_lock_init.
23473         * lib/lock.c (glthread_recursive_lock_init)
23474         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
23475         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
23476
23477 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
23478
23479         New function qset_acl, like set_acl but with syscall semantics.
23480         * lib/acl.h (qset_acl): New decl.
23481         * lib/acl.c (qset_acl): New function.
23482         (set_acl): Use new function.  Use more-consistent diagnostics.
23483
23484 2007-11-28  Jim Meyering  <meyering@redhat.com>
23485
23486         * modules/physmem (License): Change from GPL to LGPLv2+.
23487
23488 2007-11-26  Bruno Haible  <bruno@clisp.org>
23489
23490         * lib/vasnprintf.c (decode_long_double): Don't abort if the
23491         'long double' type has excess precision.
23492         Reported by Jim Meyering in
23493         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
23494
23495 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23496
23497         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
23498         Sync from <http://gnu.org/licenses>.
23499         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
23500         with license text from same location.
23501         * doc/maintain.texi, doc/standards.texi:  Sync from
23502         <http://savannah.gnu.org/projects/gnustandards>.
23503
23504 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
23505         and Jim Meyering  <meyering@redhat.com>
23506
23507         Adjust getdate' grammar to accept a slightly more regular language.
23508         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
23509         Before, the former was rejected.
23510         * lib/getdate.y (digits_to_date_time): New function, factored
23511         out of ...
23512         (number): ...here.  Just call digits_to_date_time.
23513         (hybrid): New non-terminal to handle an <unsigned number,
23514         signed relative offset> sequence consistently.
23515
23516 2007-11-18  Jim Meyering  <meyering@redhat.com>
23517
23518         Pull my changes from coreutils:
23519         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
23520         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
23521         use of $gnulib_tool_option_extras, so that it's separated from the
23522         preceding argument.
23523
23524         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
23525         * build-aux/bootstrap (cp_mark_as_generated): Create any required
23526         parent destination directories before copying a file into place.
23527
23528 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
23529
23530         bootstrap: work also with 4-argument variant of AC_INIT
23531         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
23532
23533 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
23534
23535         Port test-getaddrinfo to Solaris.
23536         Problem reported by Bruno Haible in
23537         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
23538         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
23539         explanation of setting 'hints'.
23540         Don't reject an implementation merely because it returns EAI_SERVICE.
23541         (EAI_SERVICE): Define to 0 if not defined.
23542
23543 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
23544
23545         The license of gnu-make and posix-shell is now "GPLed build tool".
23546         * modules/gnu-make (License): Likewise.
23547         * modules/posix-shell (License): Likewise.
23548
23549         New module posix-shell, for determining a POSIX shell
23550         or perhaps something that is close enough to a POSIX shell.
23551         * m4/posix-shell.m4: New file.
23552         * modules/posix-shell: New file.
23553
23554         * MODULES.html.sh: Mention new module.
23555
23556         New module gnu-make, for determining whether we're using GNU Make.
23557         * m4/gnu-make.m4: New file.
23558         * modules/gnu-make: New file.
23559         * MODULES.html.sh: Mention new module.
23560
23561 2007-11-14  Jim Meyering  <meyering@redhat.com>
23562
23563         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
23564         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
23565         use this macro to create a function _definition_.
23566         Remove useless "#undef ARGMATCH_DIE".
23567
23568 2007-11-14  Bruno Haible  <bruno@clisp.org>
23569
23570         * lib/config.charset: Update for OpenBSD 4.1.
23571         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
23572
23573 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
23574
23575         Document 64-bit #if problems in stdint.texi.
23576         * doc/headers/stdint.texi (stdint.h): Mention problems with
23577         64-bit-#if, and how to work around them.
23578
23579         Don't insist on 'long long int' support in the preprocessor.  It
23580         breaks too many things.  For example, PRIdMAX still uses a 'long
23581         long int' format with the latest Sun compiler, even though
23582         HAVE_LONG_LONG_INT isn't defined due to that compiler's
23583         preprocessor problem.  This causes the latest coreutils to dump
23584         core on Solaris 10 sparc with the Sun C compiler.
23585         Instead, fix the 2007-10-16 problem in a different way, by evaluating
23586         the troublesome expressions at configure-time, not at #if-time.
23587         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
23588         preprocessor.
23589         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
23590         compile-time C checks, done at 'configure'-time.
23591         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
23592         * modules/inttypes (Makefile): Substitute the new symbols that
23593         gl_INTTYPES_H now generates.
23594         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
23595
23596 2007-11-12  Bruno Haible  <bruno@clisp.org>
23597
23598         Tests for Unicode character classification functions.
23599
23600         * modules/unictype/bidicategory-byname-tests: New file.
23601         * modules/unictype/bidicategory-name-tests: New file.
23602         * modules/unictype/bidicategory-of-tests: New file.
23603         * modules/unictype/bidicategory-test-tests: New file.
23604         * modules/unictype/block-list-tests: New file.
23605         * modules/unictype/block-of-tests: New file.
23606         * modules/unictype/block-test-tests: New file.
23607         * modules/unictype/category-C-tests: New file.
23608         * modules/unictype/category-Cc-tests: New file.
23609         * modules/unictype/category-Cf-tests: New file.
23610         * modules/unictype/category-Cn-tests: New file.
23611         * modules/unictype/category-Co-tests: New file.
23612         * modules/unictype/category-Cs-tests: New file.
23613         * modules/unictype/category-L-tests: New file.
23614         * modules/unictype/category-Ll-tests: New file.
23615         * modules/unictype/category-Lm-tests: New file.
23616         * modules/unictype/category-Lo-tests: New file.
23617         * modules/unictype/category-Lt-tests: New file.
23618         * modules/unictype/category-Lu-tests: New file.
23619         * modules/unictype/category-M-tests: New file.
23620         * modules/unictype/category-Mc-tests: New file.
23621         * modules/unictype/category-Me-tests: New file.
23622         * modules/unictype/category-Mn-tests: New file.
23623         * modules/unictype/category-N-tests: New file.
23624         * modules/unictype/category-Nd-tests: New file.
23625         * modules/unictype/category-Nl-tests: New file.
23626         * modules/unictype/category-No-tests: New file.
23627         * modules/unictype/category-P-tests: New file.
23628         * modules/unictype/category-Pc-tests: New file.
23629         * modules/unictype/category-Pd-tests: New file.
23630         * modules/unictype/category-Pe-tests: New file.
23631         * modules/unictype/category-Pf-tests: New file.
23632         * modules/unictype/category-Pi-tests: New file.
23633         * modules/unictype/category-Po-tests: New file.
23634         * modules/unictype/category-Ps-tests: New file.
23635         * modules/unictype/category-S-tests: New file.
23636         * modules/unictype/category-Sc-tests: New file.
23637         * modules/unictype/category-Sk-tests: New file.
23638         * modules/unictype/category-Sm-tests: New file.
23639         * modules/unictype/category-So-tests: New file.
23640         * modules/unictype/category-Z-tests: New file.
23641         * modules/unictype/category-Zl-tests: New file.
23642         * modules/unictype/category-Zp-tests: New file.
23643         * modules/unictype/category-Zs-tests: New file.
23644         * modules/unictype/category-and-not-tests: New file.
23645         * modules/unictype/category-and-tests: New file.
23646         * modules/unictype/category-byname-tests: New file.
23647         * modules/unictype/category-name-tests: New file.
23648         * modules/unictype/category-none-tests: New file.
23649         * modules/unictype/category-of-tests: New file.
23650         * modules/unictype/category-or-tests: New file.
23651         * modules/unictype/category-test-withtable-tests: New file.
23652         * modules/unictype/combining-class-tests: New file.
23653         * modules/unictype/ctype-alnum-tests: New file.
23654         * modules/unictype/ctype-alpha-tests: New file.
23655         * modules/unictype/ctype-blank-tests: New file.
23656         * modules/unictype/ctype-cntrl-tests: New file.
23657         * modules/unictype/ctype-digit-tests: New file.
23658         * modules/unictype/ctype-graph-tests: New file.
23659         * modules/unictype/ctype-lower-tests: New file.
23660         * modules/unictype/ctype-print-tests: New file.
23661         * modules/unictype/ctype-punct-tests: New file.
23662         * modules/unictype/ctype-space-tests: New file.
23663         * modules/unictype/ctype-upper-tests: New file.
23664         * modules/unictype/ctype-xdigit-tests: New file.
23665         * modules/unictype/decimal-digit-tests: New file.
23666         * modules/unictype/digit-tests: New file.
23667         * modules/unictype/mirror-tests: New file.
23668         * modules/unictype/numeric-tests: New file.
23669         * modules/unictype/property-alphabetic-tests: New file.
23670         * modules/unictype/property-ascii-hex-digit-tests: New file.
23671         * modules/unictype/property-bidi-arabic-digit-tests: New file.
23672         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
23673         * modules/unictype/property-bidi-block-separator-tests: New file.
23674         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
23675         * modules/unictype/property-bidi-common-separator-tests: New file.
23676         * modules/unictype/property-bidi-control-tests: New file.
23677         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
23678         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
23679         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
23680         * modules/unictype/property-bidi-european-digit-tests: New file.
23681         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
23682         * modules/unictype/property-bidi-left-to-right-tests: New file.
23683         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
23684         * modules/unictype/property-bidi-other-neutral-tests: New file.
23685         * modules/unictype/property-bidi-pdf-tests: New file.
23686         * modules/unictype/property-bidi-segment-separator-tests: New file.
23687         * modules/unictype/property-bidi-whitespace-tests: New file.
23688         * modules/unictype/property-byname-tests: New file.
23689         * modules/unictype/property-combining-tests: New file.
23690         * modules/unictype/property-composite-tests: New file.
23691         * modules/unictype/property-currency-symbol-tests: New file.
23692         * modules/unictype/property-dash-tests: New file.
23693         * modules/unictype/property-decimal-digit-tests: New file.
23694         * modules/unictype/property-default-ignorable-code-point-tests: New file.
23695         * modules/unictype/property-deprecated-tests: New file.
23696         * modules/unictype/property-diacritic-tests: New file.
23697         * modules/unictype/property-extender-tests: New file.
23698         * modules/unictype/property-format-control-tests: New file.
23699         * modules/unictype/property-grapheme-base-tests: New file.
23700         * modules/unictype/property-grapheme-extend-tests: New file.
23701         * modules/unictype/property-grapheme-link-tests: New file.
23702         * modules/unictype/property-hex-digit-tests: New file.
23703         * modules/unictype/property-hyphen-tests: New file.
23704         * modules/unictype/property-id-continue-tests: New file.
23705         * modules/unictype/property-id-start-tests: New file.
23706         * modules/unictype/property-ideographic-tests: New file.
23707         * modules/unictype/property-ids-binary-operator-tests: New file.
23708         * modules/unictype/property-ids-trinary-operator-tests: New file.
23709         * modules/unictype/property-ignorable-control-tests: New file.
23710         * modules/unictype/property-iso-control-tests: New file.
23711         * modules/unictype/property-join-control-tests: New file.
23712         * modules/unictype/property-left-of-pair-tests: New file.
23713         * modules/unictype/property-line-separator-tests: New file.
23714         * modules/unictype/property-logical-order-exception-tests: New file.
23715         * modules/unictype/property-lowercase-tests: New file.
23716         * modules/unictype/property-math-tests: New file.
23717         * modules/unictype/property-non-break-tests: New file.
23718         * modules/unictype/property-not-a-character-tests: New file.
23719         * modules/unictype/property-numeric-tests: New file.
23720         * modules/unictype/property-other-alphabetic-tests: New file.
23721         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
23722         * modules/unictype/property-other-grapheme-extend-tests: New file.
23723         * modules/unictype/property-other-id-continue-tests: New file.
23724         * modules/unictype/property-other-id-start-tests: New file.
23725         * modules/unictype/property-other-lowercase-tests: New file.
23726         * modules/unictype/property-other-math-tests: New file.
23727         * modules/unictype/property-other-uppercase-tests: New file.
23728         * modules/unictype/property-paired-punctuation-tests: New file.
23729         * modules/unictype/property-paragraph-separator-tests: New file.
23730         * modules/unictype/property-pattern-syntax-tests: New file.
23731         * modules/unictype/property-pattern-white-space-tests: New file.
23732         * modules/unictype/property-private-use-tests: New file.
23733         * modules/unictype/property-punctuation-tests: New file.
23734         * modules/unictype/property-quotation-mark-tests: New file.
23735         * modules/unictype/property-radical-tests: New file.
23736         * modules/unictype/property-sentence-terminal-tests: New file.
23737         * modules/unictype/property-soft-dotted-tests: New file.
23738         * modules/unictype/property-space-tests: New file.
23739         * modules/unictype/property-terminal-punctuation-tests: New file.
23740         * modules/unictype/property-test-tests: New file.
23741         * modules/unictype/property-titlecase-tests: New file.
23742         * modules/unictype/property-unassigned-code-value-tests: New file.
23743         * modules/unictype/property-unified-ideograph-tests: New file.
23744         * modules/unictype/property-uppercase-tests: New file.
23745         * modules/unictype/property-variation-selector-tests: New file.
23746         * modules/unictype/property-white-space-tests: New file.
23747         * modules/unictype/property-xid-continue-tests: New file.
23748         * modules/unictype/property-xid-start-tests: New file.
23749         * modules/unictype/property-zero-width-tests: New file.
23750         * modules/unictype/scripts-tests: New file.
23751         * modules/unictype/syntax-c-ident-tests: New file.
23752         * modules/unictype/syntax-c-whitespace-tests: New file.
23753         * modules/unictype/syntax-java-ident-tests: New file.
23754         * modules/unictype/syntax-java-whitespace-tests: New file.
23755         * tests/unictype/test-bidi_byname.c: New file.
23756         * tests/unictype/test-bidi_name.c: New file.
23757         * tests/unictype/test-bidi_of.c: New file.
23758         * tests/unictype/test-bidi_test.c: New file.
23759         * tests/unictype/test-block_list.c: New file.
23760         * tests/unictype/test-block_of.c: New file.
23761         * tests/unictype/test-block_test.c: New file.
23762         * tests/unictype/test-categ_and.c: New file.
23763         * tests/unictype/test-categ_and_not.c: New file.
23764         * tests/unictype/test-categ_byname.c: New file.
23765         * tests/unictype/test-categ_name.c: New file.
23766         * tests/unictype/test-categ_none.c: New file.
23767         * tests/unictype/test-categ_of.c: New file.
23768         * tests/unictype/test-categ_or.c: New file.
23769         * tests/unictype/test-categ_test_withtable.c: New file.
23770         * tests/unictype/test-combining.c: New file.
23771         * tests/unictype/test-decdigit.c: New file.
23772         * tests/unictype/test-digit.c: New file.
23773         * tests/unictype/test-mirror.c: New file.
23774         * tests/unictype/test-numeric.c: New file.
23775         * tests/unictype/test-pr_byname.c: New file.
23776         * tests/unictype/test-pr_test.c: New file.
23777         * tests/unictype/test-predicate-part1.h: New file.
23778         * tests/unictype/test-predicate-part2.h: New file.
23779         * tests/unictype/test-scripts.c: New file.
23780         * tests/unictype/test-sy_c_ident.c: New file.
23781         * tests/unictype/test-sy_java_ident.c: New file.
23782
23783         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
23784         for Unicode 5.0.0.
23785         * tests/unictype/test-categ_Cc.c: Likewise.
23786         * tests/unictype/test-categ_Cf.c: Likewise.
23787         * tests/unictype/test-categ_Cn.c: Likewise.
23788         * tests/unictype/test-categ_Co.c: Likewise.
23789         * tests/unictype/test-categ_Cs.c: Likewise.
23790         * tests/unictype/test-categ_L.c: Likewise.
23791         * tests/unictype/test-categ_Ll.c: Likewise.
23792         * tests/unictype/test-categ_Lm.c: Likewise.
23793         * tests/unictype/test-categ_Lo.c: Likewise.
23794         * tests/unictype/test-categ_Lt.c: Likewise.
23795         * tests/unictype/test-categ_Lu.c: Likewise.
23796         * tests/unictype/test-categ_M.c: Likewise.
23797         * tests/unictype/test-categ_Mc.c: Likewise.
23798         * tests/unictype/test-categ_Me.c: Likewise.
23799         * tests/unictype/test-categ_Mn.c: Likewise.
23800         * tests/unictype/test-categ_N.c: Likewise.
23801         * tests/unictype/test-categ_Nd.c: Likewise.
23802         * tests/unictype/test-categ_Nl.c: Likewise.
23803         * tests/unictype/test-categ_No.c: Likewise.
23804         * tests/unictype/test-categ_P.c: Likewise.
23805         * tests/unictype/test-categ_Pc.c: Likewise.
23806         * tests/unictype/test-categ_Pd.c: Likewise.
23807         * tests/unictype/test-categ_Pe.c: Likewise.
23808         * tests/unictype/test-categ_Pf.c: Likewise.
23809         * tests/unictype/test-categ_Pi.c: Likewise.
23810         * tests/unictype/test-categ_Po.c: Likewise.
23811         * tests/unictype/test-categ_Ps.c: Likewise.
23812         * tests/unictype/test-categ_S.c: Likewise.
23813         * tests/unictype/test-categ_Sc.c: Likewise.
23814         * tests/unictype/test-categ_Sk.c: Likewise.
23815         * tests/unictype/test-categ_Sm.c: Likewise.
23816         * tests/unictype/test-categ_So.c: Likewise.
23817         * tests/unictype/test-categ_Z.c: Likewise.
23818         * tests/unictype/test-categ_Zl.c: Likewise.
23819         * tests/unictype/test-categ_Zp.c: Likewise.
23820         * tests/unictype/test-categ_Zs.c: Likewise.
23821         * tests/unictype/test-ctype_alnum.c: Likewise.
23822         * tests/unictype/test-ctype_alpha.c: Likewise.
23823         * tests/unictype/test-ctype_blank.c: Likewise.
23824         * tests/unictype/test-ctype_cntrl.c: Likewise.
23825         * tests/unictype/test-ctype_digit.c: Likewise.
23826         * tests/unictype/test-ctype_graph.c: Likewise.
23827         * tests/unictype/test-ctype_lower.c: Likewise.
23828         * tests/unictype/test-ctype_print.c: Likewise.
23829         * tests/unictype/test-ctype_punct.c: Likewise.
23830         * tests/unictype/test-ctype_space.c: Likewise.
23831         * tests/unictype/test-ctype_upper.c: Likewise.
23832         * tests/unictype/test-ctype_xdigit.c: Likewise.
23833         * tests/unictype/test-decdigit.h: Likewise.
23834         * tests/unictype/test-digit.h: Likewise.
23835         * tests/unictype/test-numeric.h: Likewise.
23836         * tests/unictype/test-pr_alphabetic.c: Likewise.
23837         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
23838         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
23839         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
23840         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
23841         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
23842         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
23843         * tests/unictype/test-pr_bidi_control.c: Likewise.
23844         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
23845         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
23846         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
23847         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
23848         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
23849         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
23850         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
23851         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
23852         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
23853         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
23854         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
23855         * tests/unictype/test-pr_combining.c: Likewise.
23856         * tests/unictype/test-pr_composite.c: Likewise.
23857         * tests/unictype/test-pr_currency_symbol.c: Likewise.
23858         * tests/unictype/test-pr_dash.c: Likewise.
23859         * tests/unictype/test-pr_decimal_digit.c: Likewise.
23860         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
23861         * tests/unictype/test-pr_deprecated.c: Likewise.
23862         * tests/unictype/test-pr_diacritic.c: Likewise.
23863         * tests/unictype/test-pr_extender.c: Likewise.
23864         * tests/unictype/test-pr_format_control.c: Likewise.
23865         * tests/unictype/test-pr_grapheme_base.c: Likewise.
23866         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
23867         * tests/unictype/test-pr_grapheme_link.c: Likewise.
23868         * tests/unictype/test-pr_hex_digit.c: Likewise.
23869         * tests/unictype/test-pr_hyphen.c: Likewise.
23870         * tests/unictype/test-pr_id_continue.c: Likewise.
23871         * tests/unictype/test-pr_id_start.c: Likewise.
23872         * tests/unictype/test-pr_ideographic.c: Likewise.
23873         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
23874         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
23875         * tests/unictype/test-pr_ignorable_control.c: Likewise.
23876         * tests/unictype/test-pr_iso_control.c: Likewise.
23877         * tests/unictype/test-pr_join_control.c: Likewise.
23878         * tests/unictype/test-pr_left_of_pair.c: Likewise.
23879         * tests/unictype/test-pr_line_separator.c: Likewise.
23880         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
23881         * tests/unictype/test-pr_lowercase.c: Likewise.
23882         * tests/unictype/test-pr_math.c: Likewise.
23883         * tests/unictype/test-pr_non_break.c: Likewise.
23884         * tests/unictype/test-pr_not_a_character.c: Likewise.
23885         * tests/unictype/test-pr_numeric.c: Likewise.
23886         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
23887         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
23888         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
23889         * tests/unictype/test-pr_other_id_continue.c: Likewise.
23890         * tests/unictype/test-pr_other_id_start.c: Likewise.
23891         * tests/unictype/test-pr_other_lowercase.c: Likewise.
23892         * tests/unictype/test-pr_other_math.c: Likewise.
23893         * tests/unictype/test-pr_other_uppercase.c: Likewise.
23894         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
23895         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
23896         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
23897         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
23898         * tests/unictype/test-pr_private_use.c: Likewise.
23899         * tests/unictype/test-pr_punctuation.c: Likewise.
23900         * tests/unictype/test-pr_quotation_mark.c: Likewise.
23901         * tests/unictype/test-pr_radical.c: Likewise.
23902         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
23903         * tests/unictype/test-pr_soft_dotted.c: Likewise.
23904         * tests/unictype/test-pr_space.c: Likewise.
23905         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
23906         * tests/unictype/test-pr_titlecase.c: Likewise.
23907         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
23908         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
23909         * tests/unictype/test-pr_uppercase.c: Likewise.
23910         * tests/unictype/test-pr_variation_selector.c: Likewise.
23911         * tests/unictype/test-pr_white_space.c: Likewise.
23912         * tests/unictype/test-pr_xid_continue.c: Likewise.
23913         * tests/unictype/test-pr_xid_start.c: Likewise.
23914         * tests/unictype/test-pr_zero_width.c: Likewise.
23915         * tests/unictype/test-sy_c_whitespace.c: Likewise.
23916         * tests/unictype/test-sy_java_whitespace.c: Likewise.
23917
23918 2007-11-12  Bruno Haible  <bruno@clisp.org>
23919
23920         Unicode character classification functions.
23921         * lib/unictype.h: New file.
23922         * modules/unictype/base: New file.
23923         * modules/unictype/category-L: New file.
23924         * modules/unictype/category-Lu: New file.
23925         * modules/unictype/category-Ll: New file.
23926         * modules/unictype/category-Lt: New file.
23927         * modules/unictype/category-Lm: New file.
23928         * modules/unictype/category-Lo: New file.
23929         * modules/unictype/category-M: New file.
23930         * modules/unictype/category-Mn: New file.
23931         * modules/unictype/category-Mc: New file.
23932         * modules/unictype/category-Me: New file.
23933         * modules/unictype/category-N: New file.
23934         * modules/unictype/category-Nd: New file.
23935         * modules/unictype/category-Nl: New file.
23936         * modules/unictype/category-No: New file.
23937         * modules/unictype/category-P: New file.
23938         * modules/unictype/category-Pc: New file.
23939         * modules/unictype/category-Pd: New file.
23940         * modules/unictype/category-Ps: New file.
23941         * modules/unictype/category-Pe: New file.
23942         * modules/unictype/category-Pi: New file.
23943         * modules/unictype/category-Pf: New file.
23944         * modules/unictype/category-Po: New file.
23945         * modules/unictype/category-S: New file.
23946         * modules/unictype/category-Sm: New file.
23947         * modules/unictype/category-Sc: New file.
23948         * modules/unictype/category-Sk: New file.
23949         * modules/unictype/category-So: New file.
23950         * modules/unictype/category-Z: New file.
23951         * modules/unictype/category-Zs: New file.
23952         * modules/unictype/category-Zl: New file.
23953         * modules/unictype/category-Zp: New file.
23954         * modules/unictype/category-C: New file.
23955         * modules/unictype/category-Cc: New file.
23956         * modules/unictype/category-Cf: New file.
23957         * modules/unictype/category-Cs: New file.
23958         * modules/unictype/category-Co: New file.
23959         * modules/unictype/category-Cn: New file.
23960         * modules/unictype/category-or: New file.
23961         * modules/unictype/category-of: New file.
23962         * modules/unictype/category-test: New file.
23963         * modules/unictype/category-test-withtable: New file.
23964         * modules/unictype/category-byname: New file.
23965         * modules/unictype/category-none: New file.
23966         * modules/unictype/category-and: New file.
23967         * modules/unictype/category-and-not: New file.
23968         * modules/unictype/category-name: New file.
23969         * modules/unictype/combining-class: New file.
23970         * modules/unictype/category-all: New file.
23971         * modules/unictype/bidicategory-all: New file.
23972         * modules/unictype/bidicategory-byname: New file.
23973         * modules/unictype/bidicategory-name: New file.
23974         * modules/unictype/bidicategory-of: New file.
23975         * modules/unictype/bidicategory-test: New file.
23976         * modules/unictype/decimal-digit: New file.
23977         * modules/unictype/digit: New file.
23978         * modules/unictype/numeric: New file.
23979         * modules/unictype/mirror: New file.
23980         * modules/unictype/property-white-space: New file.
23981         * modules/unictype/property-alphabetic: New file.
23982         * modules/unictype/property-other-alphabetic: New file.
23983         * modules/unictype/property-not-a-character: New file.
23984         * modules/unictype/property-default-ignorable-code-point: New file.
23985         * modules/unictype/property-other-default-ignorable-code-point: New
23986         file.
23987         * modules/unictype/property-deprecated: New file.
23988         * modules/unictype/property-logical-order-exception: New file.
23989         * modules/unictype/property-variation-selector: New file.
23990         * modules/unictype/property-private-use: New file.
23991         * modules/unictype/property-unassigned-code-value: New file.
23992         * modules/unictype/property-uppercase: New file.
23993         * modules/unictype/property-other-uppercase: New file.
23994         * modules/unictype/property-lowercase: New file.
23995         * modules/unictype/property-other-lowercase: New file.
23996         * modules/unictype/property-titlecase: New file.
23997         * modules/unictype/property-soft-dotted: New file.
23998         * modules/unictype/property-id-start: New file.
23999         * modules/unictype/property-other-id-start: New file.
24000         * modules/unictype/property-id-continue: New file.
24001         * modules/unictype/property-other-id-continue: New file.
24002         * modules/unictype/property-xid-start: New file.
24003         * modules/unictype/property-xid-continue: New file.
24004         * modules/unictype/property-pattern-white-space: New file.
24005         * modules/unictype/property-pattern-syntax: New file.
24006         * modules/unictype/property-join-control: New file.
24007         * modules/unictype/property-grapheme-base: New file.
24008         * modules/unictype/property-grapheme-extend: New file.
24009         * modules/unictype/property-other-grapheme-extend: New file.
24010         * modules/unictype/property-grapheme-link: New file.
24011         * modules/unictype/property-bidi-control: New file.
24012         * modules/unictype/property-bidi-left-to-right: New file.
24013         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
24014         * modules/unictype/property-bidi-arabic-right-to-left: New file.
24015         * modules/unictype/property-bidi-european-digit: New file.
24016         * modules/unictype/property-bidi-eur-num-separator: New file.
24017         * modules/unictype/property-bidi-eur-num-terminator: New file.
24018         * modules/unictype/property-bidi-arabic-digit: New file.
24019         * modules/unictype/property-bidi-common-separator: New file.
24020         * modules/unictype/property-bidi-block-separator: New file.
24021         * modules/unictype/property-bidi-segment-separator: New file.
24022         * modules/unictype/property-bidi-whitespace: New file.
24023         * modules/unictype/property-bidi-non-spacing-mark: New file.
24024         * modules/unictype/property-bidi-boundary-neutral: New file.
24025         * modules/unictype/property-bidi-pdf: New file.
24026         * modules/unictype/property-bidi-embedding-or-override: New file.
24027         * modules/unictype/property-bidi-other-neutral: New file.
24028         * modules/unictype/property-hex-digit: New file.
24029         * modules/unictype/property-ascii-hex-digit: New file.
24030         * modules/unictype/property-ideographic: New file.
24031         * modules/unictype/property-unified-ideograph: New file.
24032         * modules/unictype/property-radical: New file.
24033         * modules/unictype/property-ids-binary-operator: New file.
24034         * modules/unictype/property-ids-trinary-operator: New file.
24035         * modules/unictype/property-zero-width: New file.
24036         * modules/unictype/property-space: New file.
24037         * modules/unictype/property-non-break: New file.
24038         * modules/unictype/property-iso-control: New file.
24039         * modules/unictype/property-format-control: New file.
24040         * modules/unictype/property-dash: New file.
24041         * modules/unictype/property-hyphen: New file.
24042         * modules/unictype/property-punctuation: New file.
24043         * modules/unictype/property-line-separator: New file.
24044         * modules/unictype/property-paragraph-separator: New file.
24045         * modules/unictype/property-quotation-mark: New file.
24046         * modules/unictype/property-sentence-terminal: New file.
24047         * modules/unictype/property-terminal-punctuation: New file.
24048         * modules/unictype/property-currency-symbol: New file.
24049         * modules/unictype/property-math: New file.
24050         * modules/unictype/property-other-math: New file.
24051         * modules/unictype/property-paired-punctuation: New file.
24052         * modules/unictype/property-left-of-pair: New file.
24053         * modules/unictype/property-combining: New file.
24054         * modules/unictype/property-composite: New file.
24055         * modules/unictype/property-decimal-digit: New file.
24056         * modules/unictype/property-numeric: New file.
24057         * modules/unictype/property-diacritic: New file.
24058         * modules/unictype/property-extender: New file.
24059         * modules/unictype/property-ignorable-control: New file.
24060         * modules/unictype/property-test: New file.
24061         * modules/unictype/property-byname: New file.
24062         * modules/unictype/property-all: New file.
24063         * modules/unictype/scripts: New file.
24064         * modules/unictype/scripts-all: New file.
24065         * modules/unictype/block-of: New file.
24066         * modules/unictype/block-test: New file.
24067         * modules/unictype/block-list: New file.
24068         * modules/unictype/block-all: New file.
24069         * modules/unictype/syntax-c-whitespace: New file.
24070         * modules/unictype/syntax-java-whitespace: New file.
24071         * modules/unictype/syntax-c-ident: New file.
24072         * modules/unictype/syntax-java-ident: New file.
24073         * modules/unictype/ctype-alnum: New file.
24074         * modules/unictype/ctype-alpha: New file.
24075         * modules/unictype/ctype-cntrl: New file.
24076         * modules/unictype/ctype-digit: New file.
24077         * modules/unictype/ctype-graph: New file.
24078         * modules/unictype/ctype-lower: New file.
24079         * modules/unictype/ctype-print: New file.
24080         * modules/unictype/ctype-punct: New file.
24081         * modules/unictype/ctype-space: New file.
24082         * modules/unictype/ctype-upper: New file.
24083         * modules/unictype/ctype-xdigit: New file.
24084         * modules/unictype/ctype-blank: New file.
24085         * lib/unictype/bidi_byname.c: New file.
24086         * lib/unictype/bidi_name.c: New file.
24087         * lib/unictype/bidi_of.c: New file.
24088         * lib/unictype/bidi_test.c: New file.
24089         * lib/unictype/bitmap.h: New file.
24090         * lib/unictype/block_test.c: New file.
24091         * lib/unictype/blocks.c: New file.
24092         * lib/unictype/categ_C.c: New file.
24093         * lib/unictype/categ_Cc.c: New file.
24094         * lib/unictype/categ_Cf.c: New file.
24095         * lib/unictype/categ_Cn.c: New file.
24096         * lib/unictype/categ_Co.c: New file.
24097         * lib/unictype/categ_Cs.c: New file.
24098         * lib/unictype/categ_L.c: New file.
24099         * lib/unictype/categ_Ll.c: New file.
24100         * lib/unictype/categ_Lm.c: New file.
24101         * lib/unictype/categ_Lo.c: New file.
24102         * lib/unictype/categ_Lt.c: New file.
24103         * lib/unictype/categ_Lu.c: New file.
24104         * lib/unictype/categ_M.c: New file.
24105         * lib/unictype/categ_Mc.c: New file.
24106         * lib/unictype/categ_Me.c: New file.
24107         * lib/unictype/categ_Mn.c: New file.
24108         * lib/unictype/categ_N.c: New file.
24109         * lib/unictype/categ_Nd.c: New file.
24110         * lib/unictype/categ_Nl.c: New file.
24111         * lib/unictype/categ_No.c: New file.
24112         * lib/unictype/categ_P.c: New file.
24113         * lib/unictype/categ_Pc.c: New file.
24114         * lib/unictype/categ_Pd.c: New file.
24115         * lib/unictype/categ_Pe.c: New file.
24116         * lib/unictype/categ_Pf.c: New file.
24117         * lib/unictype/categ_Pi.c: New file.
24118         * lib/unictype/categ_Po.c: New file.
24119         * lib/unictype/categ_Ps.c: New file.
24120         * lib/unictype/categ_S.c: New file.
24121         * lib/unictype/categ_Sc.c: New file.
24122         * lib/unictype/categ_Sk.c: New file.
24123         * lib/unictype/categ_Sm.c: New file.
24124         * lib/unictype/categ_So.c: New file.
24125         * lib/unictype/categ_Z.c: New file.
24126         * lib/unictype/categ_Zl.c: New file.
24127         * lib/unictype/categ_Zp.c: New file.
24128         * lib/unictype/categ_Zs.c: New file.
24129         * lib/unictype/categ_and.c: New file.
24130         * lib/unictype/categ_and_not.c: New file.
24131         * lib/unictype/categ_byname.c: New file.
24132         * lib/unictype/categ_name.c: New file.
24133         * lib/unictype/categ_none.c: New file.
24134         * lib/unictype/categ_of.c: New file.
24135         * lib/unictype/categ_or.c: New file.
24136         * lib/unictype/categ_test.c: New file.
24137         * lib/unictype/combining.c: New file.
24138         * lib/unictype/ctype_alnum.c: New file.
24139         * lib/unictype/ctype_alpha.c: New file.
24140         * lib/unictype/ctype_blank.c: New file.
24141         * lib/unictype/ctype_cntrl.c: New file.
24142         * lib/unictype/ctype_digit.c: New file.
24143         * lib/unictype/ctype_graph.c: New file.
24144         * lib/unictype/ctype_lower.c: New file.
24145         * lib/unictype/ctype_print.c: New file.
24146         * lib/unictype/ctype_punct.c: New file.
24147         * lib/unictype/ctype_space.c: New file.
24148         * lib/unictype/ctype_upper.c: New file.
24149         * lib/unictype/ctype_xdigit.c: New file.
24150         * lib/unictype/decdigit.c: New file.
24151         * lib/unictype/digit.c: New file.
24152         * lib/unictype/identsyntaxmap.h: New file.
24153         * lib/unictype/mirror.c: New file.
24154         * lib/unictype/numeric.c: New file.
24155         * lib/unictype/pr_alphabetic.c: New file.
24156         * lib/unictype/pr_ascii_hex_digit.c: New file.
24157         * lib/unictype/pr_bidi_arabic_digit.c: New file.
24158         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
24159         * lib/unictype/pr_bidi_block_separator.c: New file.
24160         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
24161         * lib/unictype/pr_bidi_common_separator.c: New file.
24162         * lib/unictype/pr_bidi_control.c: New file.
24163         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
24164         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
24165         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
24166         * lib/unictype/pr_bidi_european_digit.c: New file.
24167         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
24168         * lib/unictype/pr_bidi_left_to_right.c: New file.
24169         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
24170         * lib/unictype/pr_bidi_other_neutral.c: New file.
24171         * lib/unictype/pr_bidi_pdf.c: New file.
24172         * lib/unictype/pr_bidi_segment_separator.c: New file.
24173         * lib/unictype/pr_bidi_whitespace.c: New file.
24174         * lib/unictype/pr_byname.c: New file.
24175         * lib/unictype/pr_byname.gperf: New file.
24176         * lib/unictype/pr_combining.c: New file.
24177         * lib/unictype/pr_composite.c: New file.
24178         * lib/unictype/pr_currency_symbol.c: New file.
24179         * lib/unictype/pr_dash.c: New file.
24180         * lib/unictype/pr_decimal_digit.c: New file.
24181         * lib/unictype/pr_default_ignorable_code_point.c: New file.
24182         * lib/unictype/pr_deprecated.c: New file.
24183         * lib/unictype/pr_diacritic.c: New file.
24184         * lib/unictype/pr_extender.c: New file.
24185         * lib/unictype/pr_format_control.c: New file.
24186         * lib/unictype/pr_grapheme_base.c: New file.
24187         * lib/unictype/pr_grapheme_extend.c: New file.
24188         * lib/unictype/pr_grapheme_link.c: New file.
24189         * lib/unictype/pr_hex_digit.c: New file.
24190         * lib/unictype/pr_hyphen.c: New file.
24191         * lib/unictype/pr_id_continue.c: New file.
24192         * lib/unictype/pr_id_start.c: New file.
24193         * lib/unictype/pr_ideographic.c: New file.
24194         * lib/unictype/pr_ids_binary_operator.c: New file.
24195         * lib/unictype/pr_ids_trinary_operator.c: New file.
24196         * lib/unictype/pr_ignorable_control.c: New file.
24197         * lib/unictype/pr_iso_control.c: New file.
24198         * lib/unictype/pr_join_control.c: New file.
24199         * lib/unictype/pr_left_of_pair.c: New file.
24200         * lib/unictype/pr_line_separator.c: New file.
24201         * lib/unictype/pr_logical_order_exception.c: New file.
24202         * lib/unictype/pr_lowercase.c: New file.
24203         * lib/unictype/pr_math.c: New file.
24204         * lib/unictype/pr_non_break.c: New file.
24205         * lib/unictype/pr_not_a_character.c: New file.
24206         * lib/unictype/pr_numeric.c: New file.
24207         * lib/unictype/pr_other_alphabetic.c: New file.
24208         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
24209         * lib/unictype/pr_other_grapheme_extend.c: New file.
24210         * lib/unictype/pr_other_id_continue.c: New file.
24211         * lib/unictype/pr_other_id_start.c: New file.
24212         * lib/unictype/pr_other_lowercase.c: New file.
24213         * lib/unictype/pr_other_math.c: New file.
24214         * lib/unictype/pr_other_uppercase.c: New file.
24215         * lib/unictype/pr_paired_punctuation.c: New file.
24216         * lib/unictype/pr_paragraph_separator.c: New file.
24217         * lib/unictype/pr_pattern_syntax.c: New file.
24218         * lib/unictype/pr_pattern_white_space.c: New file.
24219         * lib/unictype/pr_private_use.c: New file.
24220         * lib/unictype/pr_punctuation.c: New file.
24221         * lib/unictype/pr_quotation_mark.c: New file.
24222         * lib/unictype/pr_radical.c: New file.
24223         * lib/unictype/pr_sentence_terminal.c: New file.
24224         * lib/unictype/pr_soft_dotted.c: New file.
24225         * lib/unictype/pr_space.c: New file.
24226         * lib/unictype/pr_terminal_punctuation.c: New file.
24227         * lib/unictype/pr_test.c: New file.
24228         * lib/unictype/pr_titlecase.c: New file.
24229         * lib/unictype/pr_unassigned_code_value.c: New file.
24230         * lib/unictype/pr_unified_ideograph.c: New file.
24231         * lib/unictype/pr_uppercase.c: New file.
24232         * lib/unictype/pr_variation_selector.c: New file.
24233         * lib/unictype/pr_white_space.c: New file.
24234         * lib/unictype/pr_xid_continue.c: New file.
24235         * lib/unictype/pr_xid_start.c: New file.
24236         * lib/unictype/pr_zero_width.c: New file.
24237         * lib/unictype/scripts.c: New file.
24238         * lib/unictype/sy_c_ident.c: New file.
24239         * lib/unictype/sy_c_whitespace.c: New file.
24240         * lib/unictype/sy_java_ident.c: New file.
24241         * lib/unictype/sy_java_whitespace.c: New file.
24242
24243         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
24244         Unicode 5.0.0.
24245         * lib/unictype/blocks.h: Likewise.
24246         * lib/unictype/categ_C.h: Likewise.
24247         * lib/unictype/categ_Cc.h: Likewise.
24248         * lib/unictype/categ_Cf.h: Likewise.
24249         * lib/unictype/categ_Cn.h: Likewise.
24250         * lib/unictype/categ_Co.h: Likewise.
24251         * lib/unictype/categ_Cs.h: Likewise.
24252         * lib/unictype/categ_L.h: Likewise.
24253         * lib/unictype/categ_Ll.h: Likewise.
24254         * lib/unictype/categ_Lm.h: Likewise.
24255         * lib/unictype/categ_Lo.h: Likewise.
24256         * lib/unictype/categ_Lt.h: Likewise.
24257         * lib/unictype/categ_Lu.h: Likewise.
24258         * lib/unictype/categ_M.h: Likewise.
24259         * lib/unictype/categ_Mc.h: Likewise.
24260         * lib/unictype/categ_Me.h: Likewise.
24261         * lib/unictype/categ_Mn.h: Likewise.
24262         * lib/unictype/categ_N.h: Likewise.
24263         * lib/unictype/categ_Nd.h: Likewise.
24264         * lib/unictype/categ_Nl.h: Likewise.
24265         * lib/unictype/categ_No.h: Likewise.
24266         * lib/unictype/categ_P.h: Likewise.
24267         * lib/unictype/categ_Pc.h: Likewise.
24268         * lib/unictype/categ_Pd.h: Likewise.
24269         * lib/unictype/categ_Pe.h: Likewise.
24270         * lib/unictype/categ_Pf.h: Likewise.
24271         * lib/unictype/categ_Pi.h: Likewise.
24272         * lib/unictype/categ_Po.h: Likewise.
24273         * lib/unictype/categ_Ps.h: Likewise.
24274         * lib/unictype/categ_S.h: Likewise.
24275         * lib/unictype/categ_Sc.h: Likewise.
24276         * lib/unictype/categ_Sk.h: Likewise.
24277         * lib/unictype/categ_Sm.h: Likewise.
24278         * lib/unictype/categ_So.h: Likewise.
24279         * lib/unictype/categ_Z.h: Likewise.
24280         * lib/unictype/categ_Zl.h: Likewise.
24281         * lib/unictype/categ_Zp.h: Likewise.
24282         * lib/unictype/categ_Zs.h: Likewise.
24283         * lib/unictype/categ_of.h: Likewise.
24284         * lib/unictype/combining.h: Likewise.
24285         * lib/unictype/ctype_alnum.h: Likewise.
24286         * lib/unictype/ctype_alpha.h: Likewise.
24287         * lib/unictype/ctype_blank.h: Likewise.
24288         * lib/unictype/ctype_cntrl.h: Likewise.
24289         * lib/unictype/ctype_digit.h: Likewise.
24290         * lib/unictype/ctype_graph.h: Likewise.
24291         * lib/unictype/ctype_lower.h: Likewise.
24292         * lib/unictype/ctype_print.h: Likewise.
24293         * lib/unictype/ctype_punct.h: Likewise.
24294         * lib/unictype/ctype_space.h: Likewise.
24295         * lib/unictype/ctype_upper.h: Likewise.
24296         * lib/unictype/ctype_xdigit.h: Likewise.
24297         * lib/unictype/decdigit.h: Likewise.
24298         * lib/unictype/digit.h: Likewise.
24299         * lib/unictype/mirror.h: Likewise.
24300         * lib/unictype/numeric.h: Likewise.
24301         * lib/unictype/pr_alphabetic.h: Likewise.
24302         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
24303         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
24304         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
24305         * lib/unictype/pr_bidi_block_separator.h: Likewise.
24306         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
24307         * lib/unictype/pr_bidi_common_separator.h: Likewise.
24308         * lib/unictype/pr_bidi_control.h: Likewise.
24309         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
24310         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
24311         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
24312         * lib/unictype/pr_bidi_european_digit.h: Likewise.
24313         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
24314         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
24315         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
24316         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
24317         * lib/unictype/pr_bidi_pdf.h: Likewise.
24318         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
24319         * lib/unictype/pr_bidi_whitespace.h: Likewise.
24320         * lib/unictype/pr_combining.h: Likewise.
24321         * lib/unictype/pr_composite.h: Likewise.
24322         * lib/unictype/pr_currency_symbol.h: Likewise.
24323         * lib/unictype/pr_dash.h: Likewise.
24324         * lib/unictype/pr_decimal_digit.h: Likewise.
24325         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
24326         * lib/unictype/pr_deprecated.h: Likewise.
24327         * lib/unictype/pr_diacritic.h: Likewise.
24328         * lib/unictype/pr_extender.h: Likewise.
24329         * lib/unictype/pr_format_control.h: Likewise.
24330         * lib/unictype/pr_grapheme_base.h: Likewise.
24331         * lib/unictype/pr_grapheme_extend.h: Likewise.
24332         * lib/unictype/pr_grapheme_link.h: Likewise.
24333         * lib/unictype/pr_hex_digit.h: Likewise.
24334         * lib/unictype/pr_hyphen.h: Likewise.
24335         * lib/unictype/pr_id_continue.h: Likewise.
24336         * lib/unictype/pr_id_start.h: Likewise.
24337         * lib/unictype/pr_ideographic.h: Likewise.
24338         * lib/unictype/pr_ids_binary_operator.h: Likewise.
24339         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
24340         * lib/unictype/pr_ignorable_control.h: Likewise.
24341         * lib/unictype/pr_iso_control.h: Likewise.
24342         * lib/unictype/pr_join_control.h: Likewise.
24343         * lib/unictype/pr_left_of_pair.h: Likewise.
24344         * lib/unictype/pr_line_separator.h: Likewise.
24345         * lib/unictype/pr_logical_order_exception.h: Likewise.
24346         * lib/unictype/pr_lowercase.h: Likewise.
24347         * lib/unictype/pr_math.h: Likewise.
24348         * lib/unictype/pr_non_break.h: Likewise.
24349         * lib/unictype/pr_not_a_character.h: Likewise.
24350         * lib/unictype/pr_numeric.h: Likewise.
24351         * lib/unictype/pr_other_alphabetic.h: Likewise.
24352         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
24353         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
24354         * lib/unictype/pr_other_id_continue.h: Likewise.
24355         * lib/unictype/pr_other_id_start.h: Likewise.
24356         * lib/unictype/pr_other_lowercase.h: Likewise.
24357         * lib/unictype/pr_other_math.h: Likewise.
24358         * lib/unictype/pr_other_uppercase.h: Likewise.
24359         * lib/unictype/pr_paired_punctuation.h: Likewise.
24360         * lib/unictype/pr_paragraph_separator.h: Likewise.
24361         * lib/unictype/pr_pattern_syntax.h: Likewise.
24362         * lib/unictype/pr_pattern_white_space.h: Likewise.
24363         * lib/unictype/pr_private_use.h: Likewise.
24364         * lib/unictype/pr_punctuation.h: Likewise.
24365         * lib/unictype/pr_quotation_mark.h: Likewise.
24366         * lib/unictype/pr_radical.h: Likewise.
24367         * lib/unictype/pr_sentence_terminal.h: Likewise.
24368         * lib/unictype/pr_soft_dotted.h: Likewise.
24369         * lib/unictype/pr_space.h: Likewise.
24370         * lib/unictype/pr_terminal_punctuation.h: Likewise.
24371         * lib/unictype/pr_titlecase.h: Likewise.
24372         * lib/unictype/pr_unassigned_code_value.h: Likewise.
24373         * lib/unictype/pr_unified_ideograph.h: Likewise.
24374         * lib/unictype/pr_uppercase.h: Likewise.
24375         * lib/unictype/pr_variation_selector.h: Likewise.
24376         * lib/unictype/pr_white_space.h: Likewise.
24377         * lib/unictype/pr_xid_continue.h: Likewise.
24378         * lib/unictype/pr_xid_start.h: Likewise.
24379         * lib/unictype/pr_zero_width.h: Likewise.
24380         * lib/unictype/scripts.h: Likewise.
24381         * lib/unictype/scripts_byname.gperf: Likewise.
24382         * lib/unictype/sy_c_ident.h: Likewise.
24383         * lib/unictype/sy_c_whitespace.h: Likewise.
24384         * lib/unictype/sy_java_ident.h: Likewise.
24385         * lib/unictype/sy_java_whitespace.h: Likewise.
24386
24387         * lib/unictype/Makefile: New file.
24388         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
24389         glibc.
24390         * lib/unictype/3level.h: New file, copied from glibc.
24391         * lib/unictype/3levelbit.h: New file.
24392
24393 2007-11-11  Bruno Haible  <bruno@clisp.org>
24394
24395         * modules/gperf: New file.
24396         * modules/iconv_open (Depends-on): Add it.
24397         (Makefile.am): Remove the GPERF definition.
24398
24399 2007-11-11  Bruno Haible  <bruno@clisp.org>
24400
24401         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
24402         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
24403
24404 2007-11-11  Bruno Haible  <bruno@clisp.org>
24405
24406         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
24407         (usage): Remove function.
24408
24409 2007-11-11  Bruno Haible  <bruno@clisp.org>
24410
24411         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
24412         gl_FUNC_CEILF_LIBS.
24413         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
24414         gl_FUNC_CEIL_LIBS.
24415         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
24416         gl_FUNC_CEILL_LIBS.
24417         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
24418         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
24419         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
24420
24421 2007-11-11  Bruno Haible  <bruno@clisp.org>
24422
24423         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
24424         roundf were declared but do not exist on functions.
24425         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
24426         roundl were declared but do not exist on functions.
24427         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
24428         HAVE_FLOORL_AND_CEILL, respectively.
24429         Needed for Sun C on Solaris 10.
24430
24431 2007-11-11  Bruno Haible  <bruno@clisp.org>
24432
24433         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
24434         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
24435         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
24436         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
24437         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
24438         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
24439         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
24440         HAVE_DECL_ROUNDF.
24441         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
24442         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
24443         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
24444         of HAVE_DECL_ROUND*.
24445         * modules/math (Makefile.am): Update.
24446
24447 2007-11-10  Bruno Haible  <bruno@clisp.org>
24448
24449         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
24450         ptrdiff_t as m4/intl.m4.
24451
24452 2007-11-10  Jim Meyering  <meyering@redhat.com>
24453
24454         Avoid link failure for the argmatch test.
24455         * tests/test-argmatch.c (usage): Define function to avoid a link
24456         failure: argmatch_die requires a usage function.
24457
24458 2007-11-09  Bruno Haible  <bruno@clisp.org>
24459
24460         * doc/functions/snprintf.texi: Mention BeOS deficiency.
24461         * doc/functions/vsnprintf.texi: Likewise.
24462         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
24463         with a size argument < 2.
24464
24465 2007-11-09  Bruno Haible  <bruno@clisp.org>
24466
24467         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
24468         buffer. Fixes an inefficiency introduced on 2007-11-03.
24469
24470 2007-11-09  Bruno Haible  <bruno@clisp.org>
24471
24472         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
24473         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
24474
24475 2007-11-08  Jim Meyering  <meyering@redhat.com>
24476
24477         Change cache variable name prefix "jm_" to "gl_" everywhere.
24478         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
24479         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
24480         * m4/uptime.m4: s/gl_/jm_/
24481
24482 2007-11-07  Bruno Haible  <bruno@clisp.org>
24483
24484         Update to GNU gettext 0.17.
24485         * m4/intl.m4: Update to GNU gettext 0.17.
24486         * m4/po.m4: Likewise.
24487         * modules/gettext (Files): Remove m4/ulonglong.m4.
24488         (configure.ac): Require gettext infrastructure from version 0.17.
24489
24490 2007-11-06  Bruno Haible  <bruno@clisp.org>
24491
24492         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
24493         symbolic values are not defined in a public header.
24494         * lib/freadable.c (freadable) [QNX]: Likewise.
24495         * lib/freadahead.c (freadahead) [QNX]: Likewise.
24496         * lib/freading.c (freading) [QNX]: Likewise.
24497         * lib/fseterr.c (fseterr) [QNX]: Likewise.
24498         * lib/fwritable.c (fwritable) [QNX]: Likewise.
24499         * lib/fwriting.c (fwriting) [QNX]: Likewise.
24500         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
24501         Reported by Alain Magloire.
24502
24503         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
24504
24505 2007-11-05  Bruno Haible  <bruno@clisp.org>
24506
24507         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
24508         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
24509         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
24510         Reported by Eric Blake.
24511
24512 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24513             Bruno Haible  <bruno@clisp.org>
24514
24515         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
24516         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
24517         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
24518         (malloc): Undefine also before including <stdlib.h>.
24519         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
24520         Needed on OSF/1 4.0.
24521
24522 2007-11-05  Jim Meyering  <meyering@redhat.com>
24523
24524         git-version-gen: sync from coreutils.
24525         * build-aux/git-version-gen: Add comments.
24526         Change the first '-' to '.' in the snapshot version string,
24527         e.g., 6.9-377-08144 -> 6.9.377-08144
24528         Remove first parameter.
24529         Don't declare a version "-dirty" merely because a time
24530         stamp has changed.
24531
24532 2007-11-04  Bruno Haible  <bruno@clisp.org>
24533
24534         * lib/lock.h: Protect all macro definitions containing an 'if'
24535         statement through a "do { ... } while (0)".
24536         * lib/tls.h: Likewise.
24537
24538 2007-11-04  Bruno Haible  <bruno@clisp.org>
24539
24540         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
24541
24542 2007-11-04  Bruno Haible  <bruno@clisp.org>
24543
24544         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
24545         * modules/fprintf-posix (Depends-on): Add nocrash.
24546         * modules/snprintf-posix (Depends-on): Likewise.
24547         * modules/sprintf-posix (Depends-on): Likewise.
24548         * modules/vasnprintf-posix (Depends-on): Likewise.
24549         * modules/vasprintf-posix (Depends-on): Likewise.
24550         * modules/vfprintf-posix (Depends-on): Likewise.
24551         * modules/vsnprintf-posix (Depends-on): Likewise.
24552         * modules/vsprintf-posix (Depends-on): Likewise.
24553         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
24554         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
24555         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
24556         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
24557         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
24558         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
24559         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
24560
24561 2007-11-04  Bruno Haible  <bruno@clisp.org>
24562
24563         * modules/nocrash: New file.
24564         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
24565         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
24566
24567 2007-11-04  Bruno Haible  <bruno@clisp.org>
24568
24569         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
24570         precision handling.
24571         * tests/test-vasprintf-posix.c (test_function): Likewise.
24572         * tests/test-snprintf-posix.h (test_function): Likewise.
24573         * tests/test-sprintf-posix.h (test_function): Likewise.
24574
24575         Fix *printf behaviour for large precisions on mingw and BeOS.
24576         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
24577         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
24578         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
24579         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
24580         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
24581         gl_PRINTF_PRECISION and test its result. Invoke
24582         gl_PREREQ_VASNPRINTF_PRECISION.
24583         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
24584         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
24585         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
24586         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
24587         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
24588         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
24589         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
24590         * doc/functions/fprintf.texi: Update.
24591         * doc/functions/printf.texi: Update.
24592         * doc/functions/snprintf.texi: Update.
24593         * doc/functions/sprintf.texi: Update.
24594         * doc/functions/vfprintf.texi: Update.
24595         * doc/functions/vprintf.texi: Update.
24596         * doc/functions/vsnprintf.texi: Update.
24597         * doc/functions/vsprintf.texi: Update.
24598
24599 2007-11-04  Bruno Haible  <bruno@clisp.org>
24600
24601         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
24602
24603 2007-11-04  Bruno Haible  <bruno@clisp.org>
24604
24605         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
24606         Reported by Sylvain Beucler <beuc@gnu.org>.
24607
24608 2007-11-03  Bruno Haible  <bruno@clisp.org>
24609
24610         * tests/test-fprintf-posix2.sh: New file.
24611         * tests/test-fprintf-posix2.c: New file.
24612         * modules/fprintf-posix-tests (Files): Add them.
24613         (TESTS): Add test-fprintf-posix2.sh.
24614         (configure.ac): Check for getrlimit and setrlimit.
24615         (check_PROGRAMS): Add test-fprintf-posix2.
24616
24617         * tests/test-printf-posix2.sh: New file.
24618         * tests/test-printf-posix2.c: New file.
24619         * modules/printf-posix-tests (Files): Add them.
24620         (TESTS): Add test-printf-posix2.sh.
24621         (configure.ac): Check for getrlimit and setrlimit.
24622         (check_PROGRAMS): Add test-printf-posix2.
24623
24624         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
24625         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
24626         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
24627         (decode_double): New function, copied from decode_long_double.
24628         (scale10_round_decimal_decoded): New function, extracted from
24629         scale10_round_decimal_long_double.
24630         (scale10_round_decimal_long_double): Use it.
24631         (scale10_round_decimal_double): New function.
24632         (floorlog10): New function.
24633         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
24634         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
24635         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
24636         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
24637         gl_PRINTF_ENOMEM and test its result. Invoke
24638         gl_PREREQ_VASNPRINTF_ENOMEM.
24639         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
24640         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
24641         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
24642         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
24643         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
24644         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
24645         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
24646         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
24647         * modules/snprintf-posix (Depends-on): Likewise.
24648         * modules/sprintf-posix (Depends-on): Likewise.
24649         * modules/vasnprintf-posix (Depends-on): Likewise.
24650         * modules/vasprintf-posix (Depends-on): Likewise.
24651         * modules/vfprintf-posix (Depends-on): Likewise.
24652         * modules/vsnprintf-posix (Depends-on): Likewise.
24653         * modules/vsprintf-posix (Depends-on): Likewise.
24654         * doc/functions/fprintf.texi: Update.
24655         * doc/functions/printf.texi: Update.
24656         * doc/functions/snprintf.texi: Update.
24657         * doc/functions/sprintf.texi: Update.
24658         * doc/functions/vfprintf.texi: Update.
24659         * doc/functions/vprintf.texi: Update.
24660         * doc/functions/vsnprintf.texi: Update.
24661         * doc/functions/vsprintf.texi: Update.
24662
24663 2007-11-03  Bruno Haible  <bruno@clisp.org>
24664
24665         * modules/frexp-nolibm-tests: New file.
24666
24667         * modules/frexp-nolibm: New file.
24668         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
24669
24670 2007-11-03  Bruno Haible  <bruno@clisp.org>
24671
24672         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
24673         value is C99 compliant.
24674         Needed for OSF/1 5.1.
24675
24676 2007-11-03  Bruno Haible  <bruno@clisp.org>
24677
24678         Fix out-of-memory handling of vasnprintf.
24679         * lib/printf-parse.c: Include <errno.h>.
24680         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
24681         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
24682         is already set.
24683
24684 2007-11-02  Eric Blake  <ebb9@byu.net>
24685
24686         Fix tests on cygwin.
24687         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
24688
24689 2007-11-01  Bruno Haible  <bruno@clisp.org>
24690
24691         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
24692         warning.
24693         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
24694         needed for POSIX compatibility.
24695
24696 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
24697
24698         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
24699         for compatibility with GNU.
24700
24701 2007-11-01  Bruno Haible  <bruno@clisp.org>
24702
24703         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
24704         (putenv): Renamed from rpl_putenv. Change argument type from
24705         'const char *' to 'char *'.
24706         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
24707         of defining putenv in config.h, just set REPLACE_PUTENV.
24708         * modules/putenv (Depends-on): Add stdlib.
24709         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
24710         (Include): Use <stdlib.h>.
24711         * lib/stdlib.in.h (putenv): New declaration.
24712         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
24713         REPLACE_PUTENV.
24714         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
24715         REPLACE_PUTENV.
24716         Needed for MacOS X 10.5.0.
24717         Reported by Peter O'Gorman <peter@pogma.com>.
24718
24719 2007-11-01  Jim Meyering  <meyering@redhat.com>
24720
24721         Treat an empty date string exactly like "0".
24722         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
24723         if the remaining date string (to be parsed) is empty, use "0".
24724         Reported by Mischa Molhoek and discussed in this thread:
24725         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
24726
24727 2007-10-31  Bruno Haible  <bruno@clisp.org>
24728
24729         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
24730         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
24731         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
24732         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
24733         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
24734         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
24735
24736 2007-10-31  Bruno Haible  <bruno@clisp.org>
24737
24738         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
24739         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
24740         (AC_TYPE_LONG_LONG_INT): Use it.
24741         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
24742         it as well.
24743         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
24744         to m4/longlong.m4.
24745         * modules/stdint (Files): Remove m4/ulonglong.m4.
24746         * modules/strtoull (Files): Use m4/longlong.m4 instead of
24747         m4/ulonglong.m4.
24748         * modules/strtoumax (Files): Likewise.
24749
24750 2007-10-30  Bruno Haible  <bruno@clisp.org>
24751
24752         * modules/xvasprintf-posix: New file.
24753         Suggested by Eric Blake.
24754
24755 2007-10-30  Bruno Haible  <bruno@clisp.org>
24756
24757         * modules/xprintf-posix-tests: New file.
24758         * tests/test-xprintf-posix.sh: New file.
24759         * tests/test-xprintf-posix.c: New file.
24760         * tests/test-xfprintf-posix.c: New file.
24761
24762         * modules/xprintf-posix: New file.
24763
24764 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24765
24766         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
24767         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
24768         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
24769
24770 2007-10-29  Bruno Haible  <bruno@clisp.org>
24771
24772         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
24773         contain the special marker '_cv_'.
24774         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
24775         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
24776         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
24777         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
24778         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
24779         Reported by Ralf Wildenhues.
24780
24781 2007-10-29  Bruno Haible  <bruno@clisp.org>
24782
24783         * gnulib-tool (func_import): When --lgpl is not specified, set
24784         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
24785         GPLv3.
24786         Reported by Simon Josefsson.
24787
24788 2007-10-28  Bruno Haible  <bruno@clisp.org>
24789
24790         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
24791         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
24792         HAVE_DECL_ISFINITE.
24793         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
24794         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
24795         HAVE_DECL_ISFINITE.
24796
24797 2007-10-28  Bruno Haible  <bruno@clisp.org>
24798
24799         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
24800         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
24801
24802 2007-10-28  Bruno Haible  <bruno@clisp.org>
24803
24804         Fix link errors with Sun C 5.0 on Solaris 10.
24805         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
24806         function is declared but not present in the compiler's libm.
24807         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
24808         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
24809         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
24810         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
24811         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
24812         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
24813         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
24814         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
24815         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
24816         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
24817         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
24818         HAVE_DECL_FLOORL.
24819
24820 2007-10-28  Bruno Haible  <bruno@clisp.org>
24821
24822         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
24823         gl_FUNC_FLOORL. Cache the result.
24824         (gl_FUNC_FLOORL): Use it.
24825         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
24826         gl_FUNC_CEILL. Cache the result.
24827         (gl_FUNC_CEILL): Use it.
24828
24829         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
24830         gl_FUNC_FLOOR. Cache the result.
24831         (gl_FUNC_FLOOR): Use it.
24832         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
24833         gl_FUNC_CEIL. Cache the result.
24834         (gl_FUNC_CEIL): Use it.
24835
24836         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
24837         gl_FUNC_FLOORF. Cache the result.
24838         (gl_FUNC_FLOORF): Use it.
24839         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
24840         gl_FUNC_CEILF. Cache the result.
24841         (gl_FUNC_CEILF): Use it.
24842
24843 2007-10-28  Bruno Haible  <bruno@clisp.org>
24844
24845         * gnulib-tool: Allow specifying the LGPL version number through
24846         --lgpl=2 or --lgpl=3.
24847         (func_usage): Document --lgpl with argument.
24848         Handle --lgpl=... arguments.
24849         (func_import): Recognize also gl_LGPL calls with an argument. When
24850         --lgpl=2 is used and the module's license is just LGPL, report an
24851         error. Set sed_transform_lib_file according to the lgpl variable. In
24852         the generated files, use --lgpl or gl_LGPL invocations with argument,
24853         if necessary.
24854         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
24855         an LGPv2+ license.
24856         * doc/gnulib-tool.texi (Modified imports): Update explanation of
24857         gl_LGPL macro.
24858
24859 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24860             Bruno Haible  <bruno@clisp.org>
24861
24862         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
24863         (u16_uctomb_aux): Likewise.
24864         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
24865         !HAVE_INLINE.
24866         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
24867
24868 2007-10-28  Bruno Haible  <bruno@clisp.org>
24869
24870         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
24871         Invoke AM_GETTEXT_OPTION if it exists.
24872         * modules/vasprintf: Likewise.
24873         * modules/verror: Likewise.
24874         * modules/xprintf: Likewise.
24875         * modules/xvasprintf: Likewise.
24876
24877 2007-10-27  Ben Pfaff  <blp@gnu.org>
24878
24879         * lib/math.in.h: Define isfinite macro and prototypes for
24880         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
24881         implementations.
24882         * m4/math_h.m4: New substitutions for isfinite module.
24883         * lib/isfinite.c: New file.
24884         * m4/isfinite.m4: New file.
24885         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
24886         * modules/isfinite: New file.
24887         * modules/isfinite-tests: New file.
24888         * tests/tests-isfinite.c: New file.
24889         * doc/functions/isfinite.texi: Mention isfinite module.
24890         * MODULES.html.sh: Mention new module.
24891
24892 2007-10-27  Ben Pfaff  <blp@gnu.org>
24893
24894         Ralf Wildenhues reported that Tru64 4.0D declares the round
24895         functions but does not have definitions.
24896         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
24897         cannot be found in any library, set the output variable to
24898         "missing" instead of "".
24899         * m4/round.m4: Also use our substitute if we cannot find round in
24900         any library, even if it is declared.
24901         * m4/roundf.m4: Likewise for roundf.
24902         * m4/roundl.m4: Likewise for roundl.
24903         * lib/math.in.h: Undefine roundf, round, roundl before defining
24904         their replacements, to allow for hypothetical systems where these
24905         may be defined as macros but not available in libraries.
24906
24907 2007-10-27  Bruno Haible  <bruno@clisp.org>
24908
24909         * doc/gnulib.texi: Invoke @firstparagraphindent.
24910         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
24911         changes in gnulib.
24912         (Source changes): New section.
24913
24914 2007-10-26  Bruno Haible  <bruno@clisp.org>
24915
24916         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
24917         borrowed from autoconf.
24918
24919 2007-10-26  Bruno Haible  <bruno@clisp.org>
24920
24921         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
24922         strerror returned the empty string. Needed on HP-UX 11.00.
24923
24924 2007-10-24  Micah Cowan  <micah@cowan.name>
24925
24926         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
24927         * build-aux/bootstrap: Remove support for now-unnecessary option,
24928         --cvs-user, and envvars CVS_USER, CVS_RSH.
24929
24930 2007-10-24  Jim Meyering  <meyering@redhat.com>
24931
24932         Avoid diagnostics from sha1sum when there is no cached checksum.
24933         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
24934         if the po.s1 file hasn't been created yet.
24935
24936         * build-aux/bootstrap: Sync from coreutils:
24937         2007-10-24  Jim Meyering  <meyering@redhat.com>
24938         Get gnulib from the git repository, not from an obsolete cvs one.
24939         * build-aux/bootstrap: Suggestion from Micah Cowan.
24940         2007-10-04  Jim Meyering  <jim@meyering.net>
24941         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
24942         (update_po_files): Work also when there are no .po files in po/.
24943
24944 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
24945
24946         * README: Append ".git" to git and cg examples.
24947         Problem reported by Benoit Sigoure.
24948
24949 2007-10-23  Micah Cowan  <micah@cowan.name>
24950
24951         * users.txt: Add wget.
24952
24953 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24954
24955         Fix linking of some unistdio tests on FreeBSD.
24956         * modules/unistdio/u16-vsnprintf-tests
24957         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
24958         * modules/unistdio/u16-vsprintf-tests
24959         (test_u16_vsnprintf1_LDADD): Likewise.
24960         * modules/unistdio/u32-vsnprintf-tests
24961         (test_u32_vsnprintf1_LDADD): Likewise.
24962         * modules/unistdio/u32-vsprintf-tests
24963         (test_u32_vsprintf1_LDADD): Likewise.
24964         * modules/unistdio/u8-vsnprintf-tests
24965         (test_u8_vsnprintf1_LDADD): Likewise.
24966         * modules/unistdio/u8-vsprintf-tests
24967         (test_u8_vsprintf1_LDADD): Likewise.
24968         * modules/unistdio/ulc-vsnprintf-tests
24969         (test_ulc_vsnprintf1_LDADD): Likewise.
24970         * modules/unistdio/ulc-vsprintf-tests
24971         (test_ulc_vsprintf1_LDADD): Likewise.
24972
24973         Fix linking of some uniconv tests on FreeBSD.
24974         * modules/uniconv/u16-conv-from-enc-tests
24975         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
24976         * modules/uniconv/u16-conv-to-enc-tests
24977         (test_u16_conv_to_enc_LDADD): Likewise.
24978         * modules/uniconv/u16-strconv-from-enc-tests
24979         (test_u16_strconv_from_enc_LDADD): Likewise.
24980         * modules/uniconv/u16-strconv-to-enc-tests
24981         (test_u16_strconv_to_enc_LDADD): Likewise.
24982         * modules/uniconv/u32-conv-from-enc-tests
24983         (test_u32_conv_from_enc_LDADD): Likewise.
24984         * modules/uniconv/u32-conv-to-enc-tests
24985         (test_u32_conv_to_enc_LDADD): Likewise.
24986         * modules/uniconv/u32-strconv-from-enc-tests
24987         (test_u32_strconv_from_enc_LDADD): Likewise.
24988         * modules/uniconv/u32-strconv-to-enc-tests
24989         (test_u32_strconv_to_enc_LDADD): Likewise.
24990         * modules/uniconv/u8-conv-from-enc-tests
24991         (test_u8_conv_from_enc_LDADD): Likewise.
24992         * modules/uniconv/u8-conv-to-enc-tests
24993         (test_u8_conv_to_enc_LDADD): Likewise.
24994         * modules/uniconv/u8-strconv-from-enc-tests
24995         (test_u8_strconv_from_enc_LDADD): Likewise.
24996         * modules/uniconv/u8-strconv-to-enc-tests
24997         (test_u8_strconv_to_enc_LDADD): Likewise.
24998
24999 2007-10-22  Bruno Haible  <bruno@clisp.org>
25000
25001         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
25002         size.
25003
25004 2007-10-22  Eric Blake  <ebb9@byu.net>
25005
25006         Tweak x*printf documentation.
25007         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
25008         variable name and comments.
25009         Suggested by Bruno Haible.
25010
25011 2007-10-22  Bruno Haible  <bruno@clisp.org>
25012
25013         * lib/acl.c (copy_acl): Fix file name in comment.
25014
25015 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
25016
25017         Fix Tru64 problem with stdbool.h.
25018         * lib/stdbool.in.h (false, true):
25019         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
25020         Don't declare as an enum in this situation; it runs afoul of Tru64.
25021         Problem reported by Steven M. Schweda in
25022         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
25023
25024 2007-10-22  Eric Blake  <ebb9@byu.net>
25025
25026         Also wrap vf?printf.
25027         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
25028         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
25029         (xvprintf, xvfprintf): New functions.
25030
25031 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25032
25033         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
25034         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
25035
25036         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
25037         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
25038
25039 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
25040
25041         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
25042         by Bruno Haible.
25043
25044 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25045
25046         * lib/getloadavg.c
25047         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
25048         Undef `sys' after including sys/table.h, for Tru64 4.0D.
25049
25050         * tests/test-i-ring.c: Work for C89.
25051
25052 2007-10-22  Bruno Haible  <bruno@clisp.org>
25053
25054         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
25055         -1u, in preprocessor expression, so that we don't test for the bug
25056         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
25057         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
25058
25059 2007-10-22  Eric Blake  <ebb9@byu.net>
25060
25061         * tests/test-yesno.sh: Silence stderr during test.
25062
25063 2007-10-22  Simon Josefsson  <simon@josefsson.org>
25064
25065         * modules/crypto/gc-camellia: New file.
25066
25067         * m4/gc-camellia.m4: New file.
25068
25069         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
25070
25071         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
25072
25073 2007-10-22  Simon Josefsson  <simon@josefsson.org>
25074
25075         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
25076         --help to stdout.  Reported by sms@antinode.org (Steven
25077         M. Schweda).
25078
25079 2007-10-22  Simon Josefsson  <simon@josefsson.org>
25080
25081         * users.txt: Fix link to libksba.
25082
25083 2007-10-21  Ben Pfaff  <blp@gnu.org>
25084
25085         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
25086         round.c roundf implementation that depends on floorf and ceilf to
25087         be tested unconditionally.
25088
25089 2007-10-21  Ben Pfaff  <blp@gnu.org>
25090
25091         * m4/check-libm-func.m4: Removed.
25092         * m4/check-math-lib.m4: New file.
25093         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
25094         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
25095         definition and lack of AC_LIBOBJ([roundf]).
25096         * m4/roundl.m4: Ditto, and similarly for roundl.
25097         * modules/round: Reference new m4 file.
25098         * modules/roundf: Ditto.
25099         * modules/roundl: Ditto.
25100         * tests/test-round2.c (main): Use ROUND instead of round.
25101         Bug report from Bruno Haible.
25102
25103 2007-10-21  Bruno Haible  <bruno@clisp.org>
25104
25105         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
25106         context.
25107
25108 2007-10-21  Bruno Haible  <bruno@clisp.org>
25109
25110         * tests/test-wcwidth.c (main): Allow negative result for some control
25111         characters.
25112
25113         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
25114         Needed on OSF/1 5.1.
25115
25116 2007-10-21  Bruno Haible  <bruno@clisp.org>
25117
25118         * tests/test-floorf1.c: Include isnanf.h.
25119         (main): Use isnanf() instead of isnan().
25120         * tests/test-ceilf1.c: Include isnanf.h.
25121         (main): Use isnanf() instead of isnan().
25122         * tests/test-truncf1.c: Include isnanf.h.
25123         (main): Use isnanf() instead of isnan().
25124         * tests/test-roundf1.c: Include isnanf.h.
25125         (main): Use isnanf() instead of isnan().
25126
25127 2007-10-21  Eric Blake  <ebb9@byu.net>
25128
25129         * users.txt: Update URL for m4.
25130
25131 2007-10-21  Bruno Haible  <bruno@clisp.org>
25132
25133         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
25134
25135 2007-10-21  Bruno Haible  <bruno@clisp.org>
25136
25137         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
25138         Git's management files if the CVS files are not present.
25139
25140 2007-10-20  Bruno Haible  <bruno@clisp.org>
25141
25142         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
25143         gcc-3.4.x.
25144
25145 2007-10-20  Ben Pfaff  <blp@gnu.org>
25146
25147         * lib/math.in.h: Declare round, roundf, roundl if we are providing
25148         implementations.
25149         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
25150         * lib/round.c: New file.
25151         * lib/roundf.c: New file.
25152         * lib/roundl.c: New file.
25153         * m4/round.m4: New file.
25154         * m4/roundf.m4: New file.
25155         * m4/roundl.m4: New file.
25156         * m4/check-libm-func-m4: New file.
25157         * modules/math: Replace round, roundf, roundl related @VARS@ in
25158         math.in.h.
25159         * modules/round: New file.
25160         * modules/round-tests: New file.
25161         * modules/roundf: New file.
25162         * modules/roundf-tests: New file.
25163         * modules/roundl: New file.
25164         * modules/roundl-tests: New file.
25165         * tests/test-round1.c: New file.
25166         * tests/test-round2.c: New file.
25167         * tests/test-roundf1.c: New file.
25168         * tests/test-roundf2.c: New file.
25169         * tests/test-roundl.c: New file.
25170         * doc/functions/round.texi: Mention round module.
25171         * doc/functions/roundf.texi: Mention roundf module.
25172         * doc/functions/roundl.texi: Mention roundl module.
25173         * MODULES.html.sh: Mention new modules.
25174         Thanks to Bruno Haible for suggestions.
25175
25176 2007-10-20  Jim Meyering  <meyering@redhat.com>
25177
25178         * lib/xprintf.c: Include <config.h> unconditionally.
25179
25180         Change xprintf's license to GPL.
25181         * modules/xprintf (License): s/LGPL/GPL/, since this module
25182         depends on modules (exit and exitfail) which are GPL.
25183         Suggestion from Bruno Haible.
25184
25185         xprintf fixes.
25186         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
25187         Use a clearer diagnostic.
25188         Patch from Bruno Haible.
25189
25190 2007-10-20  Bruno Haible  <bruno@clisp.org>
25191
25192         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
25193         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
25194         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
25195
25196 2007-10-20  Bruno Haible  <bruno@clisp.org>
25197
25198         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
25199         precision in the comparison result > x - 1 or similar.
25200         * tests/test-ceilf2.c (correct_result_p): Likewise.
25201         * tests/test-truncf2.c (correct_result_p): Likewise.
25202         * tests/test-trunc2.c (correct_result_p): Likewise.
25203         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
25204
25205 2007-10-20  Bruno Haible  <bruno@clisp.org>
25206
25207         * modules/ceil: New file.
25208         * m4/ceil.m4: New file.
25209         * doc/functions/ceil.texi: Mention the 'ceil' module.
25210
25211 2007-10-20  Bruno Haible  <bruno@clisp.org>
25212
25213         * modules/floor: New file.
25214         * m4/floor.m4: New file.
25215         * doc/functions/floor.texi: Mention the 'floor' module.
25216
25217 2007-10-20  Bruno Haible  <bruno@clisp.org>
25218
25219         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
25220         of %a.
25221         * modules/floorf-tests (Depends-on): Likewise.
25222         * modules/truncf-tests (Depends-on): Likewise.
25223         * modules/trunc-tests (Depends-on): Likewise.
25224         Reported by Ben Pfaff.
25225
25226 2007-10-19  Jim Meyering  <meyering@redhat.com>
25227
25228         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
25229         Don't bother testing specific errno values.  Just test ferror.
25230
25231         New module: xprintf
25232         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
25233
25234 2007-10-19  Bruno Haible  <bruno@clisp.org>
25235
25236         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
25237         syntax.
25238         * modules/javaexec (Makefile.am): Likewise.
25239         * modules/relocatable-prog (Makefile.am): Likewise.
25240         Suggested by Jim Meyering.
25241
25242 2007-10-18  Bruno Haible  <bruno@clisp.org>
25243
25244         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
25245         Reported by Jim Meyering.
25246
25247 2007-10-18  Eric Blake  <ebb9@byu.net>
25248
25249         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
25250
25251 2007-10-18  Bruno Haible  <bruno@clisp.org>
25252
25253         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
25254         the format string into writable memory. Needed in Fortify conditions.
25255
25256 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
25257             Bruno Haible  <bruno@clisp.org>
25258
25259         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
25260         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
25261         * modules/trim (Depends-on): Add mbchar.
25262         (configure.ac): Add gl_FUNC_MBRTOWC.
25263         (Makefile.am): Augment lib_SOURCES.
25264
25265 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
25266
25267         Modify glob.c to use fstatat and dirfd, to simplify it.
25268         Suggested by Eric Blake.
25269         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
25270         Don't include <stdbool.h>; not used.
25271         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
25272         (link_exists_p): Simplify implementation, since we can now assume
25273         dirfd and fstatat.
25274         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
25275
25276 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25277
25278         * gnulib-tool (func_get_dependencies): Fix sed script to
25279         match only tests.
25280
25281 2007-10-17  Bruno Haible  <bruno@clisp.org>
25282
25283         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
25284         allow locale names without encoding suffix.
25285         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
25286         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
25287
25288 2007-10-16  Bruno Haible  <bruno@clisp.org>
25289
25290         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
25291         * lib/getgroups.c (getgroups): Likewise.
25292         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
25293
25294 2007-10-16  Bruno Haible  <bruno@clisp.org>
25295
25296         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
25297         * modules/malloc-posix (License): Likewise.
25298         * modules/realloc-posix (License): Likewise.
25299         * modules/calloc-posix (License): Likewise.
25300         * modules/intprops (License): Change from GPL to LGPL, with
25301         Paul Eggert's approval.
25302
25303 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
25304
25305         Merge glibc changes into lib/glob.c.
25306
25307         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
25308         2007-10-15 04:59:03 UTC.  Here are the changes:
25309
25310         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
25311
25312         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
25313
25314         * lib/glob.c: Add some branch prediction throughout.
25315
25316         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
25317
25318         [BZ #5103]
25319         * lib/glob.c (glob): Recognize patterns starting \/.
25320
25321         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
25322
25323         [BZ #3996]
25324         * lib/glob.c (attribute_hidden): Define if not defined.
25325         (glob): Unescape dirname, filename or username when needed and not
25326         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
25327         is NULL.  Handle unescaped [ in pattern without closing ].
25328         Don't pass GLOB_CHECK down to recursive glob for directories.
25329         (__glob_pattern_type): New function.
25330         (__glob_pattern_p): Implement using __glob_pattern_type.
25331         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
25332         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
25333         Remove unreachable code.
25334
25335         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
25336
25337         * lib/glob.c (glob_in_dir): Add some comments and asserts to
25338         explain why there are no leaks.
25339
25340         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
25341
25342         [BZ #3253]
25343         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
25344         time, rather allocate increasingly bigger arrays of pointers, if
25345         possible with alloca, if too large with malloc.
25346
25347 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
25348
25349         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
25350         Problem reported by H.Merijn Brand in
25351         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
25352         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
25353         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
25354
25355 2007-10-15  Bruno Haible  <bruno@clisp.org>
25356
25357         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
25358         with explicit rpl_ prefix.
25359         * lib/fopen.c (fopen): Likewise.
25360         * lib/freopen.c (freopen): Likewise.
25361         * lib/iconv.c (iconv): Likewise.
25362         * lib/iconv_close.c (iconv_close): Likewise.
25363
25364 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25365
25366         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
25367
25368 2007-10-15  Bruno Haible  <bruno@clisp.org>
25369
25370         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
25371         <stddef.h> instead of <stdlib.h> since we only need NULL.
25372         Reported by Ben Pfaff <blp@cs.stanford.edu>.
25373
25374 2007-10-15  Bruno Haible  <bruno@clisp.org>
25375
25376         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
25377         Replace paragraph talking about LIBOBJS.
25378         Reported by Colin Watson <cjwatson@debian.org>.
25379
25380 2007-10-15  Bruno Haible  <bruno@clisp.org>
25381
25382         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
25383         <stdlib.h> before using NULL.
25384
25385 2007-10-15  Simon Josefsson  <simon@josefsson.org>
25386
25387         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
25388         Reported by Albert Chin <china@thewrittenword.com>.
25389
25390 2007-10-14  Bruno Haible  <bruno@clisp.org>
25391
25392         * modules/iconv_open-utf-tests: New file.
25393         * tests/test-iconv-utf.c: New file.
25394
25395         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
25396         * modules/iconv_open-utf: New file.
25397         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
25398         (iconv, iconv_close): New declarations.
25399         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
25400         be defined.
25401         (iconv_open): Add special handling of conversion between UTF-8 and
25402         UTF-{16,32}{BE,LE}.
25403         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
25404         * lib/iconv_close.c: New file.
25405         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
25406         gl_FUNC_ICONV_OPEN.
25407         (gl_FUNC_ICONV_OPEN): Use it.
25408         (gl_FUNC_ICONV_OPEN_UTF): New macro.
25409         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
25410         and REPLACE_ICONV_UTF.
25411         * modules/iconv_open (Depends-on): Add c-strcase.
25412         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
25413         ICONV_CONST.
25414         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
25415
25416 2007-10-13  Albert Chin  <china@thewrittenword.com>
25417             Bruno Haible  <bruno@clisp.org>
25418
25419         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
25420         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
25421
25422 2007-10-13  Bruno Haible  <bruno@clisp.org>
25423
25424         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
25425         defined, use the ISO C99 inline semantics.
25426         * lib/argp.h (ARGP_EI): Likewise.
25427
25428 2007-10-13  Bruno Haible  <bruno@clisp.org>
25429
25430         Handle 'inline' change in gcc 4.3.0.
25431         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
25432         argp_fmtstream_write, argp_fmtstream_set_lmargin,
25433         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
25434         argp_fmtstream_point): Disable 'extern' declaration if the function
25435         definition is going to be provided inline.
25436         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
25437         semantics, not the ISO C99 inline semantics.
25438         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
25439         'extern' declaration if the function definition is going to be provided
25440         inline.
25441         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
25442         the GNU C inline semantics, not the ISO C99 inline semantics. With
25443         GCC 4.2, avoid a warning.
25444
25445 2007-10-13  Bruno Haible  <bruno@clisp.org>
25446
25447         * lib/freading.h (freading): Enable the use of __freading for
25448         glibc >= 2.7.
25449         * lib/freading.c (freading): Likewise.
25450
25451 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
25452
25453         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
25454         "warning: C99 inline functions are not supported; using GNU89".
25455
25456 2007-10-12  Bruno Haible  <bruno@clisp.org>
25457
25458         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
25459         of 2.
25460         * tests/test-ceilf2.c: New file.
25461         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
25462
25463         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
25464         * modules/ceilf-tests: Update.
25465
25466 2007-10-12  Bruno Haible  <bruno@clisp.org>
25467
25468         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
25469         of 2.
25470         * tests/test-floorf2.c: New file.
25471         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
25472
25473         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
25474         * modules/floorf-tests: Update.
25475
25476 2007-10-12  Bruno Haible  <bruno@clisp.org>
25477
25478         * tests/test-trunc2.c: New file.
25479         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
25480
25481         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
25482         * modules/trunc-tests: Update.
25483
25484 2007-10-12  Bruno Haible  <bruno@clisp.org>
25485
25486         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
25487         of 2.
25488         * tests/test-truncf2.c: New file.
25489         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
25490
25491         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
25492         * modules/truncf-tests: Update.
25493
25494 2007-10-11  Eric Blake  <ebb9@byu.net>
25495
25496         Don't claim strerror is broken on Interix.
25497         * doc/functions/strerror.texi (strerror): Known broken systems are
25498         now Solaris 8, and not Interix.
25499         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
25500         Interix on cross-compile.
25501         Reported by Martin Koeppe in
25502         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
25503
25504 2007-10-11  Bruno Haible  <bruno@clisp.org>
25505
25506         * modules/i-ring-tests: New file.
25507         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
25508         instead of assert.
25509
25510 2007-10-11  Bruno Haible  <bruno@clisp.org>
25511
25512         * modules/filenamecat-tests: New file.
25513         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
25514         * lib/filenamecat.c: Remove test code.
25515
25516 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
25517
25518         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
25519
25520         * lib/strerror.c: Include <string.h> always, to test interface,
25521         and to remove the need for the dummy.
25522         Include intprops.h to compute width instead of doing it ourselves
25523         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
25524         (strerror): Define it to return NULL if there's no system strerror.
25525         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
25526         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
25527         ancient pre-strerror Unix systems well any more.  Saying "unknown
25528         system error" is enough.
25529         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
25530         simpler strerror.c implementation.
25531         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
25532         Simplify the tests to reflect the simpler strerror implementation.
25533         * modules/strerror (Depends-on): Add intprops.
25534
25535 2007-10-09  Eric Blake  <ebb9@byu.net>
25536
25537         Silence test-fpending.
25538         * modules/fpending-tests (Files): Add wrapper script.
25539         * tests/test-fpending.sh: New file.
25540
25541 2007-10-09  Bruno Haible  <bruno@clisp.org>
25542
25543         * MODULES.html.sh (func_module): Don't create a hyperlink for
25544         function names like 'printf_frexp'.
25545         (Misc): Add crc, memxor.
25546         (Characteristics of floating types): New section.
25547         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
25548         isnanf-nolibm, signbit, trunc, truncf, truncl.
25549         (Enhancements for ISO C 99 functions): New subsection Input/output.
25550         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
25551         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
25552         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
25553         (Compatibility checks for POSIX:2001 functions): Add clock-time.
25554         (Enhancements for POSIX:2001 functions): Add chdir-long.
25555         (File system functions): Add areadlink, chdir-safer, read-file.
25556         Remove cycle-check.
25557         (File system as inode set): New section.
25558         (Date and time): Add gethrxtime.
25559         (Multithreading): Add openmp.
25560         (Internationalization functions): Add localename.
25561         (Unicode string functions): Add unistr/u*-mbsnlen.
25562         (Support for maintaining and releasing projects): Add git-version-gen.
25563         (Lone files): Remove directories.
25564
25565 2007-10-08  Ben Pfaff  <blp@gnu.org>
25566
25567         * lib/xmalloca.h: Fix typo in comment.
25568
25569 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
25570
25571         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
25572         when avoiding problems with integer overflow.  Use a portable test
25573         instead.
25574
25575 2007-10-08  Simon Josefsson  <simon@josefsson.org>
25576
25577         * modules/dummy (License): Change to LGPLv2+.
25578         * modules/float (License): Likewise
25579         * modules/realloc (License): Likewise
25580         * modules/stdlib (License): Likewise
25581
25582 2007-10-07  Bruno Haible  <bruno@clisp.org>
25583
25584         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
25585         * floor.c (TWO_MANT_DIG): Likewise.
25586         * ceil.c (TWO_MANT_DIG): Likewise.
25587         Reported by Ben Pfaff.
25588
25589 2007-10-07  Bruno Haible  <bruno@clisp.org>
25590
25591         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
25592         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
25593         * lib/frexp.c (FUNC): Likewise.
25594         * lib/printf-frexp.h (printf_frexp): Likewise.
25595         * lib/printf-frexpl.h (printf_frexpl): Likewise.
25596         * lib/printf-frexp.c (FUNC): Likewise.
25597         Suggested by Jim Meyering.
25598
25599 2007-10-07  Jim Meyering  <meyering@redhat.com>
25600
25601         Make xnanosleep's integer overflow test more robust.
25602         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
25603         so that gcc-4.3.0 doesn't optimize away this test for overflow.
25604
25605 2007-10-07  Bruno Haible  <bruno@clisp.org>
25606
25607         * NEWS: Mention the license change.
25608
25609         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
25610         abbreviations in the modules files.
25611
25612         Change copyright notice from GPLv2+ to GPLv3+.
25613         * README: Change copyright notice.
25614         * MODULES.html.sh: Likewise.
25615         * build-aux/bootstrap.conf: Likewise.
25616         * build-aux/config.libpath: Likewise.
25617         * build-aux/csharpcomp.sh.in: Likewise.
25618         * build-aux/csharpexec.sh.in: Likewise.
25619         * build-aux/install-reloc: Likewise.
25620         * build-aux/javacomp.sh.in: Likewise.
25621         * build-aux/javaexec.sh.in: Likewise.
25622         * build-aux/ldd.sh.in: Likewise.
25623         * build-aux/reloc-ldflags: Likewise.
25624         * build-aux/relocatable.sh.in: Likewise.
25625         * build-aux/x-to-1.in: Likewise.
25626         * check-module: Likewise.
25627         * config/srclistvars.sh: Likewise.
25628         * gnulib-tool: Likewise.
25629         * lib/acl-internal.h: Likewise.
25630         * lib/acl.c: Likewise.
25631         * lib/acl.h: Likewise.
25632         * lib/acl_entries.c: Likewise.
25633         * lib/areadlink-with-size.c: Likewise.
25634         * lib/areadlink.c: Likewise.
25635         * lib/areadlink.h: Likewise.
25636         * lib/argmatch.c: Likewise.
25637         * lib/argmatch.h: Likewise.
25638         * lib/argp-ba.c: Likewise.
25639         * lib/argp-eexst.c: Likewise.
25640         * lib/argp-fmtstream.c: Likewise.
25641         * lib/argp-fmtstream.h: Likewise.
25642         * lib/argp-fs-xinl.c: Likewise.
25643         * lib/argp-help.c: Likewise.
25644         * lib/argp-namefrob.h: Likewise.
25645         * lib/argp-parse.c: Likewise.
25646         * lib/argp-pin.c: Likewise.
25647         * lib/argp-pv.c: Likewise.
25648         * lib/argp-pvh.c: Likewise.
25649         * lib/argp-xinl.c: Likewise.
25650         * lib/argp.h: Likewise.
25651         * lib/at-func.c: Likewise.
25652         * lib/atanl.c: Likewise.
25653         * lib/backupfile.c: Likewise.
25654         * lib/backupfile.h: Likewise.
25655         * lib/basename.c: Likewise.
25656         * lib/binary-io.h: Likewise.
25657         * lib/byteswap.in.h: Likewise.
25658         * lib/c-stack.c: Likewise.
25659         * lib/c-stack.h: Likewise.
25660         * lib/c-strcasestr.c: Likewise.
25661         * lib/c-strcasestr.h: Likewise.
25662         * lib/c-strstr.c: Likewise.
25663         * lib/c-strstr.h: Likewise.
25664         * lib/c-strtod.c: Likewise.
25665         * lib/calloc.c: Likewise.
25666         * lib/canon-host.c: Likewise.
25667         * lib/canon-host.h: Likewise.
25668         * lib/canonicalize-lgpl.c: Likewise.
25669         * lib/canonicalize.c: Likewise.
25670         * lib/canonicalize.h: Likewise.
25671         * lib/ceil.c: Likewise.
25672         * lib/ceilf.c: Likewise.
25673         * lib/ceill.c: Likewise.
25674         * lib/chdir-long.c: Likewise.
25675         * lib/chdir-long.h: Likewise.
25676         * lib/chdir-safer.c: Likewise.
25677         * lib/chdir-safer.h: Likewise.
25678         * lib/chown.c: Likewise.
25679         * lib/classpath.c: Likewise.
25680         * lib/classpath.h: Likewise.
25681         * lib/clean-temp.c: Likewise.
25682         * lib/clean-temp.h: Likewise.
25683         * lib/cloexec.c: Likewise.
25684         * lib/close-stream.c: Likewise.
25685         * lib/closein.c: Likewise.
25686         * lib/closein.h: Likewise.
25687         * lib/closeout.c: Likewise.
25688         * lib/closeout.h: Likewise.
25689         * lib/concat-filename.c: Likewise.
25690         * lib/copy-file.c: Likewise.
25691         * lib/copy-file.h: Likewise.
25692         * lib/count-one-bits.h: Likewise.
25693         * lib/crc.c: Likewise.
25694         * lib/crc.h: Likewise.
25695         * lib/creat-safer.c: Likewise.
25696         * lib/csharpcomp.c: Likewise.
25697         * lib/csharpcomp.h: Likewise.
25698         * lib/csharpexec.c: Likewise.
25699         * lib/csharpexec.h: Likewise.
25700         * lib/cycle-check.c: Likewise.
25701         * lib/cycle-check.h: Likewise.
25702         * lib/diacrit.c: Likewise.
25703         * lib/diacrit.h: Likewise.
25704         * lib/diffseq.h: Likewise.
25705         * lib/dirchownmod.c: Likewise.
25706         * lib/dirent.in.h: Likewise.
25707         * lib/dirfd.c: Likewise.
25708         * lib/dirfd.h: Likewise.
25709         * lib/dirname.c: Likewise.
25710         * lib/dirname.h: Likewise.
25711         * lib/dummy.c: Likewise.
25712         * lib/dup-safer.c: Likewise.
25713         * lib/dup2.c: Likewise.
25714         * lib/eealloc.h: Likewise.
25715         * lib/error.c: Likewise.
25716         * lib/error.h: Likewise.
25717         * lib/euidaccess.c: Likewise.
25718         * lib/exclude.c: Likewise.
25719         * lib/exclude.h: Likewise.
25720         * lib/execute.c: Likewise.
25721         * lib/execute.h: Likewise.
25722         * lib/exitfail.c: Likewise.
25723         * lib/exitfail.h: Likewise.
25724         * lib/expl.c: Likewise.
25725         * lib/fatal-signal.c: Likewise.
25726         * lib/fatal-signal.h: Likewise.
25727         * lib/fbufmode.c: Likewise.
25728         * lib/fbufmode.h: Likewise.
25729         * lib/fchdir.c: Likewise.
25730         * lib/fchmodat.c: Likewise.
25731         * lib/fchownat.c: Likewise.
25732         * lib/fcntl--.h: Likewise.
25733         * lib/fcntl-safer.h: Likewise.
25734         * lib/fcntl.in.h: Likewise.
25735         * lib/fd-safer.c: Likewise.
25736         * lib/fflush.c: Likewise.
25737         * lib/file-has-acl.c: Likewise.
25738         * lib/file-set.c: Likewise.
25739         * lib/file-type.c: Likewise.
25740         * lib/file-type.h: Likewise.
25741         * lib/fileblocks.c: Likewise.
25742         * lib/filemode.c: Likewise.
25743         * lib/filemode.h: Likewise.
25744         * lib/filename.h: Likewise.
25745         * lib/filenamecat.c: Likewise.
25746         * lib/filenamecat.h: Likewise.
25747         * lib/findprog.c: Likewise.
25748         * lib/findprog.h: Likewise.
25749         * lib/float.in.h: Likewise.
25750         * lib/floor.c: Likewise.
25751         * lib/floorf.c: Likewise.
25752         * lib/floorl.c: Likewise.
25753         * lib/fopen-safer.c: Likewise.
25754         * lib/fopen.c: Likewise.
25755         * lib/fpending.c: Likewise.
25756         * lib/fpending.h: Likewise.
25757         * lib/fprintf.c: Likewise.
25758         * lib/fprintftime.h: Likewise.
25759         * lib/fpucw.h: Likewise.
25760         * lib/fpurge.c: Likewise.
25761         * lib/fpurge.h: Likewise.
25762         * lib/freadable.c: Likewise.
25763         * lib/freadable.h: Likewise.
25764         * lib/freadahead.c: Likewise.
25765         * lib/freadahead.h: Likewise.
25766         * lib/freading.c: Likewise.
25767         * lib/freading.h: Likewise.
25768         * lib/free.c: Likewise.
25769         * lib/freopen.c: Likewise.
25770         * lib/frexp.c: Likewise.
25771         * lib/frexpl.c: Likewise.
25772         * lib/fseek.c: Likewise.
25773         * lib/fseterr.c: Likewise.
25774         * lib/fseterr.h: Likewise.
25775         * lib/fstatat.c: Likewise.
25776         * lib/fstrcmp.c: Likewise.
25777         * lib/fstrcmp.h: Likewise.
25778         * lib/fsusage.c: Likewise.
25779         * lib/fsusage.h: Likewise.
25780         * lib/ftell.c: Likewise.
25781         * lib/ftello.c: Likewise.
25782         * lib/fts-cycle.c: Likewise.
25783         * lib/fts.c: Likewise.
25784         * lib/fts_.h: Likewise.
25785         * lib/full-read.c: Likewise.
25786         * lib/full-read.h: Likewise.
25787         * lib/full-write.c: Likewise.
25788         * lib/full-write.h: Likewise.
25789         * lib/fwritable.c: Likewise.
25790         * lib/fwritable.h: Likewise.
25791         * lib/fwriteerror.c: Likewise.
25792         * lib/fwriteerror.h: Likewise.
25793         * lib/fwriting.c: Likewise.
25794         * lib/fwriting.h: Likewise.
25795         * lib/gcd.c: Likewise.
25796         * lib/gcd.h: Likewise.
25797         * lib/getcwd.c: Likewise.
25798         * lib/getdate.h: Likewise.
25799         * lib/getdate.y: Likewise.
25800         * lib/getdomainname.c: Likewise.
25801         * lib/getdomainname.h: Likewise.
25802         * lib/getgroups.c: Likewise.
25803         * lib/gethostname.c: Likewise.
25804         * lib/gethrxtime.c: Likewise.
25805         * lib/gethrxtime.h: Likewise.
25806         * lib/getloadavg.c: Likewise.
25807         * lib/getndelim2.c: Likewise.
25808         * lib/getndelim2.h: Likewise.
25809         * lib/getnline.c: Likewise.
25810         * lib/getnline.h: Likewise.
25811         * lib/getopt.c: Likewise.
25812         * lib/getopt.in.h: Likewise.
25813         * lib/getopt1.c: Likewise.
25814         * lib/getopt_int.h: Likewise.
25815         * lib/getpagesize.h: Likewise.
25816         * lib/getsubopt.c: Likewise.
25817         * lib/gettime.c: Likewise.
25818         * lib/getugroups.c: Likewise.
25819         * lib/getugroups.h: Likewise.
25820         * lib/getusershell.c: Likewise.
25821         * lib/gl_anyavltree_list1.h: Likewise.
25822         * lib/gl_anyavltree_list2.h: Likewise.
25823         * lib/gl_anyhash_list1.h: Likewise.
25824         * lib/gl_anyhash_list2.h: Likewise.
25825         * lib/gl_anylinked_list1.h: Likewise.
25826         * lib/gl_anylinked_list2.h: Likewise.
25827         * lib/gl_anyrbtree_list1.h: Likewise.
25828         * lib/gl_anyrbtree_list2.h: Likewise.
25829         * lib/gl_anytree_list1.h: Likewise.
25830         * lib/gl_anytree_list2.h: Likewise.
25831         * lib/gl_anytree_oset.h: Likewise.
25832         * lib/gl_anytreehash_list1.h: Likewise.
25833         * lib/gl_anytreehash_list2.h: Likewise.
25834         * lib/gl_array_list.c: Likewise.
25835         * lib/gl_array_list.h: Likewise.
25836         * lib/gl_array_oset.c: Likewise.
25837         * lib/gl_array_oset.h: Likewise.
25838         * lib/gl_avltree_list.c: Likewise.
25839         * lib/gl_avltree_list.h: Likewise.
25840         * lib/gl_avltree_oset.c: Likewise.
25841         * lib/gl_avltree_oset.h: Likewise.
25842         * lib/gl_avltreehash_list.c: Likewise.
25843         * lib/gl_avltreehash_list.h: Likewise.
25844         * lib/gl_carray_list.c: Likewise.
25845         * lib/gl_carray_list.h: Likewise.
25846         * lib/gl_linked_list.c: Likewise.
25847         * lib/gl_linked_list.h: Likewise.
25848         * lib/gl_linkedhash_list.c: Likewise.
25849         * lib/gl_linkedhash_list.h: Likewise.
25850         * lib/gl_list.c: Likewise.
25851         * lib/gl_list.h: Likewise.
25852         * lib/gl_oset.c: Likewise.
25853         * lib/gl_oset.h: Likewise.
25854         * lib/gl_rbtree_list.c: Likewise.
25855         * lib/gl_rbtree_list.h: Likewise.
25856         * lib/gl_rbtree_oset.c: Likewise.
25857         * lib/gl_rbtree_oset.h: Likewise.
25858         * lib/gl_rbtreehash_list.c: Likewise.
25859         * lib/gl_rbtreehash_list.h: Likewise.
25860         * lib/gl_sublist.c: Likewise.
25861         * lib/gl_sublist.h: Likewise.
25862         * lib/group-member.c: Likewise.
25863         * lib/group-member.h: Likewise.
25864         * lib/hard-locale.c: Likewise.
25865         * lib/hard-locale.h: Likewise.
25866         * lib/hash-pjw.c: Likewise.
25867         * lib/hash-pjw.h: Likewise.
25868         * lib/hash-triple.c: Likewise.
25869         * lib/hash.c: Likewise.
25870         * lib/hash.h: Likewise.
25871         * lib/human.c: Likewise.
25872         * lib/human.h: Likewise.
25873         * lib/i-ring.c: Likewise.
25874         * lib/i-ring.h: Likewise.
25875         * lib/idcache.c: Likewise.
25876         * lib/imaxabs.c: Likewise.
25877         * lib/imaxdiv.c: Likewise.
25878         * lib/inet_pton.c: Likewise.
25879         * lib/inet_pton.h: Likewise.
25880         * lib/intprops.h: Likewise.
25881         * lib/inttostr.c: Likewise.
25882         * lib/inttostr.h: Likewise.
25883         * lib/inttypes.in.h: Likewise.
25884         * lib/isapipe.c: Likewise.
25885         * lib/isdir.c: Likewise.
25886         * lib/isnan.c: Likewise.
25887         * lib/isnan.h: Likewise.
25888         * lib/isnanf.c: Likewise.
25889         * lib/isnanf.h: Likewise.
25890         * lib/isnanl-nolibm.h: Likewise.
25891         * lib/isnanl.c: Likewise.
25892         * lib/isnanl.h: Likewise.
25893         * lib/javacomp.c: Likewise.
25894         * lib/javacomp.h: Likewise.
25895         * lib/javaexec.c: Likewise.
25896         * lib/javaexec.h: Likewise.
25897         * lib/javaversion.c: Likewise.
25898         * lib/javaversion.h: Likewise.
25899         * lib/javaversion.java: Likewise.
25900         * lib/lbrkprop.h: Likewise.
25901         * lib/lchmod.h: Likewise.
25902         * lib/lchown.c: Likewise.
25903         * lib/ldexpl.c: Likewise.
25904         * lib/linebreak.c: Likewise.
25905         * lib/linebreak.h: Likewise.
25906         * lib/linebuffer.c: Likewise.
25907         * lib/linebuffer.h: Likewise.
25908         * lib/locale.in.h: Likewise.
25909         * lib/logl.c: Likewise.
25910         * lib/long-options.c: Likewise.
25911         * lib/long-options.h: Likewise.
25912         * lib/lstat.c: Likewise.
25913         * lib/lstat.h: Likewise.
25914         * lib/math.in.h: Likewise.
25915         * lib/mbchar.c: Likewise.
25916         * lib/mbchar.h: Likewise.
25917         * lib/mbfile.h: Likewise.
25918         * lib/mbiter.h: Likewise.
25919         * lib/mbscasecmp.c: Likewise.
25920         * lib/mbscasestr.c: Likewise.
25921         * lib/mbschr.c: Likewise.
25922         * lib/mbscspn.c: Likewise.
25923         * lib/mbslen.c: Likewise.
25924         * lib/mbsncasecmp.c: Likewise.
25925         * lib/mbsnlen.c: Likewise.
25926         * lib/mbspbrk.c: Likewise.
25927         * lib/mbspcasecmp.c: Likewise.
25928         * lib/mbsrchr.c: Likewise.
25929         * lib/mbssep.c: Likewise.
25930         * lib/mbsspn.c: Likewise.
25931         * lib/mbsstr.c: Likewise.
25932         * lib/mbstok_r.c: Likewise.
25933         * lib/mbswidth.c: Likewise.
25934         * lib/mbswidth.h: Likewise.
25935         * lib/mbuiter.h: Likewise.
25936         * lib/memcasecmp.c: Likewise.
25937         * lib/memcasecmp.h: Likewise.
25938         * lib/memchr.c: Likewise.
25939         * lib/memcmp.c: Likewise.
25940         * lib/memcoll.c: Likewise.
25941         * lib/memcoll.h: Likewise.
25942         * lib/memcpy.c: Likewise.
25943         * lib/memrchr.c: Likewise.
25944         * lib/mkancesdirs.c: Likewise.
25945         * lib/mkdir-p.c: Likewise.
25946         * lib/mkdir-p.h: Likewise.
25947         * lib/mkdir.c: Likewise.
25948         * lib/mkdirat.c: Likewise.
25949         * lib/mkdtemp.c: Likewise.
25950         * lib/mkstemp-safer.c: Likewise.
25951         * lib/mkstemp.c: Likewise.
25952         * lib/modechange.c: Likewise.
25953         * lib/modechange.h: Likewise.
25954         * lib/mountlist.c: Likewise.
25955         * lib/mountlist.h: Likewise.
25956         * lib/mpsort.c: Likewise.
25957         * lib/nanosleep.c: Likewise.
25958         * lib/obstack.c: Likewise.
25959         * lib/obstack.h: Likewise.
25960         * lib/open-safer.c: Likewise.
25961         * lib/open.c: Likewise.
25962         * lib/openat-die.c: Likewise.
25963         * lib/openat-priv.h: Likewise.
25964         * lib/openat-proc.c: Likewise.
25965         * lib/openat.c: Likewise.
25966         * lib/openat.h: Likewise.
25967         * lib/pagealign_alloc.c: Likewise.
25968         * lib/pagealign_alloc.h: Likewise.
25969         * lib/physmem.c: Likewise.
25970         * lib/physmem.h: Likewise.
25971         * lib/pipe-safer.c: Likewise.
25972         * lib/pipe.c: Likewise.
25973         * lib/pipe.h: Likewise.
25974         * lib/posixtm.c: Likewise.
25975         * lib/posixtm.h: Likewise.
25976         * lib/posixver.c: Likewise.
25977         * lib/printf-frexp.c: Likewise.
25978         * lib/printf-frexp.h: Likewise.
25979         * lib/printf-frexpl.c: Likewise.
25980         * lib/printf-frexpl.h: Likewise.
25981         * lib/printf.c: Likewise.
25982         * lib/progname.c: Likewise.
25983         * lib/progname.h: Likewise.
25984         * lib/progreloc.c: Likewise.
25985         * lib/putenv.c: Likewise.
25986         * lib/quote.c: Likewise.
25987         * lib/quote.h: Likewise.
25988         * lib/quotearg.c: Likewise.
25989         * lib/quotearg.h: Likewise.
25990         * lib/raise.c: Likewise.
25991         * lib/readline.c: Likewise.
25992         * lib/readline.h: Likewise.
25993         * lib/readlink.c: Likewise.
25994         * lib/readtokens.c: Likewise.
25995         * lib/readtokens.h: Likewise.
25996         * lib/readtokens0.c: Likewise.
25997         * lib/readtokens0.h: Likewise.
25998         * lib/readutmp.c: Likewise.
25999         * lib/readutmp.h: Likewise.
26000         * lib/realloc.c: Likewise.
26001         * lib/relocwrapper.c: Likewise.
26002         * lib/rename-dest-slash.c: Likewise.
26003         * lib/rename.c: Likewise.
26004         * lib/rmdir.c: Likewise.
26005         * lib/rpmatch.c: Likewise.
26006         * lib/safe-read.c: Likewise.
26007         * lib/safe-read.h: Likewise.
26008         * lib/safe-write.c: Likewise.
26009         * lib/safe-write.h: Likewise.
26010         * lib/same-inode.h: Likewise.
26011         * lib/same.c: Likewise.
26012         * lib/same.h: Likewise.
26013         * lib/save-cwd.c: Likewise.
26014         * lib/save-cwd.h: Likewise.
26015         * lib/savedir.c: Likewise.
26016         * lib/savedir.h: Likewise.
26017         * lib/savewd.c: Likewise.
26018         * lib/savewd.h: Likewise.
26019         * lib/search.in.h: Likewise.
26020         * lib/setenv.c: Likewise.
26021         * lib/setenv.h: Likewise.
26022         * lib/settime.c: Likewise.
26023         * lib/sh-quote.c: Likewise.
26024         * lib/sh-quote.h: Likewise.
26025         * lib/sig2str.c: Likewise.
26026         * lib/sig2str.h: Likewise.
26027         * lib/signal.in.h: Likewise.
26028         * lib/signbitd.c: Likewise.
26029         * lib/signbitf.c: Likewise.
26030         * lib/signbitl.c: Likewise.
26031         * lib/sigprocmask.c: Likewise.
26032         * lib/sincosl.c: Likewise.
26033         * lib/sleep.c: Likewise.
26034         * lib/sprintf.c: Likewise.
26035         * lib/sqrtl.c: Likewise.
26036         * lib/stat-time.h: Likewise.
26037         * lib/stdio--.h: Likewise.
26038         * lib/stdio-safer.h: Likewise.
26039         * lib/stdlib--.h: Likewise.
26040         * lib/stdlib-safer.h: Likewise.
26041         * lib/stdlib.in.h: Likewise.
26042         * lib/stpcpy.c: Likewise.
26043         * lib/stpncpy.c: Likewise.
26044         * lib/strchrnul.c: Likewise.
26045         * lib/strcspn.c: Likewise.
26046         * lib/strerror.c: Likewise.
26047         * lib/strftime.c: Likewise.
26048         * lib/strftime.h: Likewise.
26049         * lib/striconveh.c: Likewise.
26050         * lib/striconveh.h: Likewise.
26051         * lib/striconveha.c: Likewise.
26052         * lib/striconveha.h: Likewise.
26053         * lib/stripslash.c: Likewise.
26054         * lib/strnlen1.c: Likewise.
26055         * lib/strnlen1.h: Likewise.
26056         * lib/strtod.c: Likewise.
26057         * lib/strtoimax.c: Likewise.
26058         * lib/strtok_r.c: Likewise.
26059         * lib/strtol.c: Likewise.
26060         * lib/strtoll.c: Likewise.
26061         * lib/strtoul.c: Likewise.
26062         * lib/strtoull.c: Likewise.
26063         * lib/sysexits.in.h: Likewise.
26064         * lib/tempname.c: Likewise.
26065         * lib/tempname.h: Likewise.
26066         * lib/timespec.h: Likewise.
26067         * lib/tls.c: Likewise.
26068         * lib/tls.h: Likewise.
26069         * lib/tmpdir.c: Likewise.
26070         * lib/tmpdir.h: Likewise.
26071         * lib/tmpfile-safer.c: Likewise.
26072         * lib/tmpfile.c: Likewise.
26073         * lib/trigl.c: Likewise.
26074         * lib/trigl.h: Likewise.
26075         * lib/trim.c: Likewise.
26076         * lib/trim.h: Likewise.
26077         * lib/trunc.c: Likewise.
26078         * lib/truncf.c: Likewise.
26079         * lib/truncl.c: Likewise.
26080         * lib/tsearch.c: Likewise.
26081         * lib/unicodeio.c: Likewise.
26082         * lib/unicodeio.h: Likewise.
26083         * lib/unistd--.h: Likewise.
26084         * lib/unistd-safer.h: Likewise.
26085         * lib/unistdio/ulc-fprintf.c: Likewise.
26086         * lib/unistdio/ulc-vfprintf.c: Likewise.
26087         * lib/unlinkdir.c: Likewise.
26088         * lib/unlinkdir.h: Likewise.
26089         * lib/unlocked-io.h: Likewise.
26090         * lib/unsetenv.c: Likewise.
26091         * lib/userspec.c: Likewise.
26092         * lib/utime.c: Likewise.
26093         * lib/utimecmp.c: Likewise.
26094         * lib/utimecmp.h: Likewise.
26095         * lib/utimens.c: Likewise.
26096         * lib/verify.h: Likewise.
26097         * lib/verror.c: Likewise.
26098         * lib/verror.h: Likewise.
26099         * lib/version-etc-fsf.c: Likewise.
26100         * lib/version-etc.c: Likewise.
26101         * lib/version-etc.h: Likewise.
26102         * lib/vfprintf.c: Likewise.
26103         * lib/vprintf.c: Likewise.
26104         * lib/vsprintf.c: Likewise.
26105         * lib/w32spawn.h: Likewise.
26106         * lib/wait-process.c: Likewise.
26107         * lib/wait-process.h: Likewise.
26108         * lib/wcwidth.c: Likewise.
26109         * lib/write-any-file.c: Likewise.
26110         * lib/xalloc-die.c: Likewise.
26111         * lib/xalloc.h: Likewise.
26112         * lib/xasprintf.c: Likewise.
26113         * lib/xgetcwd.c: Likewise.
26114         * lib/xgetcwd.h: Likewise.
26115         * lib/xgetdomainname.c: Likewise.
26116         * lib/xgetdomainname.h: Likewise.
26117         * lib/xgethostname.c: Likewise.
26118         * lib/xmalloc.c: Likewise.
26119         * lib/xmalloca.c: Likewise.
26120         * lib/xmalloca.h: Likewise.
26121         * lib/xmemcoll.c: Likewise.
26122         * lib/xnanosleep.c: Likewise.
26123         * lib/xreadlink.c: Likewise.
26124         * lib/xreadlink.h: Likewise.
26125         * lib/xsetenv.c: Likewise.
26126         * lib/xsetenv.h: Likewise.
26127         * lib/xstriconv.c: Likewise.
26128         * lib/xstriconv.h: Likewise.
26129         * lib/xstrndup.c: Likewise.
26130         * lib/xstrndup.h: Likewise.
26131         * lib/xstrtod.c: Likewise.
26132         * lib/xstrtod.h: Likewise.
26133         * lib/xstrtol-error.c: Likewise.
26134         * lib/xstrtol.c: Likewise.
26135         * lib/xstrtol.h: Likewise.
26136         * lib/xtime.h: Likewise.
26137         * lib/xvasprintf.c: Likewise.
26138         * lib/xvasprintf.h: Likewise.
26139         * lib/yesno.c: Likewise.
26140         * lib/yesno.h: Likewise.
26141         * posix-modules: Likewise.
26142         * tests/test-alloca-opt.c: Likewise.
26143         * tests/test-arcfour.c: Likewise.
26144         * tests/test-arctwo.c: Likewise.
26145         * tests/test-argmatch.c: Likewise.
26146         * tests/test-argp-2.sh: Likewise.
26147         * tests/test-argp.c: Likewise.
26148         * tests/test-arpa_inet.c: Likewise.
26149         * tests/test-array_list.c: Likewise.
26150         * tests/test-array_oset.c: Likewise.
26151         * tests/test-atexit.c: Likewise.
26152         * tests/test-avltree_list.c: Likewise.
26153         * tests/test-avltree_oset.c: Likewise.
26154         * tests/test-avltreehash_list.c: Likewise.
26155         * tests/test-base64.c: Likewise.
26156         * tests/test-binary-io.c: Likewise.
26157         * tests/test-byteswap.c: Likewise.
26158         * tests/test-c-ctype.c: Likewise.
26159         * tests/test-c-strcasecmp.c: Likewise.
26160         * tests/test-c-strcasestr.c: Likewise.
26161         * tests/test-c-strncasecmp.c: Likewise.
26162         * tests/test-c-strstr.c: Likewise.
26163         * tests/test-canonicalize-lgpl.c: Likewise.
26164         * tests/test-canonicalize.c: Likewise.
26165         * tests/test-carray_list.c: Likewise.
26166         * tests/test-ceilf.c: Likewise.
26167         * tests/test-ceill.c: Likewise.
26168         * tests/test-count-one-bits.c: Likewise.
26169         * tests/test-crc.c: Likewise.
26170         * tests/test-dirname.c: Likewise.
26171         * tests/test-fbufmode.c: Likewise.
26172         * tests/test-fcntl.c: Likewise.
26173         * tests/test-fflush.c: Likewise.
26174         * tests/test-floorf.c: Likewise.
26175         * tests/test-floorl.c: Likewise.
26176         * tests/test-fopen.c: Likewise.
26177         * tests/test-fprintf-posix.c: Likewise.
26178         * tests/test-fprintf-posix.h: Likewise.
26179         * tests/test-fpurge.c: Likewise.
26180         * tests/test-freadable.c: Likewise.
26181         * tests/test-freadahead.c: Likewise.
26182         * tests/test-freading.c: Likewise.
26183         * tests/test-freopen.c: Likewise.
26184         * tests/test-frexp.c: Likewise.
26185         * tests/test-frexpl.c: Likewise.
26186         * tests/test-fseek.c: Likewise.
26187         * tests/test-fseeko.c: Likewise.
26188         * tests/test-fseterr.c: Likewise.
26189         * tests/test-fstrcmp.c: Likewise.
26190         * tests/test-ftell.c: Likewise.
26191         * tests/test-ftello.c: Likewise.
26192         * tests/test-fwritable.c: Likewise.
26193         * tests/test-fwriting.c: Likewise.
26194         * tests/test-getaddrinfo.c: Likewise.
26195         * tests/test-getpass.c: Likewise.
26196         * tests/test-gettimeofday.c: Likewise.
26197         * tests/test-hmac-md5.c: Likewise.
26198         * tests/test-hmac-sha1.c: Likewise.
26199         * tests/test-iconv.c: Likewise.
26200         * tests/test-iconvme.c: Likewise.
26201         * tests/test-inttypes.c: Likewise.
26202         * tests/test-isnan.c: Likewise.
26203         * tests/test-isnanf.c: Likewise.
26204         * tests/test-isnanl-nolibm.c: Likewise.
26205         * tests/test-isnanl.c: Likewise.
26206         * tests/test-isnanl.h: Likewise.
26207         * tests/test-ldexpl.c: Likewise.
26208         * tests/test-linked_list.c: Likewise.
26209         * tests/test-linkedhash_list.c: Likewise.
26210         * tests/test-locale.c: Likewise.
26211         * tests/test-localename.c: Likewise.
26212         * tests/test-lock.c: Likewise.
26213         * tests/test-lseek.c: Likewise.
26214         * tests/test-malloca.c: Likewise.
26215         * tests/test-math.c: Likewise.
26216         * tests/test-mbscasecmp.c: Likewise.
26217         * tests/test-mbscasestr1.c: Likewise.
26218         * tests/test-mbscasestr2.c: Likewise.
26219         * tests/test-mbscasestr3.c: Likewise.
26220         * tests/test-mbscasestr4.c: Likewise.
26221         * tests/test-mbschr.c: Likewise.
26222         * tests/test-mbscspn.c: Likewise.
26223         * tests/test-mbsncasecmp.c: Likewise.
26224         * tests/test-mbspbrk.c: Likewise.
26225         * tests/test-mbspcasecmp.c: Likewise.
26226         * tests/test-mbsrchr.c: Likewise.
26227         * tests/test-mbsspn.c: Likewise.
26228         * tests/test-mbsstr1.c: Likewise.
26229         * tests/test-mbsstr2.c: Likewise.
26230         * tests/test-mbsstr3.c: Likewise.
26231         * tests/test-md5.c: Likewise.
26232         * tests/test-memmem.c: Likewise.
26233         * tests/test-netinet_in.c: Likewise.
26234         * tests/test-open.c: Likewise.
26235         * tests/test-printf-frexp.c: Likewise.
26236         * tests/test-printf-frexpl.c: Likewise.
26237         * tests/test-printf-posix.c: Likewise.
26238         * tests/test-printf-posix.h: Likewise.
26239         * tests/test-rbtree_list.c: Likewise.
26240         * tests/test-rbtree_oset.c: Likewise.
26241         * tests/test-rbtreehash_list.c: Likewise.
26242         * tests/test-read-file.c: Likewise.
26243         * tests/test-rijndael.c: Likewise.
26244         * tests/test-search.c: Likewise.
26245         * tests/test-signbit.c: Likewise.
26246         * tests/test-sleep.c: Likewise.
26247         * tests/test-snprintf-posix.c: Likewise.
26248         * tests/test-snprintf-posix.h: Likewise.
26249         * tests/test-snprintf.c: Likewise.
26250         * tests/test-sprintf-posix.c: Likewise.
26251         * tests/test-sprintf-posix.h: Likewise.
26252         * tests/test-stat-time.c: Likewise.
26253         * tests/test-stdbool.c: Likewise.
26254         * tests/test-stdint.c: Likewise.
26255         * tests/test-stdio.c: Likewise.
26256         * tests/test-stdlib.c: Likewise.
26257         * tests/test-stpncpy.c: Likewise.
26258         * tests/test-strcasestr.c: Likewise.
26259         * tests/test-striconv.c: Likewise.
26260         * tests/test-striconveh.c: Likewise.
26261         * tests/test-striconveha.c: Likewise.
26262         * tests/test-string.c: Likewise.
26263         * tests/test-sys_select.c: Likewise.
26264         * tests/test-sys_socket.c: Likewise.
26265         * tests/test-sys_stat.c: Likewise.
26266         * tests/test-sys_time.c: Likewise.
26267         * tests/test-sysexits.c: Likewise.
26268         * tests/test-time.c: Likewise.
26269         * tests/test-tls.c: Likewise.
26270         * tests/test-trunc.c: Likewise.
26271         * tests/test-truncf.c: Likewise.
26272         * tests/test-truncl.c: Likewise.
26273         * tests/test-unistd.c: Likewise.
26274         * tests/test-vasnprintf-posix.c: Likewise.
26275         * tests/test-vasnprintf-posix2.c: Likewise.
26276         * tests/test-vasnprintf.c: Likewise.
26277         * tests/test-vasprintf-posix.c: Likewise.
26278         * tests/test-vasprintf.c: Likewise.
26279         * tests/test-verify.c: Likewise.
26280         * tests/test-vfprintf-posix.c: Likewise.
26281         * tests/test-vprintf-posix.c: Likewise.
26282         * tests/test-vsnprintf-posix.c: Likewise.
26283         * tests/test-vsnprintf.c: Likewise.
26284         * tests/test-vsprintf-posix.c: Likewise.
26285         * tests/test-wchar.c: Likewise.
26286         * tests/test-wctype.c: Likewise.
26287         * tests/test-wcwidth.c: Likewise.
26288         * tests/test-xstrtol.c: Likewise.
26289         * tests/test-xvasprintf.c: Likewise.
26290         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
26291         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
26292         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
26293         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
26294         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
26295         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
26296         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
26297         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
26298         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
26299         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
26300         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
26301         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
26302         * tests/uniname/test-uninames.c: Likewise.
26303         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
26304         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
26305         * tests/unistdio/test-u16-printf1.h: Likewise.
26306         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
26307         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
26308         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
26309         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
26310         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
26311         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
26312         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
26313         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
26314         * tests/unistdio/test-u32-printf1.h: Likewise.
26315         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
26316         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
26317         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
26318         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
26319         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
26320         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
26321         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
26322         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
26323         * tests/unistdio/test-u8-printf1.h: Likewise.
26324         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
26325         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
26326         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
26327         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
26328         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
26329         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
26330         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
26331         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
26332         * tests/unistdio/test-ulc-printf1.h: Likewise.
26333         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
26334         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
26335         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
26336         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
26337         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
26338         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
26339         * tests/uniwidth/test-u16-strwidth.c: Likewise.
26340         * tests/uniwidth/test-u16-width.c: Likewise.
26341         * tests/uniwidth/test-u32-strwidth.c: Likewise.
26342         * tests/uniwidth/test-u32-width.c: Likewise.
26343         * tests/uniwidth/test-u8-strwidth.c: Likewise.
26344         * tests/uniwidth/test-u8-width.c: Likewise.
26345         * tests/uniwidth/test-uc_width.c: Likewise.
26346         * config/srclist-update: Likewise.
26347         (fixlicense): Update to GPLv3+.
26348
26349         Change copyright notice from LGPLv2.1+ to LGPLv3+.
26350         * tests/test-tsearch.c: Change copyright notice.
26351
26352         Change copyright notice from LGPLv2.0+ to LGPLv3+.
26353         * lib/c-strcaseeq.h: Change copyright notice.
26354         * lib/streq.h: Likewise.
26355         * lib/uniconv.h: Likewise.
26356         * lib/uniconv/u-conv-from-enc.h: Likewise.
26357         * lib/uniconv/u-conv-to-enc.h: Likewise.
26358         * lib/uniconv/u-strconv-from-enc.h: Likewise.
26359         * lib/uniconv/u-strconv-to-enc.h: Likewise.
26360         * lib/uniconv/u16-conv-from-enc.c: Likewise.
26361         * lib/uniconv/u16-conv-to-enc.c: Likewise.
26362         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
26363         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
26364         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
26365         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
26366         * lib/uniconv/u32-conv-from-enc.c: Likewise.
26367         * lib/uniconv/u32-conv-to-enc.c: Likewise.
26368         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
26369         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
26370         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
26371         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
26372         * lib/uniconv/u8-conv-from-enc.c: Likewise.
26373         * lib/uniconv/u8-conv-to-enc.c: Likewise.
26374         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
26375         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
26376         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
26377         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
26378         * lib/uniname.h: Likewise.
26379         * lib/uniname/uniname.c: Likewise.
26380         * lib/unistdio.h: Likewise.
26381         * lib/unistdio/u-asnprintf.h: Likewise.
26382         * lib/unistdio/u-asprintf.h: Likewise.
26383         * lib/unistdio/u-printf-args.c: Likewise.
26384         * lib/unistdio/u-printf-args.h: Likewise.
26385         * lib/unistdio/u-printf-parse.h: Likewise.
26386         * lib/unistdio/u-snprintf.h: Likewise.
26387         * lib/unistdio/u-sprintf.h: Likewise.
26388         * lib/unistdio/u-vasprintf.h: Likewise.
26389         * lib/unistdio/u-vsnprintf.h: Likewise.
26390         * lib/unistdio/u-vsprintf.h: Likewise.
26391         * lib/unistdio/u16-asnprintf.c: Likewise.
26392         * lib/unistdio/u16-asprintf.c: Likewise.
26393         * lib/unistdio/u16-printf-parse.c: Likewise.
26394         * lib/unistdio/u16-snprintf.c: Likewise.
26395         * lib/unistdio/u16-sprintf.c: Likewise.
26396         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
26397         * lib/unistdio/u16-u16-asprintf.c: Likewise.
26398         * lib/unistdio/u16-u16-snprintf.c: Likewise.
26399         * lib/unistdio/u16-u16-sprintf.c: Likewise.
26400         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
26401         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
26402         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
26403         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
26404         * lib/unistdio/u16-vasnprintf.c: Likewise.
26405         * lib/unistdio/u16-vasprintf.c: Likewise.
26406         * lib/unistdio/u16-vsnprintf.c: Likewise.
26407         * lib/unistdio/u16-vsprintf.c: Likewise.
26408         * lib/unistdio/u32-asnprintf.c: Likewise.
26409         * lib/unistdio/u32-asprintf.c: Likewise.
26410         * lib/unistdio/u32-printf-parse.c: Likewise.
26411         * lib/unistdio/u32-snprintf.c: Likewise.
26412         * lib/unistdio/u32-sprintf.c: Likewise.
26413         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
26414         * lib/unistdio/u32-u32-asprintf.c: Likewise.
26415         * lib/unistdio/u32-u32-snprintf.c: Likewise.
26416         * lib/unistdio/u32-u32-sprintf.c: Likewise.
26417         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
26418         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
26419         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
26420         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
26421         * lib/unistdio/u32-vasnprintf.c: Likewise.
26422         * lib/unistdio/u32-vasprintf.c: Likewise.
26423         * lib/unistdio/u32-vsnprintf.c: Likewise.
26424         * lib/unistdio/u32-vsprintf.c: Likewise.
26425         * lib/unistdio/u8-asnprintf.c: Likewise.
26426         * lib/unistdio/u8-asprintf.c: Likewise.
26427         * lib/unistdio/u8-printf-parse.c: Likewise.
26428         * lib/unistdio/u8-snprintf.c: Likewise.
26429         * lib/unistdio/u8-sprintf.c: Likewise.
26430         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
26431         * lib/unistdio/u8-u8-asprintf.c: Likewise.
26432         * lib/unistdio/u8-u8-snprintf.c: Likewise.
26433         * lib/unistdio/u8-u8-sprintf.c: Likewise.
26434         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
26435         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
26436         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
26437         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
26438         * lib/unistdio/u8-vasnprintf.c: Likewise.
26439         * lib/unistdio/u8-vasprintf.c: Likewise.
26440         * lib/unistdio/u8-vsnprintf.c: Likewise.
26441         * lib/unistdio/u8-vsprintf.c: Likewise.
26442         * lib/unistdio/ulc-asnprintf.c: Likewise.
26443         * lib/unistdio/ulc-asprintf.c: Likewise.
26444         * lib/unistdio/ulc-printf-parse.c: Likewise.
26445         * lib/unistdio/ulc-snprintf.c: Likewise.
26446         * lib/unistdio/ulc-sprintf.c: Likewise.
26447         * lib/unistdio/ulc-vasnprintf.c: Likewise.
26448         * lib/unistdio/ulc-vasprintf.c: Likewise.
26449         * lib/unistdio/ulc-vsnprintf.c: Likewise.
26450         * lib/unistdio/ulc-vsprintf.c: Likewise.
26451         * lib/unistr.h: Likewise.
26452         * lib/unistr/u-cpy-alloc.h: Likewise.
26453         * lib/unistr/u-cpy.h: Likewise.
26454         * lib/unistr/u-endswith.h: Likewise.
26455         * lib/unistr/u-move.h: Likewise.
26456         * lib/unistr/u-set.h: Likewise.
26457         * lib/unistr/u-startswith.h: Likewise.
26458         * lib/unistr/u-stpcpy.h: Likewise.
26459         * lib/unistr/u-stpncpy.h: Likewise.
26460         * lib/unistr/u-strcat.h: Likewise.
26461         * lib/unistr/u-strcpy.h: Likewise.
26462         * lib/unistr/u-strcspn.h: Likewise.
26463         * lib/unistr/u-strdup.h: Likewise.
26464         * lib/unistr/u-strlen.h: Likewise.
26465         * lib/unistr/u-strncat.h: Likewise.
26466         * lib/unistr/u-strncpy.h: Likewise.
26467         * lib/unistr/u-strnlen.h: Likewise.
26468         * lib/unistr/u-strpbrk.h: Likewise.
26469         * lib/unistr/u-strspn.h: Likewise.
26470         * lib/unistr/u-strstr.h: Likewise.
26471         * lib/unistr/u-strtok.h: Likewise.
26472         * lib/unistr/u16-check.c: Likewise.
26473         * lib/unistr/u16-chr.c: Likewise.
26474         * lib/unistr/u16-cmp.c: Likewise.
26475         * lib/unistr/u16-cpy-alloc.c: Likewise.
26476         * lib/unistr/u16-cpy.c: Likewise.
26477         * lib/unistr/u16-endswith.c: Likewise.
26478         * lib/unistr/u16-mblen.c: Likewise.
26479         * lib/unistr/u16-mbsnlen.c: Likewise.
26480         * lib/unistr/u16-mbtouc-aux.c: Likewise.
26481         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
26482         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
26483         * lib/unistr/u16-mbtouc.c: Likewise.
26484         * lib/unistr/u16-mbtoucr.c: Likewise.
26485         * lib/unistr/u16-move.c: Likewise.
26486         * lib/unistr/u16-next.c: Likewise.
26487         * lib/unistr/u16-prev.c: Likewise.
26488         * lib/unistr/u16-set.c: Likewise.
26489         * lib/unistr/u16-startswith.c: Likewise.
26490         * lib/unistr/u16-stpcpy.c: Likewise.
26491         * lib/unistr/u16-stpncpy.c: Likewise.
26492         * lib/unistr/u16-strcat.c: Likewise.
26493         * lib/unistr/u16-strchr.c: Likewise.
26494         * lib/unistr/u16-strcmp.c: Likewise.
26495         * lib/unistr/u16-strcpy.c: Likewise.
26496         * lib/unistr/u16-strcspn.c: Likewise.
26497         * lib/unistr/u16-strdup.c: Likewise.
26498         * lib/unistr/u16-strlen.c: Likewise.
26499         * lib/unistr/u16-strmblen.c: Likewise.
26500         * lib/unistr/u16-strmbtouc.c: Likewise.
26501         * lib/unistr/u16-strncat.c: Likewise.
26502         * lib/unistr/u16-strncmp.c: Likewise.
26503         * lib/unistr/u16-strncpy.c: Likewise.
26504         * lib/unistr/u16-strnlen.c: Likewise.
26505         * lib/unistr/u16-strpbrk.c: Likewise.
26506         * lib/unistr/u16-strrchr.c: Likewise.
26507         * lib/unistr/u16-strspn.c: Likewise.
26508         * lib/unistr/u16-strstr.c: Likewise.
26509         * lib/unistr/u16-strtok.c: Likewise.
26510         * lib/unistr/u16-to-u32.c: Likewise.
26511         * lib/unistr/u16-to-u8.c: Likewise.
26512         * lib/unistr/u16-uctomb-aux.c: Likewise.
26513         * lib/unistr/u16-uctomb.c: Likewise.
26514         * lib/unistr/u32-check.c: Likewise.
26515         * lib/unistr/u32-chr.c: Likewise.
26516         * lib/unistr/u32-cmp.c: Likewise.
26517         * lib/unistr/u32-cpy-alloc.c: Likewise.
26518         * lib/unistr/u32-cpy.c: Likewise.
26519         * lib/unistr/u32-endswith.c: Likewise.
26520         * lib/unistr/u32-mblen.c: Likewise.
26521         * lib/unistr/u32-mbsnlen.c: Likewise.
26522         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
26523         * lib/unistr/u32-mbtouc.c: Likewise.
26524         * lib/unistr/u32-mbtoucr.c: Likewise.
26525         * lib/unistr/u32-move.c: Likewise.
26526         * lib/unistr/u32-next.c: Likewise.
26527         * lib/unistr/u32-prev.c: Likewise.
26528         * lib/unistr/u32-set.c: Likewise.
26529         * lib/unistr/u32-startswith.c: Likewise.
26530         * lib/unistr/u32-stpcpy.c: Likewise.
26531         * lib/unistr/u32-stpncpy.c: Likewise.
26532         * lib/unistr/u32-strcat.c: Likewise.
26533         * lib/unistr/u32-strchr.c: Likewise.
26534         * lib/unistr/u32-strcmp.c: Likewise.
26535         * lib/unistr/u32-strcpy.c: Likewise.
26536         * lib/unistr/u32-strcspn.c: Likewise.
26537         * lib/unistr/u32-strdup.c: Likewise.
26538         * lib/unistr/u32-strlen.c: Likewise.
26539         * lib/unistr/u32-strmblen.c: Likewise.
26540         * lib/unistr/u32-strmbtouc.c: Likewise.
26541         * lib/unistr/u32-strncat.c: Likewise.
26542         * lib/unistr/u32-strncmp.c: Likewise.
26543         * lib/unistr/u32-strncpy.c: Likewise.
26544         * lib/unistr/u32-strnlen.c: Likewise.
26545         * lib/unistr/u32-strpbrk.c: Likewise.
26546         * lib/unistr/u32-strrchr.c: Likewise.
26547         * lib/unistr/u32-strspn.c: Likewise.
26548         * lib/unistr/u32-strstr.c: Likewise.
26549         * lib/unistr/u32-strtok.c: Likewise.
26550         * lib/unistr/u32-to-u16.c: Likewise.
26551         * lib/unistr/u32-to-u8.c: Likewise.
26552         * lib/unistr/u32-uctomb.c: Likewise.
26553         * lib/unistr/u8-check.c: Likewise.
26554         * lib/unistr/u8-chr.c: Likewise.
26555         * lib/unistr/u8-cmp.c: Likewise.
26556         * lib/unistr/u8-cpy-alloc.c: Likewise.
26557         * lib/unistr/u8-cpy.c: Likewise.
26558         * lib/unistr/u8-endswith.c: Likewise.
26559         * lib/unistr/u8-mblen.c: Likewise.
26560         * lib/unistr/u8-mbsnlen.c: Likewise.
26561         * lib/unistr/u8-mbtouc-aux.c: Likewise.
26562         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
26563         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
26564         * lib/unistr/u8-mbtouc.c: Likewise.
26565         * lib/unistr/u8-mbtoucr.c: Likewise.
26566         * lib/unistr/u8-move.c: Likewise.
26567         * lib/unistr/u8-next.c: Likewise.
26568         * lib/unistr/u8-prev.c: Likewise.
26569         * lib/unistr/u8-set.c: Likewise.
26570         * lib/unistr/u8-startswith.c: Likewise.
26571         * lib/unistr/u8-stpcpy.c: Likewise.
26572         * lib/unistr/u8-stpncpy.c: Likewise.
26573         * lib/unistr/u8-strcat.c: Likewise.
26574         * lib/unistr/u8-strchr.c: Likewise.
26575         * lib/unistr/u8-strcmp.c: Likewise.
26576         * lib/unistr/u8-strcpy.c: Likewise.
26577         * lib/unistr/u8-strcspn.c: Likewise.
26578         * lib/unistr/u8-strdup.c: Likewise.
26579         * lib/unistr/u8-strlen.c: Likewise.
26580         * lib/unistr/u8-strmblen.c: Likewise.
26581         * lib/unistr/u8-strmbtouc.c: Likewise.
26582         * lib/unistr/u8-strncat.c: Likewise.
26583         * lib/unistr/u8-strncmp.c: Likewise.
26584         * lib/unistr/u8-strncpy.c: Likewise.
26585         * lib/unistr/u8-strnlen.c: Likewise.
26586         * lib/unistr/u8-strpbrk.c: Likewise.
26587         * lib/unistr/u8-strrchr.c: Likewise.
26588         * lib/unistr/u8-strspn.c: Likewise.
26589         * lib/unistr/u8-strstr.c: Likewise.
26590         * lib/unistr/u8-strtok.c: Likewise.
26591         * lib/unistr/u8-to-u16.c: Likewise.
26592         * lib/unistr/u8-to-u32.c: Likewise.
26593         * lib/unistr/u8-uctomb-aux.c: Likewise.
26594         * lib/unistr/u8-uctomb.c: Likewise.
26595         * lib/unitypes.h: Likewise.
26596         * lib/uniwidth.h: Likewise.
26597         * lib/uniwidth/cjk.h: Likewise.
26598         * lib/uniwidth/u16-strwidth.c: Likewise.
26599         * lib/uniwidth/u16-width.c: Likewise.
26600         * lib/uniwidth/u32-strwidth.c: Likewise.
26601         * lib/uniwidth/u32-width.c: Likewise.
26602         * lib/uniwidth/u8-strwidth.c: Likewise.
26603         * lib/uniwidth/u8-width.c: Likewise.
26604         * lib/uniwidth/width.c: Likewise.
26605
26606 2007-10-07  Bruno Haible  <bruno@clisp.org>
26607
26608         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
26609         The file is still under LGPL (see modules/inttypes).
26610
26611 2007-10-06  Bruno Haible  <bruno@clisp.org>
26612
26613         * modules/trunc (Dependencies): Add 'extensions'.
26614         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
26615         Reported by Ben Pfaff <blp@gnu.org>.
26616
26617 2007-10-06  Bruno Haible  <bruno@clisp.org>
26618
26619         * modules/freopen-tests: New file.
26620         * tests/test-freopen.c: New file.
26621
26622         * modules/fopen-tests: New file.
26623         * tests/test-fopen.c: New file.
26624
26625         * modules/fopen: New file.
26626         * lib/fopen.c: New file.
26627         * m4/fopen.m4: New file.
26628         * modules/freopen: New file.
26629         * lib/freopen.c: New file.
26630         * m4/freopen.m4: New file.
26631         * lib/stdio.in.h (fopen, freopen): New declarations.
26632         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
26633         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
26634         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
26635         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
26636         * doc/functions/fopen.texi: Mention the 'fopen' module.
26637         * doc/functions/freopen.texi: Mention the 'freopen' module.
26638
26639 2007-10-06  Bruno Haible  <bruno@clisp.org>
26640
26641         * modules/open-tests: New file.
26642         * tests/test-open.c: New file.
26643
26644         * modules/open: New file.
26645         * lib/open.c: New file.
26646         * m4/open.m4: New file.
26647         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
26648         lib/open.c does.
26649         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
26650         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
26651         macros.
26652         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
26653         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
26654         REPLACE_OPEN.
26655         * doc/functions/open.texi: Mention the 'open' module.
26656
26657 2007-10-04  Bruno Haible  <bruno@clisp.org>
26658
26659         * modules/ceill-tests: New file.
26660         * tests/test-ceill.c: New file.
26661
26662         * modules/ceill: New file.
26663         * lib/ceill.c: Replace entire file.
26664         * m4/ceill.m4: New file.
26665         * lib/math.in.h (ceill): Replace declaration.
26666         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
26667         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
26668         * doc/functions/ceill.texi: Mention the 'ceill' module.
26669         * modules/mathl (Files): Remove lib/ceill.c.
26670         (Depends-on): Add ceill.
26671
26672 2007-10-04  Bruno Haible  <bruno@clisp.org>
26673
26674         * modules/ceilf-tests: New file.
26675         * tests/test-ceilf.c: New file.
26676
26677         * modules/ceilf: New file.
26678         * lib/ceil.c: New file.
26679         * lib/ceilf.c: New file.
26680         * m4/ceilf.m4: New file.
26681         * lib/math.in.h (ceilf): New declaration.
26682         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
26683         HAVE_DECL_CEILF.
26684         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
26685         HAVE_DECL_CEILF.
26686         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
26687
26688 2007-10-04  Bruno Haible  <bruno@clisp.org>
26689
26690         * modules/floorl-tests: New file.
26691         * tests/test-floorl.c: New file.
26692
26693         * modules/floorl: New file.
26694         * lib/floorl.c: Replace entire file.
26695         * m4/floorl.m4: New file.
26696         * lib/math.in.h (floorl): Replace declaration.
26697         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
26698         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
26699         * doc/functions/floorl.texi: Mention the 'floorl' module.
26700         * modules/mathl (Files): Remove lib/floorl.c.
26701         (Depends-on): Add floorl.
26702
26703 2007-10-04  Bruno Haible  <bruno@clisp.org>
26704
26705         * modules/floorf-tests: New file.
26706         * tests/test-floorf.c: New file.
26707
26708         * modules/floorf: New file.
26709         * lib/floor.c: New file.
26710         * lib/floorf.c: New file.
26711         * m4/floorf.m4: New file.
26712         * lib/math.in.h (floorf): New declaration.
26713         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
26714         HAVE_DECL_FLOORF.
26715         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
26716         HAVE_DECL_FLOORF.
26717         * doc/functions/floorf.texi: Mention the 'floorf' module.
26718
26719 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
26720             Bruno Haible  <bruno@clisp.org>
26721
26722         Advertise for the Git server instead of the CVS server.
26723         * doc/gnulib-intro.texi (Steady Development): Mention the Git
26724         repository instead of the CVS one.
26725         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
26726         about all VCS systems generically.
26727         * doc/gnulib.texi (Introduction): Capitalize `Git'.
26728
26729 2007-10-04  Bruno Haible  <bruno@clisp.org>
26730
26731         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
26732         means.
26733         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
26734
26735 2007-10-04  Bruno Haible  <bruno@clisp.org>
26736
26737         * modules/truncl-tests: New file.
26738         * tests/test-truncl.c: New file.
26739
26740         * modules/truncl: New file.
26741         * lib/truncl.c: New file.
26742         * m4/truncl.m4: New file.
26743         * lib/math.in.h (truncl): New declaration.
26744         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
26745         HAVE_DECL_TRUNCL.
26746         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
26747         HAVE_DECL_TRUNCL.
26748         * doc/functions/truncl.texi: Mention the 'truncl' module.
26749
26750 2007-10-04  Bruno Haible  <bruno@clisp.org>
26751
26752         * modules/truncf-tests: New file.
26753         * tests/test-truncf.c: New file.
26754
26755         * modules/truncf: New file.
26756         * lib/trunc.c: Make paramerizable through USE_* macros.
26757         * lib/truncf.c: New file.
26758         * m4/truncf.m4: New file.
26759         * lib/math.in.h (truncf): New declaration.
26760         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
26761         HAVE_DECL_TRUNCF.
26762         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
26763         HAVE_DECL_TRUNCF.
26764         * doc/functions/truncf.texi: Mention the 'truncf' module.
26765
26766 2007-10-03  Bruno Haible  <bruno@clisp.org>
26767
26768         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
26769         augmentation also for tests modules.
26770         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
26771         * modules/atexit-tests (Makefile.am): Likewise.
26772         * modules/binary-io-tests (Makefile.am): Likewise.
26773         * modules/c-strcase-tests (Makefile.am): Likewise.
26774         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
26775         * modules/canonicalize-tests (Makefile.am): Likewise.
26776         * modules/closein-tests (Makefile.am): Likewise.
26777         * modules/fprintf-posix-tests (Makefile.am): Likewise.
26778         * modules/freadahead-tests (Makefile.am): Likewise.
26779         * modules/fseek-tests (Makefile.am): Likewise.
26780         * modules/fseeko-tests (Makefile.am): Likewise.
26781         * modules/ftell-tests (Makefile.am): Likewise.
26782         * modules/ftello-tests (Makefile.am): Likewise.
26783         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
26784         * modules/isnanl-tests (Makefile.am): Likewise.
26785         * modules/lseek-tests (Makefile.am): Likewise.
26786         * modules/mbscasecmp-tests (Makefile.am): Likewise.
26787         * modules/mbscasestr-tests (Makefile.am): Likewise.
26788         * modules/mbschr-tests (Makefile.am): Likewise.
26789         * modules/mbscspn-tests (Makefile.am): Likewise.
26790         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
26791         * modules/mbspbrk-tests (Makefile.am): Likewise.
26792         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
26793         * modules/mbsrchr-tests (Makefile.am): Likewise.
26794         * modules/mbsspn-tests (Makefile.am): Likewise.
26795         * modules/mbsstr-tests (Makefile.am): Likewise.
26796         * modules/printf-posix-tests (Makefile.am): Likewise.
26797         * modules/snprintf-posix-tests (Makefile.am): Likewise.
26798         * modules/sprintf-posix-tests (Makefile.am): Likewise.
26799         * modules/tsearch-tests (Makefile.am): Likewise.
26800         * modules/uniname/uniname-tests (Makefile.am): Likewise.
26801         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
26802         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
26803         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
26804         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
26805         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
26806         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
26807         * modules/vprintf-posix-tests (Makefile.am): Likewise.
26808         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
26809         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
26810         * modules/xstrtoimax-tests (Makefile.am): Likewise.
26811         * modules/xstrtol-tests (Makefile.am): Likewise.
26812         * modules/xstrtoumax-tests (Makefile.am): Likewise.
26813         * modules/yesno-tests (Makefile.am): Likewise.
26814
26815 2007-10-03  Bruno Haible  <bruno@clisp.org>
26816
26817         * modules/trunc-tests: New file.
26818         * tests/test-trunc.c: New file.
26819
26820         * modules/trunc: New file.
26821         * lib/trunc.c: New file.
26822         * m4/trunc.m4: New file.
26823         * lib/math.in.h (trunc): New declaration.
26824         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
26825         HAVE_DECL_TRUNC.
26826         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
26827         HAVE_DECL_TRUNC.
26828         * doc/functions/trunc.texi: Mention the 'trunc' module.
26829
26830 2007-10-03  Bruno Haible  <bruno@clisp.org>
26831
26832         * tests/test-fpending.c: New file, mostly copied
26833         from coreutils/lib/t-fpending.c.
26834         * modules/fpending-tests: New file.
26835
26836 2007-10-03  Bruno Haible  <bruno@clisp.org>
26837
26838         Port the stdio extensions to QNX (untested).
26839         * lib/fseterr.c (fseterr): Add support for QNX.
26840         * lib/fbufmode.c (fbufmode): Likewise.
26841         * lib/freadable.c (freadable): Likewise.
26842         * lib/fwritable.c (fwritable): Likewise.
26843         * lib/freading.c (freading): Likewise.
26844         * lib/fwriting.c (fwriting): Likewise.
26845         * lib/freadahead.c (freadahed): Likewise.
26846         * lib/fpurge.c (fpurge): Likewise.
26847         * lib/fseeko.c (rpl_fseeko): Likewise.
26848
26849 2007-10-03  Bruno Haible  <bruno@clisp.org>
26850             Jim Meyering  <jim@meyering.net>
26851             Eric Blake  <ebb9@byu.net>
26852
26853         * doc/relocatable.texi: Use @command instead of @program.
26854
26855 2007-10-02  Jim Meyering  <jim@meyering.net>
26856
26857         Perform one more "_.h" -> ".in.h" substitution.
26858         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
26859         instead of unistd_.h here, too.
26860
26861 2007-10-01  Bruno Haible  <bruno@clisp.org>
26862
26863         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
26864         Needed for the alloca-opt module.
26865
26866 2007-09-30  Bruno Haible  <bruno@clisp.org>
26867
26868         * lib/alloca.in.h: Renamed from lib/alloca_.h.
26869         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
26870         alloca_.h.
26871         * lib/argz.in.h: Renamed from lib/argz_.h.
26872         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
26873         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
26874         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
26875         byteswap_.h.
26876         * lib/dirent.in.h: Renamed from lib/dirent_.h.
26877         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
26878         dirent_.h.
26879         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
26880         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
26881         fcntl_.h.
26882         * lib/float.in.h: Renamed from lib/float_.h.
26883         * modules/float (Files, Makefile.am): Use float.in.h instead of
26884         float_.h.
26885         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
26886         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
26887         fnmatch_.h.
26888         * lib/getopt.in.h: Renamed from lib/getopt_.h.
26889         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
26890         getopt_.h.
26891         * lib/glob.in.h: Renamed from lib/glob_.h.
26892         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
26893         * lib/iconv.in.h: Renamed from lib/iconv_.h.
26894         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
26895         iconv_.h.
26896         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
26897         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
26898         inttypes_.h.
26899         * lib/locale.in.h: Renamed from lib/locale_.h.
26900         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
26901         locale_.h.
26902         * lib/math.in.h: Renamed from lib/math_.h.
26903         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
26904         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
26905         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
26906         of netinet_in_.h. Add dependency.
26907         * lib/poll.in.h: Renamed from lib/poll_.h.
26908         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
26909         * lib/search.in.h: Renamed from lib/search_.h.
26910         * modules/search (Files, Makefile.am): Use search.in.h instead of
26911         search_.h.
26912         * lib/signal.in.h: Renamed from lib/signal_.h.
26913         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
26914         _signal.h.
26915         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
26916         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
26917         stdbool_.h.
26918         * lib/stdint.in.h: Renamed from lib/stdint_.h.
26919         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
26920         stdint_.h.
26921         * lib/stdio.in.h: Renamed from lib/stdio_.h.
26922         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
26923         stdio_.h.
26924         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
26925         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
26926         stdlib_.h.
26927         * lib/string.in.h: Renamed from lib/string_.h.
26928         * modules/string (Files, Makefile.am): Use string.in.h instead of
26929         string_.h.
26930         * doc/gnulib-tool.texi (Initial import): Update.
26931         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
26932         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
26933         of sys_select_.h. Add dependency.
26934         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
26935         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
26936         of sys_socket_.h.
26937         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
26938         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
26939         sys_stat_.h.
26940         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
26941         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
26942         sys_time_.h.
26943         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
26944         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
26945         sysexits_.h.
26946         * lib/time.in.h: Renamed from lib/time_.h.
26947         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
26948         * lib/unistd.in.h: Renamed from lib/unistd_.h.
26949         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
26950         unistd_.h.
26951         * lib/wchar.in.h: Renamed from lib/wchar_.h.
26952         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
26953         wchar_.h.
26954         * lib/wctype.in.h: Renamed from lib/wctype_.h.
26955         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
26956         wctype_.h.
26957         * build-aux/bootstrap (slurp): Update.
26958         * lib/.cppi-disable: Update.
26959
26960 2007-09-30  Bruno Haible  <bruno@clisp.org>
26961
26962         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
26963         Needed on BeOS.
26964
26965 2007-09-30  Bruno Haible  <bruno@clisp.org>
26966
26967         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
26968
26969 2007-09-29  Bruno Haible  <bruno@clisp.org>
26970
26971         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
26972
26973 2007-09-29  Bruno Haible  <bruno@clisp.org>
26974
26975         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
26976         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
26977         * build-aux/install-reloc: Compile also areadlink.c.
26978         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
26979
26980 2007-09-29  Bruno Haible  <bruno@clisp.org>
26981
26982         * gnulib-tool (func_emit_initmacro_done): Indentation.
26983
26984 2007-09-29  Bruno Haible  <bruno@clisp.org>
26985
26986         * README: Add CVS checkout update instructions.
26987         Info from Bob Proulx <bob@proulx.com>.
26988
26989 2007-09-28  Eric Blake  <ebb9@byu.net>
26990
26991         Provide move-if-change.
26992         * build-aux/move-if-change: New file, based on best practice
26993         rather than any canonical upstream location.
26994
26995 2007-09-28  Jim Meyering  <jim@meyering.net>
26996
26997         Fix canonicalize loop-detection corner case.
26998         Do not attempt to stat the symlink values stored via seen_triple.
26999         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
27000         on linux-2.6.18, (but not 2.6.22).
27001         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
27002         triple_compare.  The former compares dev,ino,filename, while the latter
27003         would actually stat dirname(filename) when dev and ino were equal.
27004         * lib/hash-triple.c: Install <string.h>.
27005         (STREQ): Define.
27006         (triple_compare_ino_str): New function.
27007         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
27008
27009 2007-09-28  Eric Blake  <ebb9@byu.net>
27010
27011         Enforce that AC_REPLACE_FUNCS files exist.
27012         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
27013         override check for typos.
27014
27015         Fix test-closein on Solaris 10.
27016         * tests/test-closein.c (main): Don't assume stdin can be inherited
27017         closed on all systems.
27018         * tests/test-closein.sh: Likewise.
27019         Reported by Piotr Tarnowski.
27020
27021 2007-09-28  Jim Meyering  <jim@meyering.net>
27022
27023         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
27024
27025 2007-09-27  Jim Meyering  <jim@meyering.net>
27026
27027         canonicalize: Avoid a false-positive cycle failure.
27028         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
27029         Sort.  Remove cycle-check.
27030         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
27031         not cycle-check.h.
27032         (seen_triple): New function.
27033         (canonicalize_filename_mode): Use it instead of cycle-check.
27034         * tests/test-canonicalize.c: Add a test for this bug.
27035         * tests/test-canonicalize.sh: Set up and run the test.
27036
27037         New module, file-set, from coreutils.
27038         * modules/file-set: Define it.
27039         * lib/file-set.c, lib/file-set.h: Implement.
27040
27041         New module, hash-triple, from coreutils.
27042         * modules/hash-triple: Define it.
27043         * lib/hash-triple.c, lib/hash-triple.h: Implement.
27044
27045 2007-09-25  Eric Blake  <ebb9@byu.net>
27046
27047         Fix strerror on Interix.
27048         * lib/string_.h (strerror): Declare replacement.
27049         * doc/functions/strerror.texi (strerror): Document the Interix
27050         shortcoming.
27051         * modules/string (Makefile.am): Support new hooks.
27052         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
27053         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
27054         gl_FUNC_STRERROR_SEPARATE.
27055         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
27056         * lib/strerror.c (rpl_strerror): Provide replacement.
27057         * modules/strerror (Depends-on): Add string.
27058         (configure.ac): Detect use of module.
27059         * tests/test-strerror.c: New file.
27060         * modules/strerror-tests: New test module.
27061         * modules/argp (Depends-on): Add strerror.
27062         * modules/error (Depends-on): Likewise.
27063         Reported by Martin Koeppe.
27064
27065 2007-09-24  Bruno Haible  <bruno@clisp.org>
27066
27067         * README: Update git instructions.
27068
27069 2007-09-24  Eric Blake  <ebb9@byu.net>
27070
27071         Revert fpending breakage from 2007-09-08.
27072         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
27073         __fpending.c.
27074
27075 2007-09-24  Jim Meyering  <jim@meyering.net>
27076
27077         filenamecat.c: Add a test.
27078         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
27079         showing how the function works when DIR is the empty string.
27080
27081 2007-09-21  Simon Josefsson  <simon@josefsson.org>
27082
27083         * tests/test-canonicalize.sh: Turn on executable bit.
27084
27085 2007-09-19  Eric Blake  <ebb9@byu.net>
27086
27087         * README: Update CVS instructions.
27088
27089 2007-09-18  Bruno Haible  <bruno@clisp.org>
27090
27091         * modules/areadlink: New file.
27092         * lib/areadlink.h (areadlink): New declaration.
27093         * lib/areadlink.c: New file, based on lib/xreadlink.c.
27094
27095 2007-09-17  Jim Meyering  <jim@meyering.net>
27096
27097         * lib/savewd.c (ESTALE) [!defined]: Define.
27098         Reported to be required on Interix by Martin Koeppe.
27099
27100 2007-09-17  Bruno Haible  <bruno@clisp.org>
27101
27102         * gnulib-tool (func_version): Use $version.
27103
27104 2007-09-16  Bruno Haible  <bruno@clisp.org>
27105
27106         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
27107         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
27108         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
27109         Reported by Greg Schafer <gschafer@zip.com.au>.
27110
27111 2007-09-15  Bruno Haible  <bruno@clisp.org>
27112
27113         * gnulib-tool (sed): Try a little harder to make bash understand the
27114         alias.
27115         Reported by Bruce Korb <bruce.korb@gmail.com>.
27116
27117 2007-09-13  Eric Blake  <ebb9@byu.net>
27118
27119         * ChangeLog: Remove conflict markers.
27120
27121 2007-09-13  Simon Josefsson  <simon@josefsson.org>
27122
27123         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
27124         Reported by Bruno Haible <bruno@clisp.org>.
27125
27126 2007-09-12  Bruno Haible  <bruno@clisp.org>
27127
27128         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
27129         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
27130         is not defined.
27131
27132 2007-09-12  Eric Blake  <ebb9@byu.net>
27133
27134         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
27135         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
27136         Autoconf definition.
27137         * modules/euidaccess (Depends-on): Add extensions, for
27138         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
27139         * modules/fnmatch (Depends-on): Likewise.
27140         * modules/getaddrinfo (Depends-on): Likewise.
27141         * modules/getdelim (Depends-on): Likewise.
27142         * modules/getline (Depends-on): Likewise.
27143         * modules/getsubopt (Depends-on): Likewise.
27144         * modules/gettext (Depends-on): Likewise.
27145         * modules/group-member (Depends-on): Likewise.
27146         * modules/mbchar (Depends-on): Likewise.
27147         * modules/memmem (Depends-on): Likewise.
27148         * modules/mempcpy (Depends-on): Likewise.
27149         * modules/memrchr (Depends-on): Likewise.
27150         * modules/pagealign_alloc (Depends-on): Likewise.
27151         * modules/readutmp (Depends-on): Likewise.
27152         * modules/stpcpy (Depends-on): Likewise.
27153         * modules/stpncpy (Depends-on): Likewise.
27154         * modules/strchrnul (Depends-on): Likewise.
27155         * modules/strndup (Depends-on): Likewise.
27156         * modules/strsep (Depends-on): Likewise.
27157         * modules/strverscmp (Depends-on): Likewise.
27158         * modules/vasprintf (Depends-on): Likewise.
27159         * modules/wcwidth (Depends-on): Likewise.
27160         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
27161         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
27162         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
27163         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
27164         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
27165         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
27166         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
27167         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
27168         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
27169         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
27170         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
27171         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
27172         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
27173         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
27174         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
27175         * m4/readutmp.m4 (gl_READUTMP): Likewise.
27176         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
27177         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
27178         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
27179         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
27180         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
27181         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
27182         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
27183         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
27184         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
27185         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
27186         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
27187         so that lock.m4 can be used in gettext without extensions module.
27188
27189 2007-09-11  Bruno Haible  <bruno@clisp.org>
27190
27191         * m4/isc-posix.m4: Remove file.
27192         Suggested by Eric Blake.
27193
27194 2007-09-11  Eric Blake  <ebb9@byu.net>
27195
27196         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
27197
27198 2007-09-10  Bruno Haible  <bruno@clisp.org>
27199
27200         * posix-modules: Fix typo in error message.
27201         Reported by Matt <mkraai@beckman.com>.
27202
27203 2007-09-09  Bruno Haible  <bruno@clisp.org>
27204
27205         * doc/functions/getdelim.texi: Update list of platforms lacking the
27206         function.
27207         * doc/functions/getline.texi: Likewise.
27208
27209 2007-09-09  Jim Meyering  <jim@meyering.net>
27210
27211         * lib/hash.c (hash_initialize): Detect calloc failure.
27212         Reported by Bruno Haible.
27213
27214 2007-09-09  Bruno Haible  <bruno@clisp.org>
27215
27216         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
27217         malloc or realloc fails.
27218
27219 2007-09-09  Bruno Haible  <bruno@clisp.org>
27220
27221         * modules/getcwd (Depends-on): Add malloc-posix.
27222         * modules/glob (Depends-on): Likewise.
27223         * modules/putenv (Depends-on): Likewise.
27224         * modules/strdup (Depends-on): Likewise.
27225         * modules/getdelim (Depends-on): Add realloc-posix.
27226         * modules/read-file (Depends-on): Likewise.
27227
27228 2007-09-09  Bruno Haible  <bruno@clisp.org>
27229
27230         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
27231         (gl_FUNC_MALLOC_POSIX): Require it.
27232         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
27233         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
27234         * modules/realloc (Files): Add m4/malloc.m4.
27235         * modules/calloc (Files): Likewise.
27236
27237 2007-09-09  Bruno Haible  <bruno@clisp.org>
27238
27239         * modules/malloc-posix: New file.
27240         * modules/malloc (Depends-on): Add malloc-posix.
27241         * lib/malloc.c: Include errno.h.
27242         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
27243         and a POSIX-compatible malloc into a single function. Set ENOMEM
27244         when returning NULL.
27245         * m4/malloc.m4: New file.
27246         * doc/functions/malloc.texi: Mention the malloc-posix module.
27247         * lib/stdlib_.h (malloc): New declaration.
27248         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
27249         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
27250         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
27251         and HAVE_MALLOC_POSIX.
27252
27253 2007-09-09  Bruno Haible  <bruno@clisp.org>
27254
27255         * modules/realloc-posix: New file.
27256         * modules/realloc (Depends-on): Add realloc-posix.
27257         * lib/realloc.c: Include errno.h.
27258         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
27259         and a POSIX-compatible realloc into a single function. Set ENOMEM
27260         when returning NULL.
27261         * m4/realloc.m4: New file.
27262         * doc/functions/realloc.texi: Mention the realloc-posix module.
27263         * lib/stdlib_.h (realloc): New declaration.
27264         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
27265         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
27266         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
27267         and HAVE_REALLOC_POSIX.
27268
27269 2007-09-09  Bruno Haible  <bruno@clisp.org>
27270
27271         * modules/calloc-posix: New file.
27272         * modules/calloc (Depends-on): Add calloc-posix.
27273         * lib/calloc.c: Include errno.h.
27274         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
27275         and a POSIX-compatible calloc into a single function. Set ENOMEM
27276         when returning NULL.
27277         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
27278         * doc/functions/calloc.texi: Mention the calloc-posix module.
27279         * lib/stdlib_.h (calloc): New declaration.
27280         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
27281         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
27282         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
27283         and HAVE_CALLOC_POSIX.
27284
27285 2007-09-09  Bruno Haible  <bruno@clisp.org>
27286
27287         Allow for modules to show an arbitrary notice.
27288         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
27289         * gnulib-tool: New option --extract-notice.
27290         (func_usage): Document it.
27291         (sed_extract_prog): Update.
27292         (func_get_notice): New function.
27293         (func_modules_notice): New function.
27294         (func_import, func_create_testdir): Invoke it.
27295         Suggested by Jim Meyering.
27296
27297 2007-09-09  Bruno Haible  <bruno@clisp.org>
27298
27299         * gnulib-tool: New options --verbose, --quiet.
27300         (func_usage): Document them.
27301         (verbose): New variable.
27302         (func_execute_command): New function.
27303         (func_import): Don't show the module list and the file list if
27304         $verbose < 0.
27305         (func_create_testdir): Likewise. Use func_execute_command.
27306         (func_create_megatestdir): Use func_execute_command.
27307
27308 2007-09-08  Bruno Haible  <bruno@clisp.org>
27309
27310         * gnulib-tool (func_import): Prefer rsync over wget when available,
27311         for fetching the PO files.
27312
27313 2007-09-08  Bruno Haible  <bruno@clisp.org>
27314
27315         * posix-modules: New file. Portions copied from gnulib-tool.
27316         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
27317
27318 2007-09-08  Jim Meyering  <jim@meyering.net>
27319
27320         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
27321         * lib/fpending.h: Rename from __fpending.h.
27322         * lib/fpending.c: Rename from __fpending.c.
27323         Include "fpending.h", not "__fpending.h".
27324         * lib/__fpending.h, lib/__fpending.c: Remove files.
27325         * modules/fpending (Files): Reflect new file names.
27326         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
27327
27328 2007-09-08  Bruno Haible  <bruno@clisp.org>
27329
27330         * m4/inttypes-h.m4: Remove stub file.
27331
27332 2007-09-07  Simon Josefsson  <simon@josefsson.org>
27333
27334         * doc/headers/stdint.texi: Discuss #include_next issue.
27335
27336 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
27337
27338         * build-aux/bootstrap: Remove obsolete comment about wget --help.
27339
27340 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
27341
27342         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
27343         in variable name.
27344
27345 2007-09-03  Jim Meyering  <jim@meyering.net>
27346
27347         New module: git-version-gen.
27348         * modules/git-version-gen: New file.
27349
27350         Import changes from coreutils for bootstrap script.
27351
27352         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
27353
27354         bootstrap: uses rsync to download the .po files
27355         * build-aux/bootstrap (po_download_command_format): New global.
27356         (download_po_files): Use rsync.
27357         (update_po_files): Don't remove .po files after download,
27358         so future rsync runs can take advantage of the copies.
27359
27360         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
27361
27362         Solve the unnecessary-.po-file-regeneration problem once and for all.
27363         * build-aux/bootstrap (download_po_files): New function, renamed from
27364         get_translations.  Now, downloads, but doesn't update LINGUAS.
27365         (update_po_files): New function.
27366
27367         bootstrap: Ignore more.
27368         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
27369         uniwidth to e.g., lib/.gitignore.
27370         (slurp): Handle the sys_stat_.h -> sys mapping, too.
27371
27372         * build-aux/bootstrap: New setting: vc_ignore.
27373         (insert_sorted_if_absent): Create $file if absent.
27374         Adapt to new, possibly empty, list: $vc_ignore.
27375
27376         bootstrap: generate more ignorable names
27377         * build-aux/bootstrap (slurp): When generating ignorable names,
27378         also map .sin to .sed, .gperf to .c, and .y to .c.
27379
27380 2007-09-03  Jim Meyering  <jim@meyering.net>
27381
27382         * build-aux/git-version-gen: New file, from coreutils.  For details, see
27383         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
27384
27385 2007-09-02  Bruno Haible  <bruno@clisp.org>
27386
27387         Fix mis-recognition of 'mcs' on QNX 6.
27388         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
27389         output contains the string "Mono".
27390         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
27391         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
27392
27393 2007-09-01  Bruno Haible  <bruno@clisp.org>
27394
27395         Fix collision between uniwidth/* and linebreak modules.
27396         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
27397         u32_width): Remove declarations.
27398         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
27399         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
27400         streq3, streq2, streq1, streq0): Remove functions.
27401         (STREQ): Remove macro.
27402         (is_cjk_encoding): Remove function.
27403         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
27404         (uc_width, u8_width, u16_width, u32_width): Remove functions.
27405         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
27406         * NEWS: Document the change.
27407
27408 2007-09-01  Bruno Haible  <bruno@clisp.org>
27409
27410         * lib/streq.h: Add double-inclusion guard.
27411
27412 2007-09-01  Karl Berry  <karl@gnu.org>
27413
27414         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
27415
27416 2007-08-28  Jim Meyering  <jim@meyering.net>
27417
27418         Rename mreadlink_with_size to areadlink_with_size.
27419         * NEWS: Document the change.
27420         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
27421         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
27422         * lib/mreadlink.h: Rename this to...
27423         * lib/areadlink.h: ...this.
27424         * modules/mreadlink-with-size: Rename this to...
27425         * modules/areadlink-with-size: ...this.
27426         * lib/canonicalize.c: Reflect the renaming.
27427         * modules/canonicalize: Likewise.
27428
27429 2007-08-26  Bruno Haible  <bruno@clisp.org>
27430
27431         * gnulib-tool (func_import): When deciding which files to remove,
27432         consider also dangling symbolic links.
27433         Reported by Eric Blake.
27434
27435 2007-08-26  Bruno Haible  <bruno@clisp.org>
27436
27437         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
27438
27439 2007-08-23  Simon Josefsson  <simon@josefsson.org>
27440
27441         * lib/readline.c: Don't include getline.h, the prototype is now
27442         found in stdio.h.
27443
27444 2007-08-23  Jim Meyering  <jim@meyering.net>
27445
27446         Getdelim touchup.
27447         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
27448         around the funlockfile call, since funlockfile never sets errno.
27449         Don't set errno upon failed realloc.
27450
27451 2007-08-22  Eric Blake  <ebb9@byu.net>
27452
27453         Getline touchups.
27454         * lib/getdelim.c (getdelim): Revert regression that required *n to
27455         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
27456         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
27457         getdelim, rather than whether implementation is missing.
27458         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
27459         * lib/stdio_.h (getline): Also declare if replacement is
27460         required.
27461         * doc/functions/getdelim.texi: New file.
27462         * doc/functions/getline.texi: Likewise.
27463         * doc/gnulib.texi (Function Substitutes): Add new files.
27464         Reported by Bruno Haible.
27465
27466 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
27467
27468         * users.txt: Add Guile.
27469
27470 2007-08-22  Eric Blake  <ebb9@byu.net>
27471
27472         * tests/test-getdelim.c (main): Use remove, not unlink.
27473         * tests/test-getline.c (main): Likewise.
27474
27475         Move getline and getdelim into stdio.h, per POSIX 200x.
27476         * modules/getline (Files): Remove getline.h.
27477         (Depends-on): Add stdio.
27478         (configure.ac): Add module indicator.
27479         * modules/getdelim (Files): Remove getdelim.h.
27480         (Depends-on): Add stdio.
27481         (configure.ac): Add module indicator.
27482         * modules/stdio (Makefile.am): Work with new indicators.
27483         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
27484         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
27485         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
27486         * lib/getdelim.h: Delete.
27487         * lib/getline.h: Delete.
27488         * lib/stdio_.h (getdelim, getline): Declare.
27489         * modules/getdelim-tests: New module.
27490         * modules/getline-tests: Likewise.
27491         * tests/test-getdelim.c: New file.
27492         * tests/test-getline.c: Likewise.
27493         * NEWS: Document the change.
27494         * lib/getline.c: Update choice of header.
27495         * lib/csharpcomp.c: Likewise.
27496         * lib/getpass.c: Likewise.
27497         * lib/javacomp.c: Likewise.
27498         * lib/javaversion.c: Likewise.
27499         * lib/yesno.c: Likewise.
27500         * lib/getdelim.c: Likewise.
27501         (getdelim): Set errno on failure, and avoid memory leak.
27502
27503 2007-08-19  Bruno Haible  <bruno@clisp.org>
27504
27505         * modules/closein (Depends-on): Add freadahead.
27506         * lib/closein.c: Include freadahead.h.
27507         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
27508         is zero.
27509
27510 2007-08-19  Bruno Haible  <bruno@clisp.org>
27511
27512         * modules/freadahead-tests: New file.
27513         * tests/test-freadahead.sh: New file.
27514         * tests/test-freadahead.c: New file.
27515
27516         * modules/freadahead: New file.
27517         * lib/freadahead.h: New file.
27518         * lib/freadahead.c: New file.
27519         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
27520         fbufmode, fpurge, freadable, fwritable.
27521
27522 2007-08-19  Eric Blake  <ebb9@byu.net>
27523
27524         Test yesno in combination with closein.
27525         * lib/yesno.c (yesno): Document use of stdin.
27526         * modules/yesno-tests (Files): New module.
27527         * tests/test-yesno.c (main): New file.
27528         * tests/test-yesno.sh: Likewise.
27529
27530 2007-08-19  Bruno Haible  <bruno@clisp.org>
27531
27532         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
27533         * lib/fseeko.c (rpl_fseeko): Likewise.
27534         * lib/fseterr.c (fseterr): Likewise.
27535
27536 2007-08-19  Bruno Haible  <bruno@clisp.org>
27537
27538         * tests/test-lseek.c (main): Disable a test for BeOS.
27539         * doc/functions/lseek.texi: Document the BeOS bug.
27540
27541 2007-08-19  Bruno Haible  <bruno@clisp.org>
27542             Eric Blake  <ebb9@byu.net>
27543
27544         * lib/lseek.c: Include <sys/stat.h>.
27545         (rpl_lseek): Add workaround code also for Unix platforms.
27546         Needed for BeOS.
27547         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
27548         * doc/functions/lseek.texi: Document BeOS definiency.
27549
27550 2007-08-18  Bruno Haible  <bruno@clisp.org>
27551
27552         * modules/fstrcmp-tests: New file.
27553         * tests/test-fstrcmp.c: New file.
27554
27555 2007-08-18  Bruno Haible  <bruno@clisp.org>
27556
27557         * modules/fstrcmp: New file, from GNU gettext with modifications.
27558         * lib/fstrcmp.h: New file, from GNU gettext.
27559         * lib/fstrcmp.c: New file, from GNU gettext.
27560         * MODULES.html.sh (String handling): Add fstrcmp.
27561
27562 2007-08-18  Bruno Haible  <bruno@clisp.org>
27563
27564         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
27565         'bool'.
27566         (diag, compareseq): Remove const from the ctxt argument.
27567         (USE_HEURISTIC): Undefine at the end.
27568
27569 2007-08-18  Jim Meyering  <jim@meyering.net>
27570
27571         New file: lib/idcache.h
27572         * NEWS: Mention the addition.
27573         * modules/idcache (Files): Add lib/idcache.h
27574         * lib/idcache.c: Include "idcache.h".
27575         Don't include <sys/types.h>.
27576         Add a FIXME comment.
27577         Move file-scoped "static" declarations to the top.
27578         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
27579
27580 2007-08-17  Bruno Haible  <bruno@clisp.org>
27581         and Paul Eggert  <eggert@cs.ucla.edu>
27582
27583         * MODULES.html.sh: Add diffseq.
27584         * modules/diffseq: New file.
27585         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
27586         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
27587
27588 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
27589
27590         Import changes from coreutils for bootstrap script.
27591
27592         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
27593
27594         * build-aux/bootstrap (slurp): Work even in environments where
27595         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
27596         current code does not slurp files whose names start with ".", and
27597         this looks like it might be a troublesome area.
27598
27599         2007-07-11  Jim Meyering  <jim@meyering.net>
27600
27601         If there's a GPL vN copyright comment, require that N == 3.
27602
27603         2007-07-08  Jim Meyering  <jim@meyering.net>
27604
27605         Run the coreutils-specific code only if tests/Makefile.am.in exists.
27606         * build-aux/bootstrap (mam_template): Move definition out of loop.
27607
27608         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
27609
27610         * build-aux/bootstrap (symlink_to_dir): Rename function from
27611         symlink_to_gnulib.  Add a directory parameter.  Update all
27612         callers.
27613         (cp_mark_as_generated): Also check for -- and link to -- files in
27614         gl/.
27615
27616         2007-07-08  Jim Meyering  <jim@meyering.net>
27617
27618         Adapt to deeper hierarchy in gnulib.
27619         * build-aux/bootstrap (symlink_to_dir): If the destination
27620         directory doesn't exist, create it. This is required at least for
27621         "lib/uniwidth/cjk.h".
27622
27623         2007-05-15  Jim Meyering  <jim@meyering.net>
27624
27625         * build-aux/bootstrap: Now that generated Makefile.am files
27626         are no longer under version control, they must be created at
27627         bootstrap time.
27628
27629 2007-08-14  Ben Pfaff  <blp@gnu.org>
27630
27631         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
27632
27633 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
27634
27635         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
27636         given the changes below.
27637         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
27638         even on hosts that have padding bits beyond the supported 64.
27639
27640 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
27641
27642         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
27643         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
27644         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
27645         depends on it.
27646         (xstrtol_error): Remove.
27647         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
27648         but with a different signature.
27649         (ATTRIBUTE_NORETURN, __attribute__): New macros.
27650         * lib/xstrtol-error.c: Include exitfail.h.
27651         (xstrtol_fatal): New function, with a different signature from the
27652         old xstrtol_error, so that the caller need not worry about passing
27653         in an exit status, or about storage management of the option argument.
27654         (xstrtol_error): Now a static function.  Redo signature to
27655         implement xstrtol_fatal.  Output the correct number of hyphens in
27656         front of the option so that the caller need not worry about
27657         storage management.
27658         (N_): New macro.
27659         (_): Remove; not used now.
27660         * modules/xstrtol: Depend on getopt.
27661         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
27662         of old STRTOL_FATAL_ERROR macro.
27663         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
27664         of test program.
27665         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
27666         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
27667
27668 2007-08-08  Eric Blake  <ebb9@byu.net>
27669
27670         * lib/xstrtol-error.c: Add missing include.
27671
27672         Move xstrtol messages into gnulib domain, when --pobase is used.
27673         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
27674         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
27675         * modules/xstrtol (Files): Distribute new file.
27676         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
27677         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
27678         * tests/test-xstrtol.c: ...into new file.
27679         * tests/test-xstrtoul.c: Also test xstrtoul.
27680         * tests/test-xstrtoimax.c: Also test xstrtoimax.
27681         * tests/test-xstrtoumax.c: Also test xstrtoumax.
27682         * tests/test-xstrtol.sh: Drive the tests.
27683         * tests/test-xstrtoimax.sh: Likewise.
27684         * tests/test-xstrtoumax.sh: Likewise.
27685         * modules/xstrtol-tests: New module.
27686         * modules/xstrtoimax-tests: Likewise.
27687         * modules/xstrtoumax-tests: Likewise.
27688
27689 2007-08-08  Jim Meyering  <jim@meyering.net>
27690
27691         New function: mfile_name_concat.
27692         * lib/filenamecat.c (mfile_name_concat): New function, just like
27693         file_name_concat, but return NULL upon failure rather than exiting
27694         with a diagnostic.
27695         * lib/filenamecat.h: Declare it.
27696
27697 2007-08-07  Bruno Haible  <bruno@clisp.org>
27698
27699         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
27700         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
27701         warning from gcc.
27702         Reported by Eric Blake.
27703
27704 2007-08-07  Simon Josefsson  <simon@josefsson.org>
27705
27706         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
27707         * modules/crypto/arcfour (License): Likewise.
27708         * modules/crypto/des-tests (License): Likewise.
27709         * modules/crypto/gc-arctwo-tests (License): Likewise.
27710         * modules/crypto/gc-des-tests (License): Likewise.
27711         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
27712         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
27713         * modules/crypto/gc-md2-tests (License): Likewise.
27714         * modules/crypto/gc-md4-tests (License): Likewise.
27715         * modules/crypto/gc-md5-tests (License): Likewise.
27716         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
27717         * modules/crypto/gc-rijndael-tests (License): Likewise.
27718         * modules/crypto/gc-sha1-tests (License): Likewise.
27719         * modules/crypto/gc-tests (License): Likewise.
27720         * modules/crypto/hmac-md5 (License): Likewise.
27721         * modules/crypto/hmac-sha1 (License): Likewise.
27722         * modules/crypto/md2-tests (License): Likewise.
27723         * modules/crypto/md4-tests (License): Likewise.
27724         * modules/crypto/md5 (License): Likewise.
27725         * modules/crypto/rijndael (License): Likewise.
27726         * modules/crypto/sha1 (License): Likewise.
27727         * modules/memxor (License): Likewise.
27728
27729 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
27730         and Bruno Haible  <bruno@clisp.org>
27731
27732         * NEWS: Describe interface changes to human, xstrtol.
27733         * lib/human.h: Include <xstrtol.h>.
27734         (human_options): Return enum strtol_error, not int.  Remove
27735         bool arg; take int * instead.
27736         * lib/human.c: Don't include "gettext.h".
27737         (_): Remove; no longer used.
27738         Don't include <xstrtol.h>, since human.h does it.
27739         (human_options): Adjust to abovementioned interface changes.
27740         Do not report error to stderr; that's now the caller's
27741         responsibility.
27742         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
27743         interface change.
27744         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
27745         Str, Argument_type_string.  All uses changed.  Put " argument"
27746         in diagnostics to make them clearer.  Change wording of suffix
27747         message for clarity.
27748         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
27749         Argument_type_string.
27750         (STRTOL_FATAL_WARN): Remove; no longer used.
27751         * modules/human (Depends-on): Remove gettext-h.
27752
27753 2007-08-06  Simon Josefsson  <simon@josefsson.org>
27754
27755         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
27756
27757 2007-07-31  Bruno Haible  <bruno@clisp.org>
27758
27759         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
27760         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
27761         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
27762
27763 2007-07-31  Bruno Haible  <bruno@clisp.org>
27764
27765         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
27766         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
27767
27768 2007-07-30  Bruno Haible  <bruno@clisp.org>
27769
27770         * modules/base64 (License): Use the synonymous term "LGPLv2+".
27771         * modules/c-ctype (License): Likewise.
27772         * modules/c-strcase (License): Likewise.
27773         * modules/check-version (License): Likewise.
27774         * modules/iconv (License): Likewise.
27775         * modules/iconv_open (License): Likewise.
27776         * modules/read-file (License): Likewise.
27777         * modules/striconv (License): Likewise.
27778         * modules/strverscmp (License): Likewise.
27779         * modules/vasprintf (License): Likewise.
27780         * modules/crypto/des (License): Likewise.
27781         * modules/crypto/gc (License): Likewise.
27782         * modules/crypto/gc-arcfour (License): Likewise.
27783         * modules/crypto/gc-arctwo (License): Likewise.
27784         * modules/crypto/gc-des (License): Likewise.
27785         * modules/crypto/gc-hmac-md5 (License): Likewise.
27786         * modules/crypto/gc-hmac-sha1 (License): Likewise.
27787         * modules/crypto/gc-md2 (License): Likewise.
27788         * modules/crypto/gc-md4 (License): Likewise.
27789         * modules/crypto/gc-md5 (License): Likewise.
27790         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
27791         * modules/crypto/gc-random (License): Likewise.
27792         * modules/crypto/gc-rijndael (License): Likewise.
27793         * modules/crypto/gc-sha1 (License): Likewise.
27794         * modules/crypto/md2 (License): Likewise.
27795         * modules/crypto/md4 (License): Likewise.
27796
27797 2007-07-30  Jim Meyering  <jim@meyering.net>
27798
27799         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
27800         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
27801         it has valid stat data.  This bug would cause du not to count the
27802         sizes of inaccessible directories.
27803         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
27804         in <http://bugzilla.redhat.com/250077>.
27805
27806 2007-07-25  Peter O'Gorman  <peter@pogma.com>
27807             Bruno Haible  <bruno@clisp.org>
27808
27809         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
27810         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
27811         #include_next, gives a diagnostic about it, but reports no error in
27812         the exit code.
27813         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
27814
27815 2007-07-24  Ben Pfaff  <blp@gnu.org>
27816
27817         Improve name: "count-one-bits" is better than "popcount".
27818         * MODULES.html.sh: Update name.
27819         * lib/popcount.h: Renamed lib/count-one-bits.h.
27820         (popcount): Renamed count_one_bits.
27821         (popcountl): Renamed count_one_bits_l.
27822         (popcountll): Renamed count_one_bits_ll.
27823         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
27824         * modules/popcount: Renamed module/count-one-bits.
27825         * modules/popcount-tests: Renamed module/count-one-bits-tests.
27826         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
27827
27828 2007-07-23  Ben Pfaff  <blp@gnu.org>
27829
27830         * lib/popcount.h (popcount32): Reduce size of constants, to allow
27831         better code generation, and add U to large constants to avoid
27832         warnings, in non-GCC case.
27833         Suggested by Bruno Haible.
27834
27835 2007-07-23  Ben Pfaff  <blp@gnu.org>
27836
27837         * lib/popcount.h: Use verify_true instead of if...abort.
27838         * modules/popcount: Depend on verify module.
27839         Suggested by Jim Meyering.
27840
27841 2007-07-23  Bruno Haible  <bruno@clisp.org>
27842
27843         * gnulib-tool (func_import): Create a .cvsignore file also when the
27844         directory is not yet in CVS but the toplevel directory is. When
27845         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
27846         Reported by Karl Berry.
27847
27848 2007-07-22  Ben Pfaff  <blp@gnu.org>
27849
27850         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
27851         case.
27852         Suggested by Eric Blake.
27853
27854 2007-07-22  Ben Pfaff  <blp@gnu.org>
27855
27856         New module: popcount.
27857         * MODULES.html.sh: Add popcount.
27858         * modules/popcount: New file.
27859         * modules/popcount-tests: New file.
27860         * tests/test-popcount.c: New file.
27861         * lib/popcount.h: New file.
27862         * m4/popcount.m4: New file.
27863
27864 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
27865
27866         * build-aux/announce-gen: Update to GPLv3.
27867
27868         * build-aux/config.guess: Update from config.
27869
27870 2007-07-21  Bruno Haible  <bruno@clisp.org>
27871
27872         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
27873         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
27874
27875 2007-07-20  Jim Meyering  <jim@meyering.net>
27876
27877         * check-module: Diagnose a self-dependency.
27878
27879 2007-07-19  Bruno Haible  <bruno@clisp.org>
27880
27881         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
27882         empty.
27883         Reported by Eric Blake.
27884
27885 2007-07-18  Bruno Haible  <bruno@clisp.org>
27886
27887         * gnulib-tool: New options --po-base, --po-domain.
27888         (func_usage): Document them.
27889         (pobase, po_domain): New variables.
27890         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
27891         DEFAULT_TEXT_DOMAIN.
27892         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
27893         (func_import): Consider pobase and po_domain. Create a po/ directory.
27894         (func_create_testdir): Set pobase and po_domain to empty.
27895         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
27896         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
27897
27898 2007-07-18  Bruno Haible  <bruno@clisp.org>
27899
27900         * gnulib-tool (func_get_automake_snippet): Synthesize also an
27901         EXTRA_DIST augmentation for files in build-aux/.
27902
27903 2007-07-16  Bruno Haible  <bruno@clisp.org>
27904
27905         * modules/lseek (License): Use the synonymous term "LGPLv2+".
27906         * modules/getdelim (License): Likewise.
27907
27908 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
27909
27910         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
27911         * modules/d-type (License): Likewise.
27912         * modules/extensions (License): Likewise.
27913         * modules/fnmatch (License): Likewise.
27914         * modules/fseeko (License): Likewise.
27915         * modules/getaddrinfo (License): Likewise.
27916         * modules/getline (License): Likewise.
27917         * modules/getlogin_r (License): Likewise.
27918         * modules/getpass (License): Likewise.
27919         * modules/gettimeofday (License): Likewise.
27920         * modules/glob (License): Likewise.
27921         * modules/inet_ntop (License): Likewise.
27922         * modules/malloc (License): Likewise.
27923         * modules/malloca (License): Likewise.
27924         * modules/memmem (License): Likewise.
27925         * modules/mempcpy (License): Likewise.
27926         * modules/memset (License): Likewise.
27927         * modules/minmax (License): Likewise.
27928         * modules/mktime (License): Likewise.
27929         * modules/netinet_in (License): Likewise.
27930         * modules/pathmax (License): Likewise.
27931         * modules/poll (License): Likewise.
27932         * modules/regex (License): Likewise.
27933         * modules/snprintf (License): Likewise.
27934         * modules/stdbool (License): Likewise.
27935         * modules/stdint (License): Likewise.
27936         * modules/stdio (License): Likewise.
27937         * modules/strcase (License): Likewise.
27938         * modules/strcasestr (License): Likewise.
27939         * modules/strdup (License): Likewise.
27940         * modules/string (License): Likewise.
27941         * modules/strndup (License): Likewise.
27942         * modules/strnlen (License): Likewise.
27943         * modules/strpbrk (License): Likewise.
27944         * modules/strptime (License): Likewise.
27945         * modules/strsep (License): Likewise.
27946         * modules/sys_select (License): Likewise.
27947         * modules/sys_socket (License): Likewise.
27948         * modules/sys_stat (License): Likewise.
27949         * modules/sys_time (License): Likewise.
27950         * modules/time (License): Likewise.
27951         * modules/time_r (License): Likewise.
27952         * modules/timegm (License): Likewise.
27953         * modules/unistd (License): Likewise.
27954         * modules/vsnprintf (License): Likewise.
27955         * modules/wctype (License): Likewise.
27956
27957 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27958
27959         * modules/argz (License): LGPLv2+.
27960
27961 2007-07-15  Karl Berry  <karl@gnu.org>
27962
27963         * doc/gnulib.texi: revise node structure per new fdl.texi.
27964
27965 2007-07-14  Bruno Haible  <bruno@clisp.org>
27966
27967         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
27968         the output file.
27969         * lib/uniname/uninames.h: Regenerated.
27970
27971 2007-07-14  Karl Berry  <karl@gnu.org>
27972
27973         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
27974         omitting sectioning and index commands.
27975
27976 2007-07-13  Bruno Haible  <bruno@clisp.org>
27977
27978         New gnulib-tool option --more-symlinks.
27979         * gnulib-tool (func_usage): Document --more-symlinks.
27980         (do_copyrights): New variable.
27981         Recognize option --more-symlinks.
27982         (func_import): Don't add a copyright notice transform to
27983         sed_transform_lib_file if do_copyrights is empty.
27984
27985 2007-07-13  Bruno Haible  <bruno@clisp.org>
27986
27987         * lib/vasnprintf.c (decimal_point_char): Define also if
27988         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
27989         && !NEED_PRINTF_DIRECTIVE_A.
27990         Reported by Clemens Koller <clemens.koller@anagramm.de> via
27991         Gary V. Vaughan <gary@gnu.org>.
27992
27993 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
27994
27995         * lib/inttypes_.h: Undo previous change, since it was fixed
27996         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
27997
27998 2007-07-13  Bruno Haible  <bruno@clisp.org>
27999
28000         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
28001         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
28002
28003 2007-07-13  Jim Meyering  <jim@meyering.net>
28004
28005         df: Don't fail for Tru64's "file-on-file mount".
28006         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
28007         so we fall through and use statfs instead.  Details here:
28008         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
28009         Reported by Albert Chin.
28010
28011 2007-07-13  Bruno Haible  <bruno@clisp.org>
28012
28013         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
28014         * modules/configmake (License): Likewise.
28015         * modules/gettext (License): Likewise.
28016         * modules/gettext-h (License): Likewise.
28017         * modules/include_next (License): Likewise.
28018         * modules/link-warning (License): Likewise.
28019         * modules/localcharset (License): Likewise.
28020         * modules/localename (License): Likewise.
28021         * modules/lock (License): Likewise.
28022         * modules/relocatable-lib-lgpl (License): Likewise.
28023         * modules/size_max (License): Likewise.
28024         * modules/vasnprintf (License): Likewise.
28025         * modules/wchar (License): Likewise.
28026         * modules/xsize (License): Likewise.
28027
28028 2007-07-13  Bruno Haible  <bruno@clisp.org>
28029
28030         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
28031         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
28032
28033 2007-07-12  Bruno Haible  <bruno@clisp.org>
28034
28035         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
28036         in the modules files.
28037
28038 2007-07-11  Karl Berry  <karl@gnu.org>
28039
28040         * MODULES.html.sh (func_module): use
28041          sed -e '\|^'"${includefile}"'$|d'
28042          instead of /.../d, to avoid errors on $includefile's containing /.
28043
28044 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
28045
28046         * gnulib-tool (func_import): Avoid duplication of --avoid
28047         statements
28048         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
28049         names to `_' in variable names.
28050
28051 2007-07-10  Eric Blake  <ebb9@byu.net>
28052
28053         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
28054         * NEWS: Document this change.
28055
28056 2007-07-08  Bruno Haible  <bruno@clisp.org>
28057
28058         Update to Unicode 5.0.
28059         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
28060         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
28061         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
28062         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
28063         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
28064         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
28065         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
28066         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
28067         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
28068         U+10A3F, U+1D242..U+1D244.
28069         (nonspacing_table_ind): Update.
28070         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
28071         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
28072
28073 2007-07-08  Bruno Haible  <bruno@clisp.org>
28074
28075         Update to Unicode 5.0.
28076         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
28077         code transform. Extend the name index field of unicode_name_to_code and
28078         unicode_code_to_name from 16 to 24 bits.
28079         * lib/uniname/uniname.c (unicode_character_name,
28080         unicode_name_character): Add the range 0x12xxx to the code transform.
28081         * lib/uniname/uninames.h: Regenerated.
28082         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
28083
28084 2007-07-07  Bruno Haible  <bruno@clisp.org>
28085
28086         * modules/wcwidth-tests: New file.
28087         * tests/test-wcwidth.c: New file.
28088
28089         Work around MacOS X wcwidth() bug.
28090         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
28091         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
28092         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
28093         original wcwidth in non-UTF-8 locales.
28094         * modules/wcwidth (Depends-on): Add localcharset, streq,
28095         uniwidth/width.
28096         * doc/functions/wcwidth.texi: Update.
28097
28098 2007-07-07  Bruno Haible  <bruno@clisp.org>
28099
28100         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
28101         (wcwidth): New declaration.
28102         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
28103         macros.
28104         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
28105         here. Prepare for creating <wchar.h> unconditionally.
28106         * modules/wchar (Depends-on): Add link-warning.
28107         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
28108         REPLACE_WCWIDTH, and GL_LINK_WARNING.
28109         * lib/wcwidth.h: Remove file.
28110         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
28111         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
28112         * modules/wcwidth (Files): Remove lib/wcwidth.h.
28113         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
28114         (Include): Replace wcwidth.h with <wchar.h>.
28115         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
28116         * lib/mbchar.h: Don't include wcwidth.h.
28117         * lib/mbswidth.c: Likewise.
28118         * NEWS: Mention the change.
28119
28120 2007-07-07  Bruno Haible  <bruno@clisp.org>
28121
28122         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
28123         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
28124         definition with an external declaration.
28125         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
28126         defined as a function. Remove AC_C_INLINE requirement.
28127         * modules/wcwidth (Files): Add lib/wcwidth.c.
28128         (Makefile.am): Remove redundant statement.
28129
28130 2007-07-07  Bruno Haible  <bruno@clisp.org>
28131
28132         * MODULES.html.sh (Unicode string functions): Add the new modules.
28133
28134         * tests/uniwidth/test-u32-strwidth.c: New file.
28135         * modules/uniwidth/u32-strwidth-tests: New file.
28136
28137         * lib/uniwidth/u32-strwidth.c: New file.
28138         * modules/uniwidth/u32-strwidth: New file.
28139
28140         * tests/uniwidth/test-u16-strwidth.c: New file.
28141         * modules/uniwidth/u16-strwidth-tests: New file.
28142
28143         * lib/uniwidth/u16-strwidth.c: New file.
28144         * modules/uniwidth/u16-strwidth: New file.
28145
28146         * tests/uniwidth/test-u8-strwidth.c: New file.
28147         * modules/uniwidth/u8-strwidth-tests: New file.
28148
28149         * lib/uniwidth/u8-strwidth.c: New file.
28150         * modules/uniwidth/u8-strwidth: New file.
28151
28152         * tests/uniwidth/test-u32-width.c: New file.
28153         * modules/uniwidth/u32-width-tests: New file.
28154
28155         * lib/uniwidth/u32-width.c: New file.
28156         * modules/uniwidth/u32-width: New file.
28157
28158         * tests/uniwidth/test-u16-width.c: New file.
28159         * modules/uniwidth/u16-width-tests: New file.
28160
28161         * lib/uniwidth/u16-width.c: New file.
28162         * modules/uniwidth/u16-width: New file.
28163
28164         * tests/uniwidth/test-u8-width.c: New file.
28165         * modules/uniwidth/u8-width-tests: New file.
28166
28167         * lib/uniwidth/u8-width.c: New file.
28168         * modules/uniwidth/u8-width: New file.
28169
28170         * tests/uniwidth/test-uc_width.c: New file.
28171         * modules/uniwidth/width-tests: New file.
28172
28173         * lib/uniwidth/width.c: New file, from GNU libiconv.
28174         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
28175         * modules/uniwidth/width: New file.
28176
28177         * lib/uniwidth.h: New file, from GNU libiconv.
28178         * modules/uniwidth/base: New file.
28179
28180 2007-07-07  Bruno Haible  <bruno@clisp.org>
28181
28182         * lib/uniname.h: New file, from GNU gettext.
28183         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
28184         * lib/uniname/uninames.h: New file, from GNU gettext.
28185         * lib/uniname/uniname.c: New file, from GNU gettext.
28186         * tests/uniname/test-uninames.sh: New file.
28187         * tests/uniname/test-uninames.c: New file, from GNU gettext.
28188         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
28189         * modules/uniname/base: New file.
28190         * modules/uniname/uniname: New file.
28191         * modules/uniname/uniname-tests: New file.
28192         * MODULES.html.sh (Unicode string functions): Add the new modules.
28193
28194 2007-07-06  Bruno Haible  <bruno@clisp.org>
28195
28196         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
28197
28198 2007-07-06  Bruno Haible  <bruno@clisp.org>
28199
28200         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
28201         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
28202         includes <cygwin/sys_time.h> which includes <sys/select.h> which
28203         include <sys/time.h>.
28204         Reported by Eric Blake.
28205
28206 2007-07-06  Eric Blake  <ebb9@byu.net>
28207
28208         Fix testing canonicalize on cygwin.
28209         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
28210         Revert patch from 2007-06-19.
28211         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
28212         canonicalize module is also in use.
28213         * tests/test-canonicalize.c: New file.
28214         * tests/test-canonicalize.sh: Likewise.
28215         * modules/canonicalize-tests: Likewise.
28216
28217 2007-07-06  Jim Meyering  <jim@meyering.net>
28218
28219         * lib/getugroups.c (getugroups): Detect getgrent failure.
28220         Adjust comment to reflect reality: this function may return -1.
28221
28222 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
28223
28224         * build-aux/bootstrap (TP_URL,get_translations): Update to use
28225         the new TP address.
28226         (usage): Fix typo
28227         (gnulib_mk): New variable.
28228
28229 2007-07-05  Jim Meyering  <jim@meyering.net>
28230
28231         Don't let endgrent clobber errno, no matter how improbable.
28232         * lib/getugroups.c (getugroups): Save and restore errno around
28233         endgrent call.
28234
28235         Close the group DB even when failing with 2^31 or more members.
28236         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
28237
28238 2007-07-04  Jim Meyering  <jim@meyering.net>
28239
28240         * lib/getugroups.h: New file.
28241         * lib/getugroups.c: Include "getugroups.h".
28242         Remove uses of "register" keyword.
28243         Move local variable, "cp", down into scope where used.
28244         Give "username" parameter the "const" attribute.
28245         * modules/getugroups (Files): Add lib/getugroups.h
28246
28247 2007-07-04  Karl Berry  <karl@gnu.org>
28248
28249         * MODULES.html.sh (func_all_modules): Complete rename of
28250         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
28251
28252 2007-07-02  Bruno Haible  <bruno@clisp.org>
28253
28254         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
28255         mode, when inttypes.h comes from gnulib.
28256         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
28257
28258 2007-07-02  Simon Josefsson  <simon@josefsson.org>
28259
28260         * NEWS: Mention lgpl module name change.
28261
28262         * modules/lgpl-2.1: Renamed from lgpl.
28263
28264         * NEWS: Mention gpl module name change.
28265
28266         * modules/gpl-3.0: New file, based on gpl-2.0.
28267
28268         * modules/gpl-2.0: Renamed from gpl.
28269
28270         * modules/gpl: Fix filename, doc/gpl.texi is now found at
28271         doc/gpl-2.0.texi.
28272
28273 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
28274
28275         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
28276         #define __STDC_LIMIT_MACROS temporarily while including
28277         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
28278         Problem reported by Joel E. Denny in
28279         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
28280
28281 2007-07-01  Bruno Haible  <bruno@clisp.org>
28282
28283         * lib/unistdio.h: New file.
28284         * lib/unistdio/u-asnprintf.h: New file.
28285         * lib/unistdio/u-asprintf.h: New file.
28286         * lib/unistdio/u-printf-args.c: New file.
28287         * lib/unistdio/u-printf-args.h: New file.
28288         * lib/unistdio/u-printf-parse.h: New file.
28289         * lib/unistdio/u-snprintf.h: New file.
28290         * lib/unistdio/u-sprintf.h: New file.
28291         * lib/unistdio/u-vasprintf.h: New file.
28292         * lib/unistdio/u-vsnprintf.h: New file.
28293         * lib/unistdio/u-vsprintf.h: New file.
28294         * lib/unistdio/ulc-asnprintf.c: New file.
28295         * lib/unistdio/ulc-asprintf.c: New file.
28296         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
28297         * lib/unistdio/ulc-printf-parse.c: New file.
28298         * lib/unistdio/ulc-snprintf.c: New file.
28299         * lib/unistdio/ulc-sprintf.c: New file.
28300         * lib/unistdio/ulc-vasnprintf.c: New file.
28301         * lib/unistdio/ulc-vasprintf.c: New file.
28302         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
28303         * lib/unistdio/ulc-vsnprintf.c: New file.
28304         * lib/unistdio/ulc-vsprintf.c: New file.
28305         * lib/unistdio/u8-asnprintf.c: New file.
28306         * lib/unistdio/u8-asprintf.c: New file.
28307         * lib/unistdio/u8-printf-parse.c: New file.
28308         * lib/unistdio/u8-snprintf.c: New file.
28309         * lib/unistdio/u8-sprintf.c: New file.
28310         * lib/unistdio/u8-vasnprintf.c: New file.
28311         * lib/unistdio/u8-vasprintf.c: New file.
28312         * lib/unistdio/u8-vsnprintf.c: New file.
28313         * lib/unistdio/u8-vsprintf.c: New file.
28314         * lib/unistdio/u8-u8-asnprintf.c: New file.
28315         * lib/unistdio/u8-u8-asprintf.c: New file.
28316         * lib/unistdio/u8-u8-snprintf.c: New file.
28317         * lib/unistdio/u8-u8-sprintf.c: New file.
28318         * lib/unistdio/u8-u8-vasnprintf.c: New file.
28319         * lib/unistdio/u8-u8-vasprintf.c: New file.
28320         * lib/unistdio/u8-u8-vsnprintf.c: New file.
28321         * lib/unistdio/u8-u8-vsprintf.c: New file.
28322         * lib/unistdio/u16-asnprintf.c: New file.
28323         * lib/unistdio/u16-asprintf.c: New file.
28324         * lib/unistdio/u16-printf-parse.c: New file.
28325         * lib/unistdio/u16-snprintf.c: New file.
28326         * lib/unistdio/u16-sprintf.c: New file.
28327         * lib/unistdio/u16-vasnprintf.c: New file.
28328         * lib/unistdio/u16-vasprintf.c: New file.
28329         * lib/unistdio/u16-vsnprintf.c: New file.
28330         * lib/unistdio/u16-vsprintf.c: New file.
28331         * lib/unistdio/u16-u16-asnprintf.c: New file.
28332         * lib/unistdio/u16-u16-asprintf.c: New file.
28333         * lib/unistdio/u16-u16-snprintf.c: New file.
28334         * lib/unistdio/u16-u16-sprintf.c: New file.
28335         * lib/unistdio/u16-u16-vasnprintf.c: New file.
28336         * lib/unistdio/u16-u16-vasprintf.c: New file.
28337         * lib/unistdio/u16-u16-vsnprintf.c: New file.
28338         * lib/unistdio/u16-u16-vsprintf.c: New file.
28339         * lib/unistdio/u32-asnprintf.c: New file.
28340         * lib/unistdio/u32-asprintf.c: New file.
28341         * lib/unistdio/u32-printf-parse.c: New file.
28342         * lib/unistdio/u32-snprintf.c: New file.
28343         * lib/unistdio/u32-sprintf.c: New file.
28344         * lib/unistdio/u32-vasnprintf.c: New file.
28345         * lib/unistdio/u32-vasprintf.c: New file.
28346         * lib/unistdio/u32-vsnprintf.c: New file.
28347         * lib/unistdio/u32-vsprintf.c: New file.
28348         * lib/unistdio/u32-u32-asnprintf.c: New file.
28349         * lib/unistdio/u32-u32-asprintf.c: New file.
28350         * lib/unistdio/u32-u32-snprintf.c: New file.
28351         * lib/unistdio/u32-u32-sprintf.c: New file.
28352         * lib/unistdio/u32-u32-vasnprintf.c: New file.
28353         * lib/unistdio/u32-u32-vasprintf.c: New file.
28354         * lib/unistdio/u32-u32-vsnprintf.c: New file.
28355         * lib/unistdio/u32-u32-vsprintf.c: New file.
28356         * tests/unistdio/test-ulc-asnprintf1.c: New file.
28357         * tests/unistdio/test-ulc-asnprintf1.h: New file.
28358         * tests/unistdio/test-ulc-printf1.h: New file.
28359         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
28360         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
28361         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
28362         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
28363         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
28364         * tests/unistdio/test-ulc-vasprintf1.c: New file.
28365         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
28366         * tests/unistdio/test-ulc-vsprintf1.c: New file.
28367         * tests/unistdio/test-u8-asnprintf1.c: New file.
28368         * tests/unistdio/test-u8-asnprintf1.h: New file.
28369         * tests/unistdio/test-u8-printf1.h: New file.
28370         * tests/unistdio/test-u8-vasnprintf1.c: New file.
28371         * tests/unistdio/test-u8-vasnprintf2.c: New file.
28372         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
28373         * tests/unistdio/test-u8-vasnprintf3.c: New file.
28374         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
28375         * tests/unistdio/test-u8-vasprintf1.c: New file.
28376         * tests/unistdio/test-u8-vsnprintf1.c: New file.
28377         * tests/unistdio/test-u8-vsprintf1.c: New file.
28378         * tests/unistdio/test-u16-asnprintf1.c: New file.
28379         * tests/unistdio/test-u16-asnprintf1.h: New file.
28380         * tests/unistdio/test-u16-printf1.h: New file.
28381         * tests/unistdio/test-u16-vasnprintf1.c: New file.
28382         * tests/unistdio/test-u16-vasnprintf2.c: New file.
28383         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
28384         * tests/unistdio/test-u16-vasnprintf3.c: New file.
28385         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
28386         * tests/unistdio/test-u16-vasprintf1.c: New file.
28387         * tests/unistdio/test-u16-vsnprintf1.c: New file.
28388         * tests/unistdio/test-u16-vsprintf1.c: New file.
28389         * tests/unistdio/test-u32-asnprintf1.c: New file.
28390         * tests/unistdio/test-u32-asnprintf1.h: New file.
28391         * tests/unistdio/test-u32-printf1.h: New file.
28392         * tests/unistdio/test-u32-vasnprintf1.c: New file.
28393         * tests/unistdio/test-u32-vasnprintf2.c: New file.
28394         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
28395         * tests/unistdio/test-u32-vasnprintf3.c: New file.
28396         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
28397         * tests/unistdio/test-u32-vasprintf1.c: New file.
28398         * tests/unistdio/test-u32-vsnprintf1.c: New file.
28399         * tests/unistdio/test-u32-vsprintf1.c: New file.
28400         * modules/unistdio/base: New file.
28401         * modules/unistdio/u-printf-args: New file.
28402         * modules/unistdio/ulc-asnprintf: New file.
28403         * modules/unistdio/ulc-asprintf: New file.
28404         * modules/unistdio/ulc-fprintf: New file.
28405         * modules/unistdio/ulc-printf-parse: New file.
28406         * modules/unistdio/ulc-snprintf: New file.
28407         * modules/unistdio/ulc-sprintf: New file.
28408         * modules/unistdio/ulc-vasnprintf: New file.
28409         * modules/unistdio/ulc-vasprintf: New file.
28410         * modules/unistdio/ulc-vfprintf: New file.
28411         * modules/unistdio/ulc-vsnprintf: New file.
28412         * modules/unistdio/ulc-vsprintf: New file.
28413         * modules/unistdio/u8-asnprintf: New file.
28414         * modules/unistdio/u8-asprintf: New file.
28415         * modules/unistdio/u8-printf-parse: New file.
28416         * modules/unistdio/u8-snprintf: New file.
28417         * modules/unistdio/u8-sprintf: New file.
28418         * modules/unistdio/u8-vasnprintf: New file.
28419         * modules/unistdio/u8-vasprintf: New file.
28420         * modules/unistdio/u8-vsnprintf: New file.
28421         * modules/unistdio/u8-vsprintf: New file.
28422         * modules/unistdio/u8-u8-asnprintf: New file.
28423         * modules/unistdio/u8-u8-asprintf: New file.
28424         * modules/unistdio/u8-u8-snprintf: New file.
28425         * modules/unistdio/u8-u8-sprintf: New file.
28426         * modules/unistdio/u8-u8-vasnprintf: New file.
28427         * modules/unistdio/u8-u8-vasprintf: New file.
28428         * modules/unistdio/u8-u8-vsnprintf: New file.
28429         * modules/unistdio/u8-u8-vsprintf: New file.
28430         * modules/unistdio/u16-asnprintf: New file.
28431         * modules/unistdio/u16-asprintf: New file.
28432         * modules/unistdio/u16-printf-parse: New file.
28433         * modules/unistdio/u16-snprintf: New file.
28434         * modules/unistdio/u16-sprintf: New file.
28435         * modules/unistdio/u16-vasnprintf: New file.
28436         * modules/unistdio/u16-vasprintf: New file.
28437         * modules/unistdio/u16-vsnprintf: New file.
28438         * modules/unistdio/u16-vsprintf: New file.
28439         * modules/unistdio/u16-u16-asnprintf: New file.
28440         * modules/unistdio/u16-u16-asprintf: New file.
28441         * modules/unistdio/u16-u16-snprintf: New file.
28442         * modules/unistdio/u16-u16-sprintf: New file.
28443         * modules/unistdio/u16-u16-vasnprintf: New file.
28444         * modules/unistdio/u16-u16-vasprintf: New file.
28445         * modules/unistdio/u16-u16-vsnprintf: New file.
28446         * modules/unistdio/u16-u16-vsprintf: New file.
28447         * modules/unistdio/u32-asnprintf: New file.
28448         * modules/unistdio/u32-asprintf: New file.
28449         * modules/unistdio/u32-printf-parse: New file.
28450         * modules/unistdio/u32-snprintf: New file.
28451         * modules/unistdio/u32-sprintf: New file.
28452         * modules/unistdio/u32-vasnprintf: New file.
28453         * modules/unistdio/u32-vasprintf: New file.
28454         * modules/unistdio/u32-vsnprintf: New file.
28455         * modules/unistdio/u32-vsprintf: New file.
28456         * modules/unistdio/u32-u32-asnprintf: New file.
28457         * modules/unistdio/u32-u32-asprintf: New file.
28458         * modules/unistdio/u32-u32-snprintf: New file.
28459         * modules/unistdio/u32-u32-sprintf: New file.
28460         * modules/unistdio/u32-u32-vasnprintf: New file.
28461         * modules/unistdio/u32-u32-vasprintf: New file.
28462         * modules/unistdio/u32-u32-vsnprintf: New file.
28463         * modules/unistdio/u32-u32-vsprintf: New file.
28464         * modules/unistdio/ulc-asnprintf-tests: New file.
28465         * modules/unistdio/ulc-vasnprintf-tests: New file.
28466         * modules/unistdio/ulc-vasprintf-tests: New file.
28467         * modules/unistdio/ulc-vsnprintf-tests: New file.
28468         * modules/unistdio/ulc-vsprintf-tests: New file.
28469         * modules/unistdio/u8-asnprintf-tests: New file.
28470         * modules/unistdio/u8-vasnprintf-tests: New file.
28471         * modules/unistdio/u8-vasprintf-tests: New file.
28472         * modules/unistdio/u8-vsnprintf-tests: New file.
28473         * modules/unistdio/u8-vsprintf-tests: New file.
28474         * modules/unistdio/u16-asnprintf-tests: New file.
28475         * modules/unistdio/u16-vasnprintf-tests: New file.
28476         * modules/unistdio/u16-vasprintf-tests: New file.
28477         * modules/unistdio/u16-vsnprintf-tests: New file.
28478         * modules/unistdio/u16-vsprintf-tests: New file.
28479         * modules/unistdio/u32-asnprintf-tests: New file.
28480         * modules/unistdio/u32-vasnprintf-tests: New file.
28481         * modules/unistdio/u32-vasprintf-tests: New file.
28482         * modules/unistdio/u32-vsnprintf-tests: New file.
28483         * modules/unistdio/u32-vsprintf-tests: New file.
28484         * MODULES.html.sh (Unicode string functions): Add the new modules.
28485
28486 2007-07-01  Bruno Haible  <bruno@clisp.org>
28487
28488         * lib/sprintf.c (sprintf): Limit the available length estimation,
28489         to avoid address wraparound.
28490         * lib/vsprintf.c (vsprintf): Likewise.
28491         * modules/sprintf-posix (Dependencies): Add stdint.
28492         * modules/vsprintf-posix (Dependencies): Likewise.
28493
28494 2007-07-01  Bruno Haible  <bruno@clisp.org>
28495
28496         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
28497         Windows PATH as well. Conservative double-quoting. Comments.
28498
28499 2007-07-01  Bruno Haible  <bruno@clisp.org>
28500             Eric Blake  <ebb9@byu.net>
28501             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28502
28503         * gnulib-tool (self_abspathname): Fix algorithm to cope with
28504         empty components in $PATH, denoting '.'.
28505
28506 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28507
28508         * gnulib-tool: Fix indentation.
28509         (func_create_megatestdir): Likewise.
28510         Report by Bruno Haible.
28511
28512 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28513
28514         Sync from Automake.
28515         * build-aux/gnupload: Fix shell portability issues with for loops.
28516         Report by Karl Berry.
28517
28518 2007-06-29  Simon Josefsson  <simon@josefsson.org>
28519
28520         * build-aux/maint.mk (POURL): Use translationproject.org.
28521
28522 2007-06-27  Simon Josefsson  <simon@josefsson.org>
28523             Bruno Haible  <bruno@clisp.org>
28524
28525         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
28526         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
28527         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
28528         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
28529         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
28530
28531 2007-06-27  Bruno Haible  <bruno@clisp.org>
28532
28533         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
28534         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
28535
28536 2007-06-26  Karl Berry  <karl@gnu.org>
28537
28538         * MODULES.html.sh: remove xreadlink-with-size.
28539
28540 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
28541
28542         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
28543         method that I hope also handles the double-include problem noted
28544         by Bruno Haible in
28545         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
28546
28547 2007-06-23  Bruno Haible  <bruno@clisp.org>
28548
28549         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
28550         Don't let the 'mostlyclean' target fail if the last subdirectory could
28551         not be removed.
28552         Reported by Karl Berry.
28553
28554 2007-06-23  Bruno Haible  <bruno@clisp.org>
28555
28556         * gnulib-tool (echo): Add a speedier workaround for ksh.
28557         * tests/test-echo.sh: Likewise.
28558
28559 2007-06-23  Bruno Haible  <bruno@clisp.org>
28560
28561         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
28562         * tests/test-echo.sh: Likewise.
28563
28564 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28565
28566         * gnulib-tool (IFS): Initialize early, so we don't set it to
28567         empty later.
28568         (self_abspathname): Rewrite algorithm to set it, reindent.
28569         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
28570         (func_create_megatestdir): Merge some sed scripts.
28571
28572 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
28573
28574         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
28575         exposed by Sun Studio 11 cc on Solaris 8.
28576
28577 2007-06-22  Bruno Haible  <bruno@clisp.org>
28578
28579         * gnulib-tool (echo): Ensure the echo primitive does not interpret
28580         backslashes.
28581         * tests/test-echo.sh: New file.
28582
28583 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28584
28585         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
28586         simplify `sed_replace_build_aux' scripts, they are portable but
28587         echoing them with `echo' is not.
28588         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
28589
28590 2007-06-21  Karl Berry  <karl@gnu.org>
28591
28592         * config/srclist.txt: guess we can't handle the licenses via
28593         srclist at the moment.
28594
28595 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
28596
28597         * MODULES.html.sh: Add include_next.
28598         * modules/include_next: New file.
28599
28600 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
28601
28602         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
28603         INCLUDE_NEXT.
28604         (gl_CHECK_NEXT_HEADERS): New macro.
28605         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
28606         the obsolescent gl_ABSOLUTE_HEADER.
28607         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
28608         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
28609         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
28610         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
28611         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
28612         * m4/math_h.m4 (gl_MATH_H): Likewise.
28613         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
28614         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
28615         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
28616         * m4/stdint.m4 (gl_STDINT_H): Likewise.
28617         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
28618         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
28619         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
28620         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
28621         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
28622         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
28623         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
28624         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
28625         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
28626         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
28627         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
28628         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
28629         * m4/inttypes.m4 (gl_INTTYPES_H): Define
28630         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
28631         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
28632         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
28633         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
28634         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
28635         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
28636         * lib/float_.h: Likewise.
28637         * lib/inttypes_.h: Likewise.
28638         * lib/math_.h: Likewise.
28639         * lib/search_.h: Likewise.
28640         * lib/signal_.h: Likewise.
28641         * lib/stdint_.h: Likewise.
28642         * lib/stdio_.h: Likewise.
28643         * lib/stdlib_.h: Likewise.
28644         * lib/string_.h: Likewise.
28645         * lib/sys_stat_.h: Likewise.
28646         * lib/sys_time_.h: Likewise.
28647         * lib/time_.h: Likewise.
28648         * lib/unistd_.h: Likewise.
28649         * lib/wchar_.h: Likewise.
28650         * lib/wctype_.h: Likewise.
28651         * lib/dirent_.h: Likewise.
28652         * lib/iconv_.h: Likewise.
28653         * lib/locale_.h: Likewise.
28654         * lib/netinet_in_.h: Likewise.
28655         * lib/sys_select_.h: Likewise.
28656         * lib/sys_socket_.h: Likewise.
28657         * lib/sysexits_.h: Likewise.
28658         * modules/fcntl (Depends-on): Depend on include_next, not
28659         absolute_header.
28660         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
28661         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
28662         * modules/fchdir: Likewise.
28663         * modules/float: Likewise.
28664         * modules/iconv_open: Likewise.
28665         * modules/inttypes: Likewise.
28666         * modules/locale: Likewise.
28667         * modules/math: Likewise.
28668         * modules/netinet_in: Likewise.
28669         * modules/search: Likewise.
28670         * modules/signal: Likewise.
28671         * modules/stdint: Likewise.
28672         * modules/stdio: Likewise.
28673         * modules/stdlib: Likewise.
28674         * modules/string: Likewise.
28675         * modules/sys_select: Likewise.
28676         * modules/sys_socket: Likewise.
28677         * modules/sys_stat: Likewise.
28678         * modules/sys_time: Likewise.
28679         * modules/sysexits: Likewise.
28680         * modules/time: Likewise.
28681         * modules/unistd: Likewise.
28682         * modules/wchar: Likewise.
28683         * modules/wctype: Likewise.
28684         * modules/sys_stat: Change maintainer to "all".
28685         * modules/unistd: Likewise.
28686
28687 2007-06-20  Karl Berry  <karl@gnu.org>
28688
28689         * config/srclist.txt: track www changes in license files.
28690
28691 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
28692
28693         * build-aux/bootstrap: Remove stray dot.
28694         Make sure build_aux settings are honored when linking
28695         gnulib_extra_files.
28696
28697 2007-06-19  Eric Blake  <ebb9@byu.net>
28698
28699         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
28700         Allow compilation on cygwin.
28701
28702 2007-06-19  Jim Meyering  <jim@meyering.net>
28703
28704         xreadlink-with-size: Remove module.  No longer used.
28705         Ex-callers now use xreadlink or mreadlink-with-size.
28706         * modules/xreadlink-with-size: Remove module.
28707         * lib/xreadlink-with-size.c: Remove file.
28708         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
28709         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
28710         just before the function definition *is* accurate.
28711
28712         Eliminate one way canonicalize_filename_mode could exit.
28713         * lib/canonicalize.c (canonicalize_filename_mode):
28714         Use mreadlink_with_size, not xreadlink_with_size.
28715
28716 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
28717
28718         Detect porting problems to FreeBSD/arm, which has time_t wider than
28719         long int.  Original problem reported for GNU diff by Xin Li in
28720         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
28721         * modules/getdate (Depends-on): Add intprops, verify.
28722         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
28723         is an integer type no wider than long int.
28724
28725 2007-06-18  Jim Meyering  <jim@meyering.net>
28726
28727         New module: mreadlink-with-size.
28728         * MODULES.html.sh: Add mreadlink-with-size.
28729         * modules/mreadlink-with-size: New module
28730         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
28731         not xreadlink-with-size.
28732         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
28733
28734 2007-06-16  Bruno Haible  <bruno@clisp.org>
28735
28736         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
28737         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
28738         Reported by Gary V. Vaughan <gary@gnu.org>.
28739
28740 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
28741
28742         Revamp lchown so that it lives in unistd.h where it belongs.
28743         * lib/lchown.h: Remove.
28744         * lib/dirchownmod.c: Don't include lib/lchown.h.
28745         * lib/fchownat.c: Likewise.
28746         * lib/openat.c: Likewise.
28747         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
28748         does not follow symlinks.
28749         (EOPNOTSUPP): Define if not defined.
28750         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
28751         is defined to 0.
28752         (lchown): New decl.
28753         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
28754         Do not check for lchown decl.
28755         Set REPLACE_LCHOWN.
28756         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
28757         REPLACE_LCHOWN.
28758         * modules/chown: Make it clear it follows symlinks.
28759         * modules/lchown: Make it clear it doesn't follow symlinks.
28760         (Files): Remove lib/lchown.h
28761         (Depends-on): Add unistd.
28762         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
28763         (Include): Include <unistd.h>, not "lchown.h".
28764         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
28765         REPLACE_LCHOWN.
28766
28767 2007-06-15  Jim Meyering  <jim@meyering.net>
28768
28769         Change license (GPL to LGPL) of fsusage and dependents.
28770         * modules/fsusage (License): Change to LGPL.
28771         * modules/full-read (License): Likewise.
28772         * modules/full-write (License): Likewise.
28773         * modules/safe-read (License): Likewise.
28774         * modules/safe-write (License): Likewise.
28775
28776 2007-06-14  Ben Pfaff  <blp@gnu.org>
28777
28778         Missing part of allocsa -> malloca transition.
28779         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
28780         gl_MALLOCA.
28781
28782 2007-06-12  Bruno Haible  <bruno@clisp.org>
28783
28784         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
28785         to ia64, x86_64, i386.
28786         Reported by Eric Blake.
28787
28788 2007-06-12  Bruno Haible  <bruno@clisp.org>
28789
28790         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
28791         cross-compiling to x86_64.
28792
28793 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
28794
28795         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
28796         glitch reported by Ralf Wildenhues in
28797         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
28798
28799         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
28800         Vin Shelton.
28801
28802 2007-06-11  Bruno Haible  <bruno@clisp.org>
28803
28804         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
28805         replacement string.
28806         Reported by Eric Blake.
28807
28808 2007-06-10  Bruno Haible  <bruno@clisp.org>
28809
28810         Prepare vasnprintf code for use with Unicode strings.
28811         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
28812         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
28813         TYPE_U32_STRING.
28814         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
28815         a_u32_string variants.
28816         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
28817         * lib/printf-args.c: Don't include config.h and the specification
28818         header if PRINTF_FETCHARGS is already defined.
28819         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
28820         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
28821         TYPE_U16_STRING, TYPE_U32_STRING.
28822         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
28823         u16_directive, u16_directives, u32_directive, u32_directives): New
28824         types.
28825         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
28826         New declarations.
28827         * lib/printf-parse.c: Don't include config.h and the specification
28828         header if PRINTF_PARSE is already defined. Eliminate the set of
28829         parameters for WIDE_CHAR_VERSION; the user of this file must provide
28830         them now. Include c-ctype.h.
28831         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
28832         directive and CHAR_T_ONLY_ASCII.
28833         * lib/vasnprintf.c: Don't include config.h and the specification header
28834         if VASNPRINTF is already defined.
28835         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
28836         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
28837         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
28838         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
28839         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
28840         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
28841         code accordingly.
28842         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
28843         pad_ourselves also in this case, with the 'c' and 's' directives, and
28844         with a different notion of "width".
28845         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
28846
28847 2007-06-10  Bruno Haible  <bruno@clisp.org>
28848
28849         * modules/unistr/u32-mbsnlen: New file.
28850         * lib/unistr/u32-mbsnlen.c: New file.
28851
28852         * modules/unistr/u16-mbsnlen: New file.
28853         * lib/unistr/u16-mbsnlen.c: New file.
28854
28855         * modules/unistr/u8-mbsnlen: New file.
28856         * lib/unistr/u8-mbsnlen.c: New file.
28857
28858         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
28859         declarations.
28860
28861 2007-06-10  Bruno Haible  <bruno@clisp.org>
28862
28863         * lib/string_.h (mbsnlen): New declaration.
28864         * lib/mbsnlen.c: New file.
28865         * m4/mbsnlen.m4: New file.
28866         * modules/mbsnlen: New file.
28867         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
28868         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
28869         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
28870
28871 2007-06-10  Bruno Haible  <bruno@clisp.org>
28872
28873         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
28874
28875 2007-06-10  Bruno Haible  <bruno@clisp.org>
28876
28877         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
28878         * lib/mbuiter.h: Likewise.
28879
28880 2007-06-10  Bruno Haible  <bruno@clisp.org>
28881
28882         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
28883         declaration.
28884
28885 2007-06-10  Karl Berry  <karl@gnu.org>
28886
28887         * config/srclist.txt: remove gettext entries, Bruno prefers
28888         to update individually.
28889
28890 2007-06-10  Bruno Haible  <bruno@clisp.org>
28891
28892         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
28893         'maxlen'. Ensure only length + width bytes are allocated, not
28894         length + 1 + width.
28895
28896 2007-06-09  Bruno Haible  <bruno@clisp.org>
28897
28898         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
28899         (CHAR_T): Remove macro.
28900         (VASNPRINTF): Update.
28901
28902 2007-06-09  Bruno Haible  <bruno@clisp.org>
28903
28904         * MODULES.html.sh (Unicode string functions): Add the new modules.
28905
28906         * modules/uniconv/u32-conv-to-enc: New file.
28907         * lib/uniconv/u32-conv-to-enc.c: New file.
28908         * modules/uniconv/u32-conv-to-enc-tests: New file.
28909         * tests/uniconv/test-u32-conv-to-enc.c: New file.
28910
28911         * modules/uniconv/u16-conv-to-enc: New file.
28912         * lib/uniconv/u16-conv-to-enc.c: New file.
28913         * lib/uniconv/u-conv-to-enc.h: New file.
28914         * modules/uniconv/u16-conv-to-enc-tests: New file.
28915         * tests/uniconv/test-u16-conv-to-enc.c: New file.
28916
28917         * modules/uniconv/u8-conv-to-enc: New file.
28918         * lib/uniconv/u8-conv-to-enc.c: New file.
28919         * modules/uniconv/u8-conv-to-enc-tests: New file.
28920         * tests/uniconv/test-u8-conv-to-enc.c: New file.
28921
28922         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
28923         u32_conv_to_encoding): New declarations.
28924
28925 2007-06-09  Bruno Haible  <bruno@clisp.org>
28926
28927         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
28928
28929 2007-06-09  Bruno Haible  <bruno@clisp.org>
28930
28931         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
28932         * modules/malloca: Renamed from modules/allocsa, updated.
28933         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
28934         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
28935         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
28936         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
28937         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
28938         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
28939         * modules/xmalloca: Renamed from modules/xallocsa, updated.
28940         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
28941         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
28942         * modules/c-strcasestr (Depends-on): Update.
28943         * lib/c-strcasestr.c: Update.
28944         * modules/c-strstr (Depends-on): Update.
28945         * lib/c-strstr.c: Update.
28946         * modules/canonicalize-lgpl (Depends-on): Update.
28947         * lib/canonicalize-lgpl.c: Update.
28948         * modules/clean-temp (Depends-on): Update.
28949         * lib/clean-temp.c: Update.
28950         * modules/csharpcomp (Depends-on): Update.
28951         * lib/csharpcomp.c: Update.
28952         * modules/csharpexec (Depends-on): Update.
28953         * lib/csharpexec.c: Update.
28954         * modules/javacomp (Depends-on): Update.
28955         * lib/javacomp.c: Update.
28956         * modules/javaexec (Depends-on): Update.
28957         * lib/javaexec.c: Update.
28958         * modules/mbscasestr (Depends-on): Update.
28959         * lib/mbscasestr.c: Update.
28960         * modules/mbsstr (Depends-on): Update.
28961         * lib/mbsstr.c: Update.
28962         * modules/setenv (Depends-on): Update.
28963         * lib/setenv.c: Update.
28964         * modules/strcasestr (Depends-on): Update.
28965         * lib/strcasestr.c: Update.
28966         * modules/striconveha (Depends-on): Update.
28967         * lib/striconveha.c: Update.
28968         * modules/relocatable-prog-wrapper (Files): Update.
28969         * lib/relocwrapper.c: Update.
28970         * build-aux/install-reloc: Update.
28971         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
28972
28973 2007-06-08  Bruno Haible  <bruno@clisp.org>
28974
28975         Port to uClibc.
28976         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
28977         * lib/fpurge.c (fpurge): Likewise.
28978         * lib/freading.c (freading): Likewise.
28979         * lib/fseeko.c (rpl_fseeko): Likewise.
28980         * lib/fseterr.c (fseterr): Likewise.
28981         * lib/fwriting.c (fwriting): Likewise.
28982         * tests/test-fflush.c (main): Avoid a failure on uClibc.
28983
28984 2007-06-08  Bruno Haible  <bruno@clisp.org>
28985
28986         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
28987         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
28988         * modules/gettext (Files): Add m4/intlmacosx.m4.
28989
28990 2007-06-07  Bruno Haible  <bruno@clisp.org>
28991
28992         * modules/localename-tests: New file.
28993         * tests/test-localename.c: New file.
28994
28995         New module 'localename'.
28996         * lib/localename.h: New file.
28997         * lib/localename.c: New file, from GNU gettext.
28998         * m4/localename.m4: New file.
28999         * modules/localename: New file.
29000
29001 2007-06-07  Bruno Haible  <bruno@clisp.org>
29002
29003         Work around the lack of <wchar.h> on some builds of uClibc.
29004         * doc/headers/wchar.texi: Update.
29005         * lib/wchar_.h: Include <wchar.h> only if it exists.
29006         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
29007         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
29008         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
29009         doesn't exist.
29010         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
29011         * modules/mbfile (Depends-on): Add wchar.
29012         * modules/mbiter (Depends-on): Likewise.
29013         * modules/mbuiter (Depends-on): Likewise.
29014         Reported by Simon Josefsson.
29015
29016 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
29017
29018         Work around problem reported by Steven M. Schweda in
29019         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
29020         Tru64 5.1B with the Compaq compiler environment installed declares
29021         an 'isblank' function but does not define it in the C library.
29022         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
29023         * lib/regex_internal.h (isblank): Likewise.
29024         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
29025         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
29026
29027 2007-06-05  Bruno Haible  <bruno@clisp.org>
29028
29029         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
29030         ia64.
29031         * modules/printf-safe: New file.
29032         * modules/fprintf-posix (Depends-on): Add printf-safe.
29033         * modules/printf-posix (Depends-on): Likewise.
29034         * modules/snprintf-posix (Depends-on): Likewise.
29035         * modules/sprintf-posix (Depends-on): Likewise.
29036         * modules/vasnprintf-posix (Depends-on): Likewise.
29037         * modules/vasprintf-posix (Depends-on): Likewise.
29038         * modules/vfprintf-posix (Depends-on): Likewise.
29039         * modules/vprintf-posix (Depends-on): Likewise.
29040         * modules/vsnprintf-posix (Depends-on): Likewise.
29041         * modules/vsprintf-posix (Depends-on): Likewise.
29042         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
29043         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
29044         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
29045         "no" on i386, x86_64, ia64.
29046         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
29047         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
29048         on i386, x86_64, ia64.
29049         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
29050         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
29051         on i386, x86_64, ia64.
29052         * tests/test-vasnprintf-posix.c: Include float.h.
29053         (LDBL80_WORDS): New macro.
29054         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
29055         on i386, x86_64, ia64.
29056         * tests/test-vasprintf-posix.c: Include float.h.
29057         (LDBL80_WORDS): New macro.
29058         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
29059         on i386, x86_64, ia64.
29060         * tests/test-snprintf-posix.c: Include float.h.
29061         * tests/test-sprintf-posix.c: Likewise.
29062         * tests/test-vsnprintf-posix.c: Likewise.
29063         * tests/test-vsprintf-posix.c: Likewise.
29064
29065 2007-06-05  Bruno Haible  <bruno@clisp.org>
29066
29067         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
29068         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
29069         non-IEEE numbers on i386, x86_64, ia64.
29070         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
29071         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
29072         * tests/test-isnanl.h: Include float.h.
29073         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
29074
29075 2007-06-05  Bruno Haible  <bruno@clisp.org>
29076
29077         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
29078         also the %a / %A. Handle the %a / %A code before this extra handling.
29079
29080 2007-06-05  Bruno Haible  <bruno@clisp.org>
29081
29082         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
29083         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
29084
29085 2007-06-05  Bruno Haible  <bruno@clisp.org>
29086
29087         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
29088         typo in variable name.
29089
29090 2007-06-05  Eric Blake  <ebb9@byu.net>
29091
29092         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
29093         Reported by Simon Josefsson.
29094
29095 2007-06-04  Bruno Haible  <bruno@clisp.org>
29096
29097         Avoid test failures on some PowerPC platforms.
29098         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
29099         Define differently for PowerPC.
29100         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
29101         Reported by Gary V. Vaughan <gary@gnu.org>.
29102
29103 2007-06-02  Bruno Haible  <bruno@clisp.org>
29104
29105         Fix test-stdint failure on FreeBSD/ia64.
29106         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
29107         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
29108         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
29109         * doc/headers/stdint.texi: Update.
29110
29111 2007-06-01  Bruno Haible  <bruno@clisp.org>
29112
29113         * tests/test-binary-io.c (main): Pass a third argument to open().
29114         Reported by Gary V. Vaughan <gary@gnu.org>.
29115
29116 2007-06-01  Bruno Haible  <bruno@clisp.org>
29117
29118         * doc/functions/frexpl.texi: Update for mingw.
29119
29120 2007-06-01  Bruno Haible  <bruno@clisp.org>
29121
29122         * tests/test-lseek.c (main): Disable test of errno for invalid third
29123         argument.
29124         * doc/functions/lseek.texi: Update.
29125         Reported by Gary V. Vaughan <gary@gnu.org>.
29126
29127 2007-05-28  Bruno Haible  <bruno@clisp.org>
29128
29129         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
29130
29131 2007-05-31  Eric Blake  <ebb9@byu.net>
29132
29133         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
29134         cross compiling.
29135
29136 2007-05-30  Eric Blake  <ebb9@byu.net>
29137         and Bruno Haible  <bruno@clisp.org>
29138
29139         Work around mingw test failures exposed by m4-1.4.9b.
29140         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
29141         * tests/test-unistd.c: Disable uid_t and git_t tests for the
29142         moment.
29143
29144 2007-05-30  Bruno Haible  <bruno@clisp.org>
29145
29146         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
29147         assuming that they are closed. Needed on HP-UX 11.
29148
29149 2007-05-29  Bruno Haible  <bruno@clisp.org>
29150
29151         Fix a problem with #include_next.
29152         * lib/dirent_.h: Split the double-inclusion guard.
29153         * lib/fcntl_.h: Likewise.
29154         * lib/float_.h: Likewise.
29155         * lib/iconv_.h: Likewise.
29156         * lib/inttypes_.h: Likewise.
29157         * lib/locale_.h: Likewise.
29158         * lib/math_.h: Likewise.
29159         * lib/netinet_in_.h: Likewise.
29160         * lib/search_.h: Likewise.
29161         * lib/signal_.h: Likewise.
29162         * lib/stdint_.h: Likewise.
29163         * lib/stdio_.h: Likewise.
29164         * lib/stdlib_.h: Likewise.
29165         * lib/string_.h: Likewise.
29166         * lib/sys_select_.h: Likewise.
29167         * lib/sys_socket_.h: Likewise.
29168         * lib/sys_stat_.h: Likewise.
29169         * lib/sys_time_.h: Likewise.
29170         * lib/sysexits_.h: Likewise.
29171         * lib/time_.h: Likewise.
29172         * lib/unistd_.h: Likewise.
29173         * lib/wchar_.h: Likewise.
29174         * lib/wctype_.h: Likewise.
29175
29176 2007-05-29  Bruno Haible  <bruno@clisp.org>
29177
29178         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
29179         for the moment.
29180
29181 2007-05-29  Bruno Haible  <bruno@clisp.org>
29182
29183         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
29184         invocation.
29185         Reported by Eric Blake.
29186
29187 2007-05-29  Bruno Haible  <bruno@clisp.org>
29188
29189         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
29190         compiling case.
29191
29192 2007-05-29  Eric Blake  <ebb9@byu.net>
29193             Bruno Haible  <bruno@clisp.org>
29194
29195         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
29196         cross compiles.
29197
29198 2007-05-28  Eric Blake  <ebb9@byu.net>
29199
29200         * modules/closein-tests (test_closein_LDADD): Support test on
29201         cygwin with libtool.
29202
29203 2007-05-28  Bruno Haible  <bruno@clisp.org>
29204
29205         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
29206         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
29207         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
29208         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
29209         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
29210         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
29211         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
29212         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
29213         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
29214
29215 2007-05-28  Eric Blake  <ebb9@byu.net>
29216
29217         Unconditionally include <config.h> in unit tests.
29218         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
29219         * tests/test-allocsa.c, tests/test-arcfour.c,
29220         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
29221         tests/test-array_list.c, tests/test-array_oset.c,
29222         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
29223         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
29224         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
29225         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
29226         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
29227         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
29228         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
29229         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
29230         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
29231         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
29232         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
29233         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
29234         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
29235         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
29236         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
29237         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
29238         test-md5.c, test-memmem.c, test-printf-posix.c,
29239         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
29240         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
29241         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
29242         test-strcasestr.c, test-striconv.c, test-striconveh.c,
29243         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
29244         test-vasnprintf-posix2.c, test-vasnprintf.c,
29245         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
29246         test-vfprintf-posix.c, test-vprintf-posix.c,
29247         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
29248         test-xvasprintf.c: Likewise.
29249
29250 2007-05-28  Bruno Haible  <bruno@clisp.org>
29251
29252         * gnulib-tool (func_import): Remember the --with-tests command-line
29253         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
29254         Reported by Eric Blake.
29255
29256 2007-05-28  Bruno Haible  <bruno@clisp.org>
29257
29258         * modules/ftell-tests: New file.
29259         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
29260         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
29261
29262         * lib/ftell.c: New file.
29263         * modules/ftell: New file.
29264         * m4/ftell.m4: New file.
29265         * doc/functions/ftell.texi: Update.
29266         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
29267         REPLACE_FTELL.
29268         * lib/stdio_.h (rpl_ftell): New declaration.
29269         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
29270         REPLACE_FTELL.
29271
29272 2007-05-28  Eric Blake  <ebb9@byu.net>
29273
29274         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
29275
29276 2007-05-28  Bruno Haible  <bruno@clisp.org>
29277
29278         * modules/fseek-tests: New file.
29279         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
29280         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
29281
29282         * lib/fseek.c: New file.
29283         * modules/fseek: New file.
29284         * m4/fseek.m4: New file.
29285         * doc/functions/fseek.texi: Update.
29286         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
29287         REPLACE_FSEEK.
29288         * lib/stdio_.h (rpl_fseek): New declaration.
29289         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
29290         REPLACE_FSEEK.
29291
29292 2007-05-28  Bruno Haible  <bruno@clisp.org>
29293
29294         * lib/stdio_.h (fflush): More comments.
29295
29296 2007-05-28  Bruno Haible  <bruno@clisp.org>
29297
29298         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
29299         runtime test.
29300
29301 2007-05-28  Eric Blake  <ebb9@byu.net>
29302
29303         Improve lseek module.
29304         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
29305         * lib/unistd_.h (lseek): Scale back link warning message.
29306         * tests/test-lseek.c: Beef up test.
29307         * tests/test-lseek.sh: Exercise more facets of lseek.
29308         Reported by Bruno Haible.
29309
29310 2007-05-28  Bruno Haible  <bruno@clisp.org>
29311
29312         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
29313         to define.
29314
29315 2007-05-27  Bruno Haible  <bruno@clisp.org>
29316
29317         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
29318
29319 2007-05-27  Bruno Haible  <bruno@clisp.org>
29320
29321         * modules/openmp: New file.
29322         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
29323         Noah Misch.
29324
29325 2007-05-26  Bruno Haible  <bruno@clisp.org>
29326
29327         * modules/chdir-long (Depends-on): Add fchdir.
29328         * modules/chdir-safer (Depends-on): Likewise.
29329         * modules/fts (Depends-on): Likewise.
29330         * modules/fts-lgpl (Depends-on): Likewise.
29331         * modules/openat (Depends-on): Likewise.
29332         * modules/savewd (Depends-on): Likewise.
29333
29334 2007-05-24  Eric Blake  <ebb9@byu.net>
29335
29336         Fix lseek on mingw.
29337         * modules/lseek: New module.
29338         * m4/lseek.m4: New file.
29339         * lib/lseek.c: New file.
29340         * modules/lseek-tests: New file.
29341         * tests/test-lseek.c: New file.
29342         * tests/test-lseek.sh: New file.
29343         * MODULES.html.sh: Document lseek module.
29344         * modules/fflush (Depends-on): Add lseek, fseeko.
29345         * modules/fseeko (Depends-on): Likewise.
29346         * modules/ftello (Depends-on): Likewise.
29347         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
29348         broken.
29349         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
29350         broken.
29351         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
29352         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
29353         * lib/ftello.c (rpl_ftello): Likewise.
29354         * tests/test-fseeko.c (main): Test this.
29355         * tests/test-fseeko.sh: Likewise.
29356         * tests/test-ftello.c (main): Likewise.
29357         * tests/test-ftello.sh: Likewise.
29358         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
29359         implies replacing fseek.
29360         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
29361         HAVE_FTELLO.
29362         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
29363         * modules/unistd (Makefile.am): Likewise.
29364         * lib/unistd_.h (lseek): Declare a replacement.
29365         * doc/functions/lseek.texi (lseek): Document this fix.
29366         * doc/functions/fseek.texi (fseek): Likewise.
29367         * doc/functions/ftell.texi (ftell): Likewise.
29368
29369 2007-05-24  Bruno Haible  <bruno@clisp.org>
29370
29371         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
29372         in the printed representation of a NaN.
29373         * tests/test-vasprintf-posix.c (test_function): Likewise.
29374         * tests/test-snprintf-posix.h (test_function): Likewise.
29375         * tests/test-sprintf-posix.h (test_function): Likewise.
29376         Reported by Eric Blake.
29377
29378 2007-05-23  Eric Blake  <ebb9@byu.net>
29379
29380         Fix fseeko/ftello on cygwin 1.5.24.
29381         * doc/functions/fseeko.texi (fseeko): Document the fix.
29382         * doc/functions/ftello.texi (ftello): Document the fix.
29383         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
29384         * doc/functions/stdout.text (stdout): New file.
29385         * doc/functions/stderr.text (stderr): New file.
29386         * doc/gnulib.texi (Function Substitutes): Use new files.
29387         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
29388         prior to 1.7.0.
29389         * tests/test-ftello.c (main): Likewise for ftello.
29390         * tests/test-fseeko.sh: New file.
29391         * tests/test-ftello.sh: New file.
29392         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
29393         with seekable stdin.
29394         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
29395         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
29396         (gl_REPLACE_FSEEKO): New macro.
29397         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
29398         * modules/fseeko (Files): Distribute fseeko.c.
29399         * modules/ftello (Files): Distribute ftello.c.
29400         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
29401         mode.
29402         * lib/ftello.c (rpl_ftello): New file.
29403         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
29404         fseeko, ftello.
29405         (gl_STDIN_LARGE_OFFSET): New macro.
29406         * modules/stdio (Makefile.am): Perform the replacement.
29407         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
29408
29409 2007-05-23  Bruno Haible  <bruno@clisp.org>
29410
29411         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
29412         GNULIB_POSIXCHECK is defined.
29413
29414 2007-05-21  Bruno Haible  <bruno@clisp.org>
29415
29416         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
29417         Check also the output for NaN arguments. When cross-compiling, guess
29418         no on IRIX.
29419         * lib/vasnprintf.c: Update comments.
29420         * tests/test-vasnprintf-posix.c (strisnan): New function.
29421         (test_function): Use it.
29422         * tests/test-vasprintf-posix.c (strisnan): New function.
29423         (test_function): Use it.
29424         * tests/test-snprintf-posix.h (strisnan): New function.
29425         (test_function): Use it.
29426         * tests/test-sprintf-posix.h (strisnan): New function.
29427         (test_function): Use it.
29428         Reported by Eric Blake.
29429
29430 2007-05-20  Bruno Haible  <bruno@clisp.org>
29431
29432         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
29433         numbers that fails on BeOS.
29434         * doc/functions/frexpl.texi: Update.
29435
29436 2007-05-20  Jim Meyering  <jim@meyering.net>
29437
29438         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
29439         forced upon us by glibc-2.6.
29440
29441 2007-05-20  Bruno Haible  <bruno@clisp.org>
29442
29443         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
29444         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
29445         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
29446         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
29447         NEED_PRINTF_INFINITE.
29448         (is_infinitel): New function.
29449         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
29450         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
29451         gl_PREREQ_VASNPRINTF_INFINITE.
29452         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
29453         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
29454         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
29455         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
29456         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
29457         gl_PREREQ_VASNPRINTF_INFINITE.
29458         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
29459         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
29460         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
29461         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
29462         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
29463         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
29464         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
29465         * doc/functions/fprintf.texi: Update.
29466         * doc/functions/printf.texi: Update.
29467         * doc/functions/snprintf.texi: Update.
29468         * doc/functions/sprintf.texi: Update.
29469         * doc/functions/vfprintf.texi: Update.
29470         * doc/functions/vprintf.texi: Update.
29471         * doc/functions/vsnprintf.texi: Update.
29472         * doc/functions/vsprintf.texi: Update.
29473
29474 2007-05-20  Bruno Haible  <bruno@clisp.org>
29475
29476         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
29477         was not found in libc.
29478         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
29479
29480 2007-05-20  Bruno Haible  <bruno@clisp.org>
29481
29482         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
29483         printed as "-nan" instead of "nan".
29484         * tests/test-vasprintf-posix.c (test_function): Likewise.
29485         * tests/test-snprintf-posix.h (test_function): Likewise.
29486         * tests/test-sprintf-posix.h (test_function): Likewise.
29487         Needed for HP-UX 11.
29488
29489 2007-05-20  Jim Meyering  <jim@meyering.net>
29490
29491         Fix buggy test for the fchownat-deref bug.
29492         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
29493         symlink required for the run-test.  Without it, this test would
29494         always declare that fchownat doesn't work, and client code would
29495         unnecessarily use the replacement function with fixed libc.
29496         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
29497         Reported by Greg Schafer.
29498
29499 2007-05-19  Bruno Haible  <bruno@clisp.org>
29500
29501         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
29502         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
29503         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
29504         Needed for IRIX 6.5 and Solaris 2.5.1.
29505
29506 2007-05-19  Bruno Haible  <bruno@clisp.org>
29507
29508         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
29509         (test_function): Skip tests involving -0.0 on platforms where
29510         -0.0 = 0.0.
29511         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
29512         (test_function): Skip tests involving -0.0 on platforms where
29513         -0.0 = 0.0.
29514         * tests/test-snprintf-posix.h (have_minus_zero): New function.
29515         (test_function): Skip tests involving -0.0 on platforms where
29516         -0.0 = 0.0.
29517         * tests/test-sprintf-posix.h (have_minus_zero): New function.
29518         (test_function): Skip tests involving -0.0 on platforms where
29519         -0.0 = 0.0.
29520         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
29521         tests.
29522         * tests/test-printf-posix.h (test_function): Likewise.
29523         * tests/test-printf-posix.output: Remove all -0.0 related results.
29524         Needed for IRIX 6.5.
29525
29526 2007-05-19  Bruno Haible  <bruno@clisp.org>
29527
29528         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
29529         printed as "nan0x7fffffff" instead of "nan".
29530         * tests/test-vasprintf-posix.c (test_function): Likewise.
29531         * tests/test-snprintf-posix.h (test_function): Likewise.
29532         * tests/test-sprintf-posix.h (test_function): Likewise.
29533         * tests/test-fprintf-posix.h (NaN): Remove macro.
29534         (test_function): Remove all NaN related tests.
29535         * tests/test-printf-posix.h (NaN): Remove macro.
29536         (test_function): Remove all NaN related tests.
29537         * tests/test-printf-posix.output: Remove all NaN related results.
29538         Needed for IRIX 6.5.
29539
29540 2007-05-19  Bruno Haible  <bruno@clisp.org>
29541
29542         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
29543         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
29544
29545 2007-05-19  Bruno Haible  <bruno@clisp.org>
29546
29547         * lib/float_.h: New file.
29548         * m4/float_h.m4: New file.
29549         * modules/float: New file.
29550         * modules/isnanl (Dependencies): Add float.
29551         * modules/isnanl-nolibm (Dependencies): Likewise.
29552         * modules/mathl (Dependencies): Likewise.
29553         * modules/printf-frexpl (Dependencies): Likewise.
29554         * modules/signbit (Dependencies): Likewise.
29555         * modules/vasnprintf (Dependencies): Likewise.
29556         * doc/headers/float.texi: Update.
29557
29558 2007-05-19  Jim Meyering  <jim@meyering.net>
29559
29560         * lib/utimens.c (gl_futimens): Rename from futimens,
29561         now that glibc-2.6 declares futimens.
29562         * lib/utimens.h: Likewise.
29563
29564 2007-05-19  Bruno Haible  <bruno@clisp.org>
29565
29566         Avoid test failures on mingw.
29567         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
29568         * tests/test-printf-posix.sh: Likewise.
29569         * tests/test-vfprintf-posix.sh: Likewise.
29570         * tests/test-vprintf-posix.sh: Likewise.
29571
29572 2007-05-19  Bruno Haible  <bruno@clisp.org>
29573
29574         Fix *printf result for NaN, Inf, -0.0 on mingw.
29575         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
29576         * lib/vasnprintf.c: Include math.h and isnan.h.
29577         (is_infinite_or_zero): New function.
29578         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
29579         values in the %f, %F, %e, %E, %g, %G directives.
29580         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
29581         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
29582         gl_PRINTF_INFINITE and test its result. Invoke
29583         gl_PREREQ_VASNPRINTF_INFINITE.
29584         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
29585         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
29586         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
29587         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
29588         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
29589         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
29590         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
29591         * doc/functions/fprintf.texi: Update.
29592         * doc/functions/printf.texi: Update.
29593         * doc/functions/snprintf.texi: Update.
29594         * doc/functions/sprintf.texi: Update.
29595         * doc/functions/vfprintf.texi: Update.
29596         * doc/functions/vprintf.texi: Update.
29597         * doc/functions/vsnprintf.texi: Update.
29598         * doc/functions/vsprintf.texi: Update.
29599
29600 2007-05-19  Bruno Haible  <bruno@clisp.org>
29601
29602         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
29603         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
29604         Instead of multiplying with 10^k, set extra_zeroes to k.
29605         (scale10_round_long_double): Remove function.
29606
29607 2007-05-18  Bruno Haible  <bruno@clisp.org>
29608
29609         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
29610         introduced on 2007-05-06.
29611
29612 2007-05-18  Bruno Haible  <bruno@clisp.org>
29613
29614         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
29615         %g directives.
29616         * tests/test-vasprintf-posix.c (test_function): Likewise.
29617         * tests/test-snprintf-posix.h (test_function): Likewise.
29618         * tests/test-sprintf-posix.h (test_function): Likewise.
29619
29620 2007-05-18  Bruno Haible  <bruno@clisp.org>
29621
29622         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
29623         (strmatch): New function.
29624         (test_function): Test the %f directive on numbers of various exponents.
29625         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
29626         (strmatch): New function.
29627         (test_function): Test the %f directive on numbers of various exponents.
29628         * tests/test-snprintf-posix.h (strmatch): New function.
29629         (test_function): Test the %f directive on numbers of various exponents.
29630         * tests/test-sprintf-posix.h (strmatch): New function.
29631         (test_function): Test the %f directive on numbers of various exponents.
29632         * tests/test-snprintf-posix.c (SIZEOF): New macro.
29633         * tests/test-sprintf-posix.c (SIZEOF): New macro.
29634         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
29635         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
29636
29637 2007-05-18  Bruno Haible  <bruno@clisp.org>
29638
29639         Add support for 'long double' number output.
29640         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
29641         * lib/vasnprintf.c: Include math.h and float+.h.
29642         (mp_limb_t): New type.
29643         (GMP_LIMB_BITS): New macro.
29644         (mp_twolimb_t): New type.
29645         (GMP_TWOLIMB_BITS): New macro.
29646         (mpn_t): New type.
29647         (multiply, divide, convert_to_decimal, decode_long_double,
29648         scale10_round_long_double, scale10_round_decimal_long_double,
29649         floorlog10l): New functions.
29650         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
29651         for the %f, %F, %e, %E, %g, %G directives.
29652         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
29653         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
29654         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
29655         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
29656         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
29657         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
29658         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
29659         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
29660         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
29661         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
29662         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
29663         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
29664         * modules/snprintf-posix (Depends-on): Likewise.
29665         * modules/sprintf-posix (Depends-on): Likewise.
29666         * modules/vasnprintf-posix (Depends-on): Likewise.
29667         * modules/vasprintf-posix (Depends-on): Likewise.
29668         * modules/vfprintf-posix (Depends-on): Likewise.
29669         * modules/vsnprintf-posix (Depends-on): Likewise.
29670         * modules/vsprintf-posix (Depends-on): Likewise.
29671         * modules/vasnprintf (Files): Add lib/float+.h.
29672         * doc/functions/fprintf.texi: Update.
29673         * doc/functions/printf.texi: Update.
29674         * doc/functions/snprintf.texi: Update.
29675         * doc/functions/sprintf.texi: Update.
29676         * doc/functions/vfprintf.texi: Update.
29677         * doc/functions/vprintf.texi: Update.
29678         * doc/functions/vsnprintf.texi: Update.
29679         * doc/functions/vsprintf.texi: Update.
29680
29681 2007-05-18  Bruno Haible  <bruno@clisp.org>
29682
29683         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
29684
29685 2007-05-18  Bruno Haible  <bruno@clisp.org>
29686
29687         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
29688         for printing 64-bit integers. Needed for mingw.
29689
29690 2007-05-18  Bruno Haible  <bruno@clisp.org>
29691
29692         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
29693         gl_FUNC_FREXPL_WORKS.
29694         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
29695
29696 2007-05-18  Bruno Haible  <bruno@clisp.org>
29697
29698         * modules/frexpl-nolibm-tests: New file.
29699
29700         * modules/frexpl-nolibm: New file.
29701         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
29702
29703 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
29704
29705         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
29706         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
29707         GCC 4.2, which otherwise issues a lot of warnings.
29708         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
29709         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
29710         Likewise.
29711         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
29712         * modules/iconv_open (iconv.h): Likewise.
29713         * modules/locale (locale.h): Likewise.
29714         * modules/netinet_in (netinet/in.h): Likewise.
29715         * modules/sys_select (sys_select.h): Likewise.
29716         * modules/sys_socket (sys/socket.h): Likewise.
29717         * modules/sys_stat (sys/stat.h): Likewise.
29718         * modules/sysexits (sysexits.h): Likewise.
29719         * modules/unistd (unistd.h): Likewise.
29720
29721 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29722
29723         * modules/closein-tests (Makefile.am): Distribute
29724         `test-closein.sh'.
29725
29726 2007-05-17  Bruno Haible  <bruno@clisp.org>
29727
29728         * tests/test-printf-posix.output: Renamed from
29729         tests/test-fprintf-posix.out.
29730         * modules/fprintf-posix-tests: Update.
29731         * modules/printf-posix-tests: Update.
29732         * modules/vfprintf-posix-tests: Update.
29733         * modules/vprintf-posix-tests: Update.
29734         * tests/test-fprintf-posix.sh: Update.
29735         * tests/test-printf-posix.sh: Update.
29736         * tests/test-vfprintf-posix.sh: Update.
29737         * tests/test-vprintf-posix.sh: Update.
29738         Reported by Ralf Wildenhues.
29739
29740 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
29741
29742         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
29743         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
29744         GCC 4.2, which otherwise issues a lot of warnings.
29745         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
29746         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
29747         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
29748         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
29749         it should no longer be needed.
29750         * lib/string_.h: Likewise.
29751         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
29752         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
29753         * modules/inttypes (inttypes.h): Likewise.
29754         * modules/math (math.h): Likewise.
29755         * modules/search (search.h): Likewise.
29756         * modules/signal (signal.h): Likewise.
29757         * modules/stdint (stdint.h): Likewise.
29758         * modules/stdio (stdio.h): Likewise.
29759         * modules/stdlib (stdlib.h): Likewise.
29760         * modules/string (string.h): Likewise.
29761         * modules/sys_time (sys/time.h): Likewise.
29762         * modules/time (time.h): Likewise.
29763         * modules/wchar (wchar.h): Likewise.
29764         * modules/wctype (wtype.h): Likewise.
29765
29766 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
29767
29768         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
29769
29770 2007-05-13  Bruno Haible  <bruno@clisp.org>
29771
29772         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
29773         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
29774         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
29775         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
29776         (gl_PREREQ_STRTOK_R): Don't require it here.
29777
29778 2007-05-13  Bruno Haible  <bruno@clisp.org>
29779
29780         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
29781         when used in C++ mode.
29782
29783 2007-05-12  Bruno Haible  <bruno@clisp.org>
29784
29785         * lib/linebuffer.h: Tweak doc.
29786         * lib/linebuffer.c: Likewise.
29787
29788 2007-05-12  James Youngman  <jay@gnu.org>
29789
29790         * lib/linebuffer.c (readlinebuffer_delim): New function,
29791         like readlinebuffer, but use a caller-specified delimiter.
29792         (readlinebuffer): Just call readlinebuffer_delim with '\n'
29793         as the delimiter.
29794         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
29795
29796 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
29797
29798         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
29799         * modules/openat (Files): Remove openat-die.c.
29800         (Depends-on): Add openat-die.
29801         * modules/openat-die: New module.
29802
29803 2007-05-06  Bruno Haible  <bruno@clisp.org>
29804
29805         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
29806         Update with info about Cygwin.
29807         * doc/functions/fprintf.texi: Update.
29808         * doc/functions/printf.texi: Update.
29809         * doc/functions/snprintf.texi: Update.
29810         * doc/functions/sprintf.texi: Update.
29811         * doc/functions/vfprintf.texi: Update.
29812         * doc/functions/vprintf.texi: Update.
29813         * doc/functions/vsnprintf.texi: Update.
29814         * doc/functions/vsprintf.texi: Update.
29815         Reported by Eric Blake.
29816
29817 2007-05-06  Bruno Haible  <bruno@clisp.org>
29818
29819         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
29820         padding ourselves for the floating-point directives.
29821         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
29822         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
29823         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
29824         gl_PRINTF_FLAG_ZERO and test its result. Invoke
29825         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
29826         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
29827         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
29828         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
29829         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
29830         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
29831         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
29832         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
29833         * tests/test-snprintf-posix.h (test_function): Also check the width
29834         and some flags in the %f directive.
29835         * tests/test-sprintf-posix.h (test_function): Likewise.
29836         * tests/test-vasnprintf-posix.c (test_function): Likewise.
29837         * tests/test-vasprintf-posix.c (test_function): Likewise.
29838         * doc/functions/fprintf.texi: Update.
29839         * doc/functions/printf.texi: Update.
29840         * doc/functions/snprintf.texi: Update.
29841         * doc/functions/sprintf.texi: Update.
29842         * doc/functions/vfprintf.texi: Update.
29843         * doc/functions/vprintf.texi: Update.
29844         * doc/functions/vsnprintf.texi: Update.
29845         * doc/functions/vsprintf.texi: Update.
29846
29847 2007-05-06  Bruno Haible  <bruno@clisp.org>
29848
29849         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
29850         pass the ' flag character to sprintf or snprintf.
29851         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
29852         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
29853         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
29854         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
29855         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
29856         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
29857         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
29858         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
29859         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
29860         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
29861         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
29862         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
29863         * tests/test-snprintf-posix.h (test_function): Also check the grouping
29864         flag.
29865         * tests/test-sprintf-posix.h (test_function): Likewise.
29866         * tests/test-vasnprintf-posix.c (test_function): Likewise.
29867         * tests/test-vasprintf-posix.c (test_function): Likewise.
29868         * doc/functions/fprintf.texi: Update.
29869         * doc/functions/printf.texi: Update.
29870         * doc/functions/snprintf.texi: Update.
29871         * doc/functions/sprintf.texi: Update.
29872         * doc/functions/vfprintf.texi: Update.
29873         * doc/functions/vprintf.texi: Update.
29874         * doc/functions/vsnprintf.texi: Update.
29875         * doc/functions/vsprintf.texi: Update.
29876
29877 2007-05-01  Bruno Haible  <bruno@clisp.org>
29878
29879         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
29880
29881 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
29882
29883         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
29884         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
29885
29886 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
29887
29888         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
29889         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
29890         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
29891
29892 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
29893
29894         * lib/argp-help.c (struct hol_entry): New member `ord'.
29895         (HOL_ENTRY_PTRCMP): Use ord for comparison
29896         (hol_sort): Initialize ord.
29897
29898 2007-05-01  Bruno Haible  <bruno@clisp.org>
29899
29900         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
29901         Reported by Eric Blake.
29902         * doc/gnulib.texi (Function Substitutes): Update.
29903
29904 2007-05-01  Bruno Haible  <bruno@clisp.org>
29905
29906         * doc/functions.texi: Remove file, now redundant through
29907         doc/functions/*.texi.
29908
29909 2007-05-01  Bruno Haible  <bruno@clisp.org>
29910
29911         * modules/argp (Depends-on): Add sleep.
29912
29913 2007-05-01  Bruno Haible  <bruno@clisp.org>
29914
29915         * modules/sleep-tests: New file.
29916         * tests/test-sleep.c: New file.
29917
29918         * modules/sleep: New file.
29919         * lib/sleep.c: New file.
29920         * m4/sleep.m4: New file.
29921         * lib/unistd_.h (sleep): New declaration.
29922         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
29923         HAVE_SLEEP.
29924         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
29925         * doc/functions/sleep.texi: Document the sleep module.
29926
29927 2007-05-01  Bruno Haible  <bruno@clisp.org>
29928
29929         * lib/sigprocmask.h: Remove file.
29930         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
29931         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
29932         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
29933         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
29934         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
29935         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
29936         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
29937         HAVE_SIGSET_T as a shell variable.
29938         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
29939         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
29940         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
29941         (Depends-on): Add signal. Remove verify.
29942         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
29943         (Include): Mention <signal.h> instead of sigprocmask.h.
29944         * NEWS: Mention the change.
29945         * lib/fatal-signal.c: Don't include sigprocmask.h.
29946
29947 2007-05-01  Bruno Haible  <bruno@clisp.org>
29948
29949         * modules/signal: New file.
29950         * lib/signal_.h: New file.
29951         * m4/signal_h.m4: New file.
29952
29953 2007-05-01  Bruno Haible  <bruno@clisp.org>
29954
29955         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
29956         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
29957         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
29958         HAVE_WCTYPE_CTMP_BUG into wctype.h.
29959
29960 2007-05-01  Bruno Haible  <bruno@clisp.org>
29961
29962         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
29963         configure time.
29964         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
29965         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
29966         * modules/sys_stat (Makefile.am): Substitute their values into
29967         sys/stat.h.
29968
29969 2007-05-01  Bruno Haible  <bruno@clisp.org>
29970
29971         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
29972         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
29973         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
29974
29975 2007-05-01  Bruno Haible  <bruno@clisp.org>
29976
29977         * doc/header/assert.texi: Undo last change: don't mention the gnulib
29978         'assert' module here.
29979
29980 2007-05-01  Bruno Haible  <bruno@clisp.org>
29981
29982         * doc/functions/*.texi: New files.
29983         * doc/functions/google-ranking.txt: New file.
29984         * doc/gnulib.texi (Function Substitutes): New chapter.
29985         (ctime, inet_ntoa): Remove sections.
29986         * doc/ctime.texi: Remove file.
29987         * doc/inet_ntoa.texi: Remove file.
29988         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
29989         dependencies.
29990         (%.info): New rule, specifying a --reference-limit.
29991
29992 2007-05-01  Bruno Haible  <bruno@clisp.org>
29993
29994         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
29995
29996 2007-05-01  Bruno Haible  <bruno@clisp.org>
29997
29998         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
29999         the portability of 'mkdir' to mingw systems.
30000
30001 2007-05-01  Bruno Haible  <bruno@clisp.org>
30002
30003         * doc/headers/google-ranking.txt: New file.
30004
30005 2007-04-30  Eric Blake  <ebb9@byu.net>
30006
30007         Prefer fseeko to fseek.
30008         * modules/getpass (Depends-on): Add fseeko.
30009         * lib/getpass.c (getpass): Use fseeko, not fseek.
30010
30011 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
30012
30013         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
30014         assumes the sorting is stable, while most qsort implementations
30015         are not.  Use argument addresses to ensure they never compare as
30016         equal.
30017
30018         * tests/test-argp-2.sh (usage-indent test): Fix output
30019         (func_compare): Restore diff options
30020         * tests/test-argp.c: Restore #include "progname.h"
30021
30022 2007-04-29  Bruno Haible  <bruno@clisp.org>
30023
30024         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
30025         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
30026         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
30027         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
30028         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
30029         (configure.ac): Define CHECK_SNPRINTF_POSIX.
30030         (TESTS, check_PROGRAMS): Add test-snprintf.
30031         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
30032         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
30033         (TESTS, check_PROGRAMS): Add test-vsnprintf.
30034         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
30035         assertions that fail on HP-UX, OSF/1, or IRIX.
30036         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
30037
30038 2007-04-29  Bruno Haible  <bruno@clisp.org>
30039
30040         * MODULES.html.sh (posix_functions): Remove 'contents'.
30041
30042 2007-04-29  Karl Berry  <karl@gnu.org>
30043
30044         * config/srclist.txt (gendocs_template_min): new entry.
30045
30046 2007-04-29  Bruno Haible  <bruno@clisp.org>
30047
30048         Work around fpurge bug on BSD systems.
30049         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
30050         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
30051         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
30052         fpurge to rpl_fpurge if the system already has this function.
30053         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
30054         the case where the system already has this function. Correct invariants
30055         on BSD systems.
30056         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
30057         BSD systems.
30058
30059 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
30060
30061         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
30062         proposed by Sven Verdoolaege.
30063
30064         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
30065         options.
30066         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
30067         (usage and help tests): Update
30068
30069 2007-04-29  Bruno Haible  <bruno@clisp.org>
30070
30071         * tests/test-fflush.c (main): Use a file of size 17, not 10.
30072         Print more information in case of failure. Disable a test on BeOS.
30073
30074 2007-04-29  Bruno Haible  <bruno@clisp.org>
30075
30076         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
30077         This helps debugging on systems on which no gdb is available.
30078
30079 2007-04-29  Bruno Haible  <bruno@clisp.org>
30080
30081         * lib/freading.h: Improve comments.
30082         * lib/fwriting.h: Likewise.
30083         * tests/test-freading.c (main): Don't check freading immediately after
30084         repositioning. Needed for glibc.
30085
30086 2007-04-29  Bruno Haible  <bruno@clisp.org>
30087
30088         * lib/freading.c (freading): Trivial simplification.
30089
30090 2007-04-28  Bruno Haible  <bruno@clisp.org>
30091
30092         * tests/test-fwriting.c (main): Also test the interaction between
30093         fflush and fwriting.
30094         * modules/fwriting-tests (Depends-on): Add fflush.
30095
30096         * tests/test-freading.c (main): Also test the interaction between
30097         fflush and freading.
30098         * modules/freading-tests (Depends-on): Add fflush.
30099
30100 2007-04-28  Bruno Haible  <bruno@clisp.org>
30101
30102         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
30103         fseeko and ftello.
30104         Suggested by Eric Blake.
30105
30106 2007-04-28  Jim Meyering  <jim@meyering.net>
30107
30108         Avoid false-negative in gl_STDINT_H's C99 conformance test.
30109         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
30110         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
30111
30112 2007-04-27  Eric Blake  <ebb9@byu.net>
30113
30114         * doc/headers/assert.texi (assert.h): Document assert module use.
30115
30116 2007-04-27  Bruno Haible  <bruno@clisp.org>
30117
30118         * doc/headers/*.texi: New files.
30119         * doc/gnulib.texi (Header File Substitutes): New chapter.
30120         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
30121         dependencies.
30122         (standards.info ,standards.html, standards.dvi): Update dependencies.
30123         (mostlyclean, clean): New targets.
30124
30125 2007-04-27  Bruno Haible  <bruno@clisp.org>
30126
30127         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
30128         * modules/sysexits (Files, Makefile.am): Update.
30129
30130         * lib/sys_socket_.h: Renamed from lib/socket_.h.
30131         * modules/sys_socket (Files, Makefile.am): Update.
30132
30133         * lib/sys_stat_.h: Renamed from lib/stat_.h.
30134         * modules/sys_stat (Files, Makefile.am): Update.
30135
30136 2007-04-27  Eric Blake  <ebb9@byu.net>
30137
30138         * lib/freading.h: Improve comments.
30139         * lib/fwriting.h: Likewise.
30140         * lib/fflush.c: Likewise.
30141
30142         Fix closein for mingw.
30143         * modules/closein-tests: Add tests for closein.
30144         * tests/test-closein.c: New file.
30145         * tests/test-closein.sh: Likewise.
30146         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
30147         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
30148
30149 2007-04-27  Bruno Haible  <bruno@clisp.org>
30150
30151         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
30152         version is < 6.
30153         * lib/math_.h [__DECC]: Likewise.
30154         * lib/stdio_.h [__DECC]: Likewise.
30155         * lib/stdlib_.h [__DECC]: Likewise.
30156         * lib/string_.h [__DECC]: Likewise.
30157         * lib/time_.h [__DECC]: Likewise.
30158         * lib/wchar_.h [__DECC]: Likewise.
30159         * lib/wctype_.h [__DECC]: Likewise.
30160
30161 2007-04-27  Bruno Haible  <bruno@clisp.org>
30162
30163         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
30164
30165 2007-04-27  Bruno Haible  <bruno@clisp.org>
30166
30167         * lib/fflush.c: Add comments.
30168         * modules/fpurge-tests (Depends-on): Add fflush.
30169         * modules/freadable-tests (Depends-on): Likewise.
30170         * modules/fwritable-tests (Depends-on): Likewise.
30171
30172 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
30173
30174         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
30175         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
30176         Report by Bruno Haible <bruno@clisp.org>.
30177
30178 2007-04-26  Eric Blake  <ebb9@byu.net>
30179
30180         Fix fflush on mingw.
30181         * modules/fflush (Depends-on): Add freading.
30182         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
30183         but unread data.
30184
30185 2007-04-26  Eric Blake  <ebb9@byu.net>
30186         and Bruno Haible  <bruno@clisp.org>
30187
30188         Implement freading and fwriting.
30189         * lib/freading.c: New file.
30190         * lib/freading.h: Likewise.
30191         * m4/freading.m4: Likewise.
30192         * modules/freading: Likewise.
30193         * modules/freading-tests: Likewise.
30194         * tests/test-freading.c: Likewise.
30195         * lib/fwriting.c: New file.
30196         * lib/fwriting.h: Likewise.
30197         * m4/fwriting.m4: Likewise.
30198         * modules/fwriting: Likewise.
30199         * modules/fwriting-tests: Likewise.
30200         * tests/test-fwriting.c: Likewise.
30201         * MODULES.html.sh (File stream based Input/Output): Mention them.
30202
30203 2007-04-26  Bruno Haible  <bruno@clisp.org>
30204
30205         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
30206         'long' when we assume it.
30207         Suggested by Eric Blake.
30208
30209 2007-04-26  Bruno Haible  <bruno@clisp.org>
30210
30211         Ensure fseeko, ftello are declared on glibc systems.
30212         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
30213         * modules/fseeko (configure.ac-early): Likewise.
30214         * modules/ftello (configure.ac-early): Likewise.
30215         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
30216         AC_FUNC_FSEEKO for this.
30217         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
30218         (gl_CHECK_FSEEKO): Remove macro.
30219
30220 2007-04-26  Bruno Haible  <bruno@clisp.org>
30221
30222         * tests/test-fflush.c (main): Also check the ftell result after
30223         fflush and fseek/fseeko.
30224         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
30225         file descriptor position cache in the stream.
30226         * lib/fseeko.c (rpl_fseeko): Likewise.
30227
30228 2007-04-26  Bruno Haible  <bruno@clisp.org>
30229
30230         * modules/fflush-tests (Depends-on): Add fseeko.
30231
30232 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
30233             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30234
30235         * lib/argz_.h: ensure error_t definition is obtained in same
30236         mechanism system argz.h would have.
30237         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
30238         argz facilities are known bad.  Err on the side of caution if
30239         cross-compiling.
30240
30241 2007-04-25  Eric Blake  <ebb9@byu.net>
30242
30243         * lib/fpurge.c (includes): Use stdlib.h for free.
30244         * tests/test-fflush.c (main): Also test fflush-fseeko.
30245
30246 2007-04-25  Bruno Haible  <bruno@clisp.org>
30247
30248         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
30249         * lib/fseeko.c: New file.
30250         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
30251         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
30252         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
30253         gl_FUNC_FSEEKO.
30254         (gl_FUNC_FSEEKO): Invoke it.
30255         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
30256         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
30257         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
30258
30259 2007-04-25  Bruno Haible  <bruno@clisp.org>
30260
30261         * modules/fflush (Depends-on): Add ftello.
30262
30263 2007-04-25  Bruno Haible  <bruno@clisp.org>
30264
30265         * modules/ftello-tests: New file.
30266         * tests/test-ftello.c: New file.
30267
30268         * modules/ftello: New file.
30269         * m4/ftello.m4: New file.
30270         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
30271         HAVE_FTELLO.
30272         * lib/stdio_.h (ftello): New declaration.
30273         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
30274         HAVE_FTELLO.
30275
30276 2007-04-25  Bruno Haible  <bruno@clisp.org>
30277
30278         * modules/fseeko-tests: New file.
30279         * tests/test-fseeko.c: New file.
30280
30281         * modules/fseeko: New file.
30282         * m4/fseeko.m4: New file.
30283         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
30284         HAVE_FSEEKO.
30285         * lib/stdio_.h (fseeko): New declaration.
30286         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
30287         HAVE_FSEEKO.
30288
30289 2007-04-25  Bruno Haible  <bruno@clisp.org>
30290
30291         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
30292
30293 2007-04-25  Bruno Haible  <bruno@clisp.org>
30294
30295         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
30296         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
30297         * tests/test-unistd.c: Likewise.
30298         * tests/test-fcntl.c: Likewise.
30299
30300 2007-04-23  Eric Blake  <ebb9@byu.net>
30301
30302         * lib/fflush.c: Fix missing include.
30303         Reported by Bruno Haible.
30304
30305 2007-04-23  Bruno Haible  <bruno@clisp.org>
30306
30307         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
30308         Reported by Eric Blake.
30309
30310 2007-04-23  Bruno Haible  <bruno@clisp.org>
30311
30312         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
30313
30314 2007-04-23  Bruno Haible  <bruno@clisp.org>
30315
30316         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
30317
30318 2007-04-23  Bruno Haible  <bruno@clisp.org>
30319
30320         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
30321         Needed on HP-UX 11.
30322
30323 2007-04-16  Eric Blake  <ebb9@byu.net>
30324
30325         Make fflush rely on fpurge.
30326         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
30327         open coding all variants.
30328         * modules/fflush (Depends-on): Add fpurge and unistd.
30329         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
30330         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
30331
30332         Fix --with-tests compilation on cygwin.
30333         * modules/argmatch-tests (Makefile.am): List gnulib library first
30334         in LDADD.
30335         * modules/argp-tests (Makefile.am): Likewise.
30336         * modules/array-list-tests (Makefile.am): Likewise.
30337         * modules/array-oset-tests (Makefile.am): Likewise.
30338         * modules/avltree-list-tests (Makefile.am): Likewise.
30339         * modules/avltree-oset-tests (Makefile.am): Likewise.
30340         * modules/avltreehash-list-tests (Makefile.am): Likewise.
30341         * modules/carray-list-tests (Makefile.am): Likewise.
30342         * modules/dirname-tests (Makefile.am): Likewise.
30343         * modules/frexp-tests (Makefile.am): Likewise.
30344         * modules/isnanl-tests (Makefile.am): Likewise.
30345         * modules/linked-list-tests (Makefile.am): Likewise.
30346         * modules/linkedhash-list-tests (Makefile.am): Likewise.
30347         * modules/lock-tests (Makefile.am): Likewise.
30348         * modules/rbtree-list-tests (Makefile.am): Likewise.
30349         * modules/rbtree-oset-tests (Makefile.am): Likewise.
30350         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
30351         * modules/tls-tests (Makefile.am): Likewise.
30352         * modules/tsearch-tests (Makefile.am): Likewise.
30353         * modules/xvasprintf-tests (Makefile.am): Likewise.
30354
30355         Fix fpurge for cygwin.
30356         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
30357         value.
30358         * modules/fpurge-tests (Depends-on): Clean up trash.
30359
30360 2007-04-16  Simon Josefsson  <simon@josefsson.org>
30361
30362         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
30363
30364         * m4/autobuild.m4: Re-indent.
30365
30366 2007-04-13  Bruno Haible  <bruno@clisp.org>
30367
30368         * modules/fpurge-tests: New file.
30369         * tests/test-fpurge.c: New file.
30370
30371         * modules/fpurge: New file.
30372         * lib/fpurge.h: New file.
30373         * lib/fpurge.c: New file.
30374         * m4/fpurge.m4: New file.
30375
30376 2007-04-13  Bruno Haible  <bruno@clisp.org>
30377
30378         * modules/fbufmode-tests: New file.
30379         * tests/test-fbufmode.c: New file.
30380
30381         * modules/fbufmode: New file.
30382         * lib/fbufmode.h: New file.
30383         * lib/fbufmode.c: New file.
30384         * m4/fbufmode.m4: New file.
30385
30386 2007-04-13  Bruno Haible  <bruno@clisp.org>
30387
30388         * modules/fwritable-tests: New file.
30389         * tests/test-fwritable.c: New file.
30390
30391         * modules/fwritable: New file.
30392         * lib/fwritable.h: New file.
30393         * lib/fwritable.c: New file.
30394         * m4/fwritable.m4: New file.
30395
30396 2007-04-13  Bruno Haible  <bruno@clisp.org>
30397
30398         * modules/freadable-tests: New file.
30399         * tests/test-freadable.c: New file.
30400
30401         * modules/freadable: New file.
30402         * lib/freadable.h: New file.
30403         * lib/freadable.c: New file.
30404         * m4/freadable.m4: New file.
30405
30406 2007-04-13  Bruno Haible  <bruno@clisp.org>
30407
30408         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
30409         MOSTLYCLEANFILES.
30410
30411 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
30412
30413         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
30414         gzip bootstrap.conf to avoid dragging in i18n machinery.
30415         (gnulib_tool_option): Use it.
30416
30417 2007-04-13  Bruno Haible  <bruno@clisp.org>
30418
30419         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
30420         %F directives.
30421         * tests/test-vasprintf-posix.c (test_function): Likewise.
30422         * tests/test-snprintf-posix.h (test_function): Likewise.
30423         * tests/test-sprintf-posix.h (test_function): Likewise.
30424         * tests/test-fprintf-posix.h (test_function): Likewise.
30425         * tests/test-printf-posix.h (test_function): Likewise.
30426         * tests/test-fprintf-posix.out: Likewise.
30427
30428 2007-04-13  Bruno Haible  <bruno@clisp.org>
30429
30430         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
30431         * modules/tls-tests (configure.ac): Likewise.
30432         Reported by Arto C. Nirkko <anirkko@insel.ch>.
30433
30434 2007-04-13  Bruno Haible  <bruno@clisp.org>
30435
30436         * lib/tls.c (glthread_tls_get): Fix return type.
30437         Patch by Arto C. Nirkko <anirkko@insel.ch>.
30438
30439 2007-04-12  Eric Blake  <ebb9@byu.net>
30440
30441         * modules/gettime (Depends-on): Remove gettime.
30442         Reported by Dmitry V. Levin.
30443
30444 2007-04-12  Bruno Haible  <bruno@clisp.org>
30445
30446         * modules/fflush (Include): Mention <stdio.h>.
30447         * modules/strtoimax (Include): Mention <inttypes.h>.
30448         * modules/strtoumax (Include): Likewise.
30449
30450 2007-04-12  Eric Blake  <ebb9@byu.net>
30451
30452         * .cvsignore: New file.
30453         * .gitignore: Likewise.
30454
30455 2007-04-12  Bruno Haible  <bruno@clisp.org>
30456
30457         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
30458         not before, since $(LDADD) often contains libgnu.a.
30459         * modules/striconv-tests (test_striconv_LDADD): Likewise.
30460         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
30461         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
30462         Needed on Cygwin.
30463
30464 2007-04-12  Eric Blake  <ebb9@byu.net>
30465
30466         Work around glibc's failure to flush stdin on fclose.
30467         * lib/closein.c (close_stdin): Flush stdin before closing.
30468
30469         Work around glibc's failure to reset seekable stdin on exit.
30470         * modules/closein: New module.
30471         * lib/closein.c: New file.
30472         * lib/closein.h: Likewise.
30473         * m4/closein.m4: Likewise.
30474         * MODULES.html.sh (File stream based Input/Output): Document it.
30475
30476 2007-04-12  Simon Josefsson  <simon@josefsson.org>
30477
30478         * gnulib-tool: Rename generated 'autobuild' script to
30479         'do-autobuild' in --create-megatestdir output.
30480
30481         * doc/gnulib.texi (Build robot for gnulib): Fix.
30482
30483 2007-04-12  Simon Josefsson  <simon@josefsson.org>
30484
30485         * modules/sysexits (Depends-on): Add absolute-header.
30486
30487 2007-04-12  Eric Blake  <ebb9@byu.net>
30488
30489         No need to preserve errno on success.
30490         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
30491         Reported by Bruno Haible.
30492
30493 2007-04-12  Simon Josefsson  <simon@josefsson.org>
30494
30495         * MODULES.html.sh (Support for maintaining and releasing
30496         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
30497
30498 2007-04-12  Simon Josefsson  <simon@josefsson.org>
30499
30500         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
30501
30502 2007-04-12  Simon Josefsson  <simon@josefsson.org>
30503
30504         * modules/autobuild: New module.
30505
30506         * m4/autobuild.m4: New file.
30507
30508 2007-04-11  Bruno Haible  <bruno@clisp.org>
30509
30510         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
30511         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
30512         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
30513         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
30514         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
30515         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
30516         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
30517         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
30518         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
30519         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
30520         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
30521         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
30522         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
30523         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
30524         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
30525         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
30526         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
30527         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
30528         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
30529         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
30530         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
30531         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
30532         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
30533         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
30534         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
30535         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
30536         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
30537         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
30538         Reported by Eric Blake.
30539
30540 2007-04-11  Bruno Haible  <bruno@clisp.org>
30541
30542         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
30543
30544 2007-04-10  Bruno Haible  <bruno@clisp.org>
30545
30546         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
30547         for NaN and Infinity. Needed on FreeBSD 6.1.
30548         * tests/test-vasnprintf-posix.c (test_function): Undo last change
30549         regarding results for "%010a" of Infinity and NaN.
30550         * tests/test-vasprintf-posix.c (test_function): Likewise.
30551         * tests/test-snprintf-posix.h (test_function): Likewise.
30552         * tests/test-sprintf-posix.h (test_function): Likewise.
30553         * tests/test-fprintf-posix.h (test_function): Likewise.
30554         * tests/test-printf-posix.h (test_function): Likewise.
30555         * tests/test-fprintf-posix.out: Likewise.
30556
30557 2007-04-10  Bruno Haible  <bruno@clisp.org>
30558
30559         * modules/locale-tests: New file.
30560         * tests/test-locale.c: New file.
30561
30562         * modules/locale: New file.
30563         * lib/locale_.h: New file.
30564         * m4/locale_h.m4: New file.
30565
30566 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
30567             Bruno Haible  <bruno@clisp.org>
30568
30569         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
30570         be determined, test for availability of the copysignf, copysign,
30571         copysignl functions.
30572         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
30573         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
30574         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
30575
30576 2007-04-09  Eric Blake  <ebb9@byu.net>
30577
30578         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
30579         * modules/stdio (Makefile.am): Support fflush.
30580         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
30581         * modules/fflush: New file.
30582         * lib/fflush.c: Likewise.
30583         * m4/fflush.m4: Likewise.
30584         * modules/fflush-tests: New test.
30585         * tests/test-fflush.c: Likewise.
30586         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
30587
30588 2007-04-06  Bruno Haible  <bruno@clisp.org>
30589
30590         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
30591         (VASNPRINTF): Use signbit for faster determination whether to print a
30592         minus sign.
30593         * modules/vasnprintf (Files): Remove lib/float+.h.
30594         * modules/fprintf-posix (Depends-on): Add signbit.
30595         * modules/snprintf-posix (Depends-on): Likewise.
30596         * modules/sprintf-posix (Depends-on): Likewise.
30597         * modules/vasnprintf-posix (Depends-on): Likewise.
30598         * modules/vasprintf-posix (Depends-on): Likewise.
30599         * modules/vfprintf-posix (Depends-on): Likewise.
30600         * modules/vsnprintf-posix (Depends-on): Likewise.
30601         * modules/vsprintf-posix (Depends-on): Likewise.
30602
30603 2007-04-06  Bruno Haible  <bruno@clisp.org>
30604
30605         * tests/test-frexp.c (main): Test also the sign bit of zero results.
30606         * tests/test-frexpl.c (main): Likewise.
30607         * tests/test-ldexpl.c (main): Likewise.
30608         * modules/frexp-tests (Depends-on): Add signbit.
30609         * modules/frexpl-tests (Depdends-on): Likewise.
30610         * modules/ldexpl-tests (Depdends-on): Likewise.
30611
30612 2007-04-06  Bruno Haible  <bruno@clisp.org>
30613
30614         * modules/signbit-tests: New file.
30615         * tests/test-signbit.c: New file.
30616
30617         * modules/signbit: New file.
30618         * lib/signbitf.c: New file.
30619         * lib/signbitd.c: New file.
30620         * lib/signbitl.c: New file.
30621         * m4/signbit.m4: New file.
30622         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
30623         (signbit): New macro.
30624         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
30625         REPLACE_SIGNBIT.
30626         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
30627         REPLACE_FREXPL into math.h.
30628
30629 2007-04-06  Bruno Haible  <bruno@clisp.org>
30630
30631         * modules/isnanf-nolibm-tests: New file.
30632         * tests/test-isnanf.c: New file.
30633
30634         * modules/isnanf-nolibm: New file.
30635         * lib/isnanf.h: New file.
30636         * lib/isnanf.c: New file.
30637         * lib/isnan.c: Consider the USE_FLOAT macro.
30638         * m4/isnanf.m4: New file.
30639
30640 2007-04-06  Bruno Haible  <bruno@clisp.org>
30641
30642         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
30643         (Link): New section.
30644
30645         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
30646
30647 2007-04-06  Bruno Haible  <bruno@clisp.org>
30648
30649         Assume the 'long double' type.
30650         * m4/longdouble.m4: Remove file.
30651         * config/srclist.txt: Don't mention longdouble.m4.
30652         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
30653         * lib/float+.h: Likewise.
30654         * lib/frexp.c: Likewise.
30655         * lib/printf-args.h: Likewise.
30656         * lib/printf-args.c: Likewise.
30657         * lib/printf-frexp.c: Likewise.
30658         * lib/printf-parse.c: Likewise.
30659         * lib/vasnprintf.c: Likewise.
30660         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
30661         * m4/intl.m4: Likewise.
30662         * m4/isnanl.m4: Likewise.
30663         * m4/printf.m4: Likewise.
30664         * m4/printf-frexpl.m4: Likewise.
30665         * m4/vasnprintf.m4: Likewise.
30666         * modules/allocsa (Files): Remove m4/longdouble.m4.
30667         * modules/gettext (Files): Likewise.
30668         * modules/relocatable-prog-wrapper (Files): Likewise.
30669         * modules/vasnprintf (Files): Likewise.
30670         * modules/isnanl (Files): Likewise.
30671         (Include): Simplify.
30672         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
30673         (Include): Simplify.
30674         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
30675         (Include): Simplify.
30676         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
30677         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
30678         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
30679         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
30680         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
30681         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
30682         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
30683         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
30684         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
30685         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
30686         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
30687         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
30688         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
30689         * tests/test-isnanl.c: Likewise.
30690         * tests/test-snprintf-posix.h: Likewise.
30691         * tests/test-sprintf-posix.h: Likewise.
30692         * tests/test-vasnprintf-posix.c: Likewise.
30693         * tests/test-vasnprintf-posix2.c: Likewise.
30694         * tests/test-vasprintf-posix.c: Likewise.
30695
30696 2007-04-06  Bruno Haible  <bruno@clisp.org>
30697
30698         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
30699         * lib/math_.h [__DECC]: Include the overridden include file through
30700         #include_next, outside the double-inclusion guard.
30701         * lib/stdio_.h [__DECC]: Likewise.
30702         * lib/stdlib_.h [__DECC]: Likewise.
30703         * lib/string_.h [__DECC]: Likewise.
30704         * lib/time_.h [__DECC]: Likewise.
30705         * lib/wchar_.h [__DECC]: Likewise.
30706         * lib/wctype_.h [__DECC]: Likewise.
30707         * lib/inttypes_.h [__DECC]: Likewise.
30708         Reported by Albert Chin <china@thewrittenword.com> in
30709         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
30710
30711 2007-04-04  Eric Blake  <ebb9@byu.net>
30712
30713         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
30714         1.5.x.
30715
30716 2007-04-04  Bruno Haible  <bruno@clisp.org>
30717
30718         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
30719         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
30720
30721 2007-04-04  Bruno Haible  <bruno@clisp.org>
30722
30723         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
30724         results for "%010a" of Infinity and NaN.
30725         * tests/test-vasprintf-posix.c (test_function): Likewise.
30726         * tests/test-snprintf-posix.h (test_function): Likewise.
30727         * tests/test-sprintf-posix.h (test_function): Likewise.
30728         * tests/test-fprintf-posix.h (test_function): Remove these tests.
30729         * tests/test-printf-posix.h (test_function): Likewise.
30730         * tests/test-fprintf-posix.out: Update.
30731         Needed for FreeBSD 6.1.
30732
30733 2007-04-04  Bruno Haible  <bruno@clisp.org>
30734
30735         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
30736         directly used by the gnulib modules nor by gnulib-tool.
30737
30738 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
30739
30740         * DEPENDENCIES: Give overall description of version dependency
30741         desirability.  Use more-typical names for apps.
30742         Add shell, coreutils, diffutils, grep, tar, gzip.
30743
30744 2007-04-04  Simon Josefsson  <simon@josefsson.org>
30745
30746         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
30747
30748 2007-04-04  Karl Berry  <karl@gnu.org>
30749
30750         * MODULES.html.sh (func_module): missing '.
30751
30752 2007-04-03  Bruno Haible  <bruno@clisp.org>
30753
30754         * modules/argmatch-tests (Makefile.am): New variable
30755         test_argmatch_LDADD.
30756         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
30757         * modules/array-list-tests (Makefile.am): New variable
30758         test_array_list_LDADD.
30759         * modules/array-oset-tests (Makefile.am): New variable
30760         test_array_oset_LDADD.
30761         * modules/avltree-list-tests (Makefile.am): New variable
30762         test_avltree_list_LDADD.
30763         * modules/avltree-oset-tests (Makefile.am): New variable
30764         test_avltree_oset_LDADD.
30765         * modules/avltreehash-list-tests (Makefile.am): New variable
30766         test_avltreehash_list_LDADD.
30767         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
30768         test_canonicalize_lgpl_LDADD.
30769         * modules/carray-list-tests (Makefile.am): New variable
30770         test_carray_list_LDADD.
30771         * modules/dirname-tests (Makefile.am): New variable
30772         test_dirname_LDADD.
30773         * modules/linked-list-tests (Makefile.am): New variable
30774         test_linked_list_LDADD.
30775         * modules/linkedhash-list-tests (Makefile.am): New variable
30776         test_linkedhash_list_LDADD.
30777         * modules/rbtree-list-tests (Makefile.am): New variable
30778         test_rbtree_list_LDADD.
30779         * modules/rbtree-oset-tests (Makefile.am): New variable
30780         test_rbtree_oset_LDADD.
30781         * modules/rbtreehash-list-tests (Makefile.am): New variable
30782         test_rbtreehash_list_LDADD.
30783         * modules/xvasprintf-tests (Makefile.am): New variable
30784         test_xvasprintf_LDADD.
30785         Reported by Eric Blake.
30786
30787 2007-04-03  Eric Blake  <ebb9@byu.net>
30788
30789         * DEPENDENCIES: Weaken m4 requirements.
30790
30791 2007-04-03  Bruno Haible  <bruno@clisp.org>
30792
30793         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
30794         * modules/isnanl-tests (configure.ac): Likewise.
30795
30796 2007-04-03  Ben Pfaff  <blp@gnu.org>
30797
30798         * modules/iconv_open: Add $(srcdir)/ to source directory
30799         references in Makefile fragments that call gperf, to fix VPATH
30800         builds.
30801
30802 2007-04-03  Bruno Haible  <bruno@clisp.org>
30803
30804         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
30805         * lib/ldexpl.c: Undo last change.
30806
30807 2007-04-03  Bruno Haible  <bruno@clisp.org>
30808
30809         * modules/printf-frexpl (Depends-on): Undo last change.
30810         (Files): Add m4/ldexpl.m4.
30811
30812 2007-04-03  Bruno Haible  <bruno@clisp.org>
30813
30814         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
30815         * modules/isnanl (Link): New section.
30816
30817         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
30818         * modules/frexp (Link): New section.
30819
30820         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
30821         * modules/frexpl (Link): New section.
30822
30823         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
30824         * modules/ldexpl (Link): New section.
30825
30826 2007-04-03  Bruno Haible  <bruno@clisp.org>
30827
30828         * modules/TEMPLATE-EXTENDED: New file.
30829         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
30830
30831 2007-04-03  Bruno Haible  <bruno@clisp.org>
30832
30833         * DEPENDENCIES: New file.
30834         Suggested by Simon Josefsson.
30835
30836 2007-04-03  Bruno Haible  <bruno@clisp.org>
30837
30838         * doc/gnulib.texi: Escape @.
30839
30840 2007-04-03  James Youngman  <jay@gnu.org>
30841         and Paul Eggert  <eggert@cs.ucla.edu>
30842
30843         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
30844         birthtime on all systems that have birthtime, not just those which
30845         use st_birthtimensec rather than st_birthtim.  Putting zero in
30846         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
30847         that the birth time is not available for files on an NFS mount.
30848
30849 2007-04-03  Simon Josefsson  <simon@josefsson.org>
30850
30851         * modules/memxor: Move back from crypto/, suggested by Bruno.
30852         * modules/crypto/hmac-sha1: Fix memxor dependency.
30853
30854         * modules/crypto/gc: Moved from ../.
30855
30856 2007-04-02  Eric Blake  <ebb9@byu.net>
30857
30858         * lib/ldexpl.c (includes): Avoid libm.
30859
30860         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
30861
30862 2007-04-02  Bruno Haible  <bruno@clisp.org>
30863
30864         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
30865         on IRIX.
30866
30867 2007-04-02  Bruno Haible  <bruno@clisp.org>
30868
30869         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
30870         x86 or x86_64 platforms running MacOS X.
30871         Reported by Ryan Schmidt <@ryandesign.com>.
30872
30873 2007-04-02  Bruno Haible  <bruno@clisp.org>
30874
30875         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
30876         i386.
30877
30878 2007-04-01  Simon Josefsson  <simon@josefsson.org>
30879
30880         * modules/crypto/arcfour: Moved from ../.
30881         * modules/crypto/arcfour-tests: Moved from ../.
30882         * modules/crypto/arctwo: Moved from ../.
30883         * modules/crypto/arctwo-tests: Moved from ../.
30884         * modules/crypto/des: Moved from ../.
30885         * modules/crypto/des-tests: Moved from ../.
30886         * modules/crypto/gc-arcfour: Moved from ../.
30887         * modules/crypto/gc-arcfour-tests: Moved from ../.
30888         * modules/crypto/gc-arctwo: Moved from ../.
30889         * modules/crypto/gc-arctwo-tests: Moved from ../.
30890         * modules/crypto/gc-des: Moved from ../.
30891         * modules/crypto/gc-des-tests: Moved from ../.
30892         * modules/crypto/gc-hmac-md5: Moved from ../.
30893         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
30894         * modules/crypto/gc-hmac-sha1: Moved from ../.
30895         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
30896         * modules/crypto/gc-md2: Moved from ../.
30897         * modules/crypto/gc-md2-tests: Moved from ../.
30898         * modules/crypto/gc-md4: Moved from ../.
30899         * modules/crypto/gc-md4-tests: Moved from ../.
30900         * modules/crypto/gc-md5: Moved from ../.
30901         * modules/crypto/gc-md5-tests: Moved from ../.
30902         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
30903         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
30904         * modules/crypto/gc-random: Moved from ../.
30905         * modules/crypto/gc-rijndael: Moved from ../.
30906         * modules/crypto/gc-rijndael-tests: Moved from ../.
30907         * modules/crypto/gc-sha1: Moved from ../.
30908         * modules/crypto/gc-sha1-tests: Moved from ../.
30909         * modules/crypto/gc-tests: Moved from ../.
30910         * modules/crypto/hmac-md5: Moved from ../.
30911         * modules/crypto/hmac-md5-tests: Moved from ../.
30912         * modules/crypto/hmac-sha1: Moved from ../.
30913         * modules/crypto/hmac-sha1-tests: Moved from ../.
30914         * modules/crypto/md2: Moved from ../.
30915         * modules/crypto/md2-tests: Moved from ../.
30916         * modules/crypto/md4: Moved from ../.
30917         * modules/crypto/md4-tests: Moved from ../.
30918         * modules/crypto/md5: Moved from ../.
30919         * modules/crypto/md5-tests: Moved from ../.
30920         * modules/crypto/memxor: Moved from ../.
30921         * modules/crypto/rijndael: Moved from ../.
30922         * modules/crypto/rijndael-tests: Moved from ../.
30923         * modules/crypto/sha1: Moved from ../.
30924
30925 2007-03-30  James Youngman  <jay@gnu.org>
30926
30927         * tests/test-stat-time.c (prepare_test): use chmod() rather than
30928         rename() to change the ctime of a file (because ctime is unaffected
30929         by rename on jfs2 on AIX 5.1).
30930         (main): Start by doing cleanup, in case a previous run failed leaving
30931         test files behind.
30932
30933 2007-03-31  Bruno Haible  <bruno@clisp.org>
30934
30935         Support old proprietary implementations of iconv.
30936         * modules/iconv_open: New file.
30937         * lib/iconv_.h: New file.
30938         * m4/iconv_h.m4: New file.
30939         * lib/iconv_open.c: New file.
30940         * lib/iconv_open-aix.gperf: New file.
30941         * lib/iconv_open-hpux.gperf: New file.
30942         * lib/iconv_open-irix.gperf: New file.
30943         * lib/iconv_open-osf.gperf: New file.
30944         * m4/iconv_open.m4: New file.
30945         * modules/linebreak (Depends-on): Add iconv_open.
30946         * modules/striconv (Depends-on): Likewise.
30947         * modules/striconveh (Depends-on): Likewise.
30948         * modules/unicodeio (Depends-on): Likewise.
30949         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
30950         (iconv_t)(-1).
30951         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
30952         conversion if cd is (iconv_t)(-1).
30953         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
30954         is not possible.
30955
30956 2007-03-31  Bruno Haible  <bruno@clisp.org>
30957
30958         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
30959         work on Solaris either. Protect also second use of "autodetect_jp".
30960
30961 2007-03-31  Bruno Haible  <bruno@clisp.org>
30962
30963         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
30964         the function is not present.
30965
30966 2007-03-31  Bruno Haible  <bruno@clisp.org>
30967
30968         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
30969         the function is not present.
30970
30971 2007-03-31  Bruno Haible  <bruno@clisp.org>
30972
30973         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
30974         a bug in HP-UX iconv_open().
30975
30976 2007-03-31  Bruno Haible  <bruno@clisp.org>
30977
30978         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
30979         (Mathematics <math.h>): New section, add fpieee.
30980         (Input/output <stdio.h>): Add fseterr.
30981         (Mathematics <math.h>): New section, add printf-frexp.
30982         (Container data structures): Add sublist.
30983         (Core language properties): Add fpucw, inline.
30984         (Functions for greatest-width integer types <inttypes.h>): Add
30985         imaxabs, imaxdiv, inttypes.
30986         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
30987         isnanl-nolibm, ldexp.
30988         (Mathematics <math.h>): New section, add printf-frexpl.
30989         (Support for systems lacking POSIX:2001): Add fprintf-posix,
30990         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
30991         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
30992         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
30993         (Unicode string functions): Add unistr/u*-mbtoucr.
30994         (Java): Add javacomp-script, javaexec-script.
30995         (C#): Add csharpcomp-script, csharpexec-script.
30996         (Support for building libraries and executables): Add havelib,
30997         relocatable-*.
30998         (Support for maintaining and releasing projects): Renamed from
30999         'Support for maintaining and release projects'. Add announce-gen.
31000
31001 2007-03-31  Bruno Haible  <bruno@clisp.org>
31002
31003         * README: Talk primarily about git.
31004         (git and CVS): Renamed from CVS.
31005         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
31006         gnulib is available through git.
31007         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
31008
31009 2007-03-30  Bruno Haible  <bruno@clisp.org>
31010
31011         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
31012         * lib/poll_.h: Likewise.
31013         * lib/stat_.h: Likewise.
31014         * lib/sys_time_.h: Likewise.
31015         * lib/sysexit_.h: Likewise.
31016         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
31017         * lib/stdbool_.h: Likewise.
31018         * lib/byteswap_.h: Add double-inclusion guard.
31019
31020 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
31021
31022         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
31023
31024 2007-03-30  Karl Berry  <karl@gnu.org>
31025
31026         * config/srclist-update: double space after USA in the license
31027         substitution, since that's how it's usually (?) written.
31028
31029 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
31030
31031         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
31032         reported by Bruno Haible.
31033
31034 2007-03-29  Bruno Haible  <bruno@clisp.org>
31035
31036         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
31037         a bug in AIX iconv().
31038
31039 2007-03-29  Bruno Haible  <bruno@clisp.org>
31040
31041         * modules/ldexpl-tests: New file.
31042         * tests/test-ldexpl.c: New file.
31043
31044 2007-03-29  Bruno Haible  <bruno@clisp.org>
31045
31046         * lib/ldexpl.c: Include fpucw.h.
31047         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
31048         multiplication.
31049         * modules/ldexpl (Depends-on): Add fpucw.
31050
31051 2007-03-29  Bruno Haible  <bruno@clisp.org>
31052
31053         * modules/ldexpl: New file.
31054         * m4/ldexpl.m4: New file.
31055         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
31056         set.
31057         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
31058         REPLACE_LDEXPL.
31059         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
31060         REPLACE_LDEXPL.
31061         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
31062         gl_FUNC_LDEXPL_WORKS.
31063         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
31064         * modules/mathl (Files): Remove lib/ldexpl.c.
31065         (Depends-on): Add ldexpl.
31066
31067 2007-03-29  Bruno Haible  <bruno@clisp.org>
31068
31069         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
31070
31071 2007-03-29  Bruno Haible  <bruno@clisp.org>
31072
31073         * tests/test-striconveh.c (main): Don't assume that a direct conversion
31074         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
31075         and possibly also HP-UX.
31076         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
31077         work on AIX, IRIX, HP-UX, OSF/1.
31078         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
31079         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
31080         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
31081         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
31082         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
31083         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
31084
31085 2007-03-29  Bruno Haible  <bruno@clisp.org>
31086
31087         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
31088
31089 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
31090
31091         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
31092         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
31093
31094 2007-03-29  Eric Blake  <ebb9@byu.net>
31095
31096         * lib/acl-internal.h: Remove redundant include.
31097         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
31098         Cygwin when a file is locked.
31099
31100 2007-03-29  Bruno Haible  <bruno@clisp.org>
31101
31102         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
31103         file.
31104         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
31105
31106 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
31107
31108         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
31109         try to remove a parent directory if the child couldn't be removed
31110         (except for the first rmdir, which could fail because the child
31111         doesn't exist).  Problem reported by Jeff Blaine in
31112         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
31113
31114 2007-03-28  Bruno Haible  <bruno@clisp.org>
31115
31116         * lib/striconveh.c (utf8conv_carefully): New function.
31117         (mem_cd_iconveh_internal): Invoke it.
31118
31119 2007-03-28  Bruno Haible  <bruno@clisp.org>
31120
31121         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
31122         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
31123         input.
31124         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
31125         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
31126         unistr/u8-uctomb.
31127
31128 2007-03-28  Bruno Haible  <bruno@clisp.org>
31129
31130         * modules/unistr/u8-mbtoucr: New file.
31131         * lib/unistr/u8-mbtoucr.c: New file.
31132         * modules/unistr/u16-mbtoucr: New file.
31133         * lib/unistr/u16-mbtoucr.c: New file.
31134         * modules/unistr/u16-mbtoucr: New file.
31135         * lib/unistr/u16-mbtoucr.c: New file.
31136         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
31137
31138 2007-03-27  Simon Josefsson  <simon@josefsson.org>
31139             Bruno Haible  <bruno@clisp.org>
31140
31141         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
31142         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
31143         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
31144
31145         * m4/stdio_h.m4: Add stubs for vasprintf too.
31146
31147         * modules/stdio: Support vasprintf in sed command.
31148
31149         * modules/vasprintf: Depend on stdio for prototypes.  Remove
31150         vasprintf.h.  Add stdio module indicator.
31151
31152         * lib/stdio_.h: Declare asprintf and vasprintf, based on
31153         vasprintf.h.
31154
31155         * lib/vasprintf.h: File removed.
31156
31157         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
31158         * lib/vasprintf.c: Ditto.
31159         * lib/xvasprintf.c: Ditto.
31160         * tests/test-vasprintf-posix.c: Ditto.
31161         * tests/test-vasprintf.c: Ditto.
31162
31163 2007-03-27  Bruno Haible  <bruno@clisp.org>
31164
31165         Make vasnprintf multithread-safe.
31166         * lib/vasnprintf.c (decimal_point_char): New function.
31167         (VASNPRINTF): Use it.
31168         Suggested by Simon Josefsson.
31169
31170 2007-03-27  Eric Blake  <ebb9@byu.net>
31171
31172         Support sub-second birthtime on cygwin.
31173         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
31174         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
31175         (get_stat_birthtime): Also work with st_birthtim.
31176
31177 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
31178
31179         * lib/stat-time.h (USE_BIRTHTIME): Remove.
31180         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
31181         (get_stat_birthtime_ns): Do not try to use "spare" fields.
31182         (get_stat_birthtime_ns): Simplify compile-time tests.
31183         (get_stat_birthtime): Change the API to look like
31184         get_stat_mtime etc., except return a negative tv_nsec on error.
31185         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
31186         Don't check for "spare" fields.
31187         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
31188         or for struct stat.st_birthtime, as these tests aren't used.
31189         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
31190
31191 2007-03-27  Bruno Haible  <bruno@clisp.org>
31192
31193         * lib/stat-time.h: Include <sys/stat.h>.
31194
31195 2007-03-27  James Youngman  <jay@gnu.org>
31196
31197         * lib/stat-time.h (get_stat_birthtime): New function for
31198           retrieving st_birthtime as provided by UFS2 (hence *BSD).
31199         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
31200           and its variants.
31201         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
31202         * modules/stat-time-test: New file.
31203         * tests/test-stat-time.c: New test, devised by Bruno Haible.
31204
31205 2007-03-26  Bruno Haible  <bruno@clisp.org>
31206
31207         Better support of signalling NaNs.
31208         * lib/atanl.c: Include isnanl.h.
31209         (atanl): Perform test for NaN at the beginning of the function and
31210         through a call to isnanl.
31211         * lib/cosl.c: Include isnanl.h.
31212         (cosl): Perform test for NaN at the beginning of the function and
31213         through a call to isnanl.
31214         * lib/ldexpl.c: Include isnanl.h.
31215         (ldexpl): Perform test for NaN through a call to isnanl.
31216         * lib/logl.c: Include isnanl.h.
31217         (logl): Perform test for NaN at the beginning of the function and
31218         through a call to isnanl.
31219         * lib/sinl.c: Include isnanl.h.
31220         (sinl): Perform test for NaN at the beginning of the function and
31221         through a call to isnanl.
31222         * lib/sqrtl.c: Include isnanl.h.
31223         (sqrtl): Perform test for NaN at the beginning of the function and
31224         through a call to isnanl.
31225         * lib/tanl.c: Include isnanl.h.
31226         (tanl): Perform test for NaN at the beginning of the function and
31227         through a call to isnanl.
31228         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
31229         * modules/mathl (Depends-on): Add isnanl.
31230
31231 2007-03-26  Eric Blake  <ebb9@byu.net>
31232
31233         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
31234         regression in logic sense of previous patch.
31235
31236 2007-03-26  Bruno Haible  <bruno@clisp.org>
31237
31238         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
31239         unportable shell command "if ! ...".
31240         Reported by Ralf Wildenhues.
31241
31242 2007-03-25  Bruno Haible  <bruno@clisp.org>
31243
31244         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
31245         <sysexits.h> file, and only add EX_CONFIG.
31246         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
31247         absolute file name and whether it is sufficient. Substitute also
31248         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
31249         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
31250         ABSOLUTE_SYSEXITS_H into sysexits.h.
31251
31252 2007-03-25  Bruno Haible  <bruno@clisp.org>
31253
31254         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
31255         hints is NULL.
31256
31257 2007-03-25  Bruno Haible  <bruno@clisp.org>
31258
31259         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
31260         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
31261
31262 2007-03-25  Bruno Haible  <bruno@clisp.org>
31263
31264         * lib/vasnprintf.c: Include langinfo.h.
31265         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
31266         multithread-safe.
31267         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
31268         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
31269         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
31270         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
31271         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
31272         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
31273         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
31274         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
31275         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
31276         Reported by Simon Josefsson.
31277
31278 2007-03-25  Bruno Haible  <bruno@clisp.org>
31279
31280         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
31281         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
31282         * modules/vasnprintf (Depends-on): Add stdint.
31283
31284 2007-03-25  Bruno Haible  <bruno@clisp.org>
31285
31286         * modules/fpieee: New file.
31287         * m4/fpieee.m4: New file.
31288         * modules/isnan-nolibm (Depends-on): Add fpieee.
31289         * modules/isnanl-nolibm (Depends-on): Add fpieee.
31290         * modules/isnanl (Depends-on): Add fpieee.
31291
31292 2007-03-25  Bruno Haible  <bruno@clisp.org>
31293
31294         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
31295
31296 2007-03-25  Bruno Haible  <bruno@clisp.org>
31297
31298         Avoid test failures on IRIX 6.5.
31299         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
31300         (main): Use it.
31301         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
31302         macros.
31303         (main): Use them.
31304
31305 2007-03-25  Bruno Haible  <bruno@clisp.org>
31306
31307         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
31308         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
31309         exists but doesn't work.
31310         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
31311         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
31312         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
31313         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
31314
31315 2007-03-25  Bruno Haible  <bruno@clisp.org>
31316
31317         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
31318         returns inf. Needed on IRIX 6.5.
31319
31320 2007-03-25  Bruno Haible  <bruno@clisp.org>
31321
31322         * tests/test-frexpl.c: Include isnanl-nolibm.h.
31323         (main): Use isnanl instead of x != x idiom.
31324         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
31325
31326         * tests/test-frexp.c: Include isnan.h.
31327         (main): Use isnan instead of x != x idiom.
31328         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
31329
31330 2007-03-25  Bruno Haible  <bruno@clisp.org>
31331
31332         * tests/test-frexp.c (NaN): New function/macro.
31333         (main): Use it instead of 0.0 / 0.0.
31334         * tests/test-isnan.c (NaN): New function/macro.
31335         (main): Use it instead of 0.0 / 0.0.
31336         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
31337         (test_function): Use it instead of 0.0 / 0.0.
31338         * tests/test-vasprintf-posix.c (NaN): New function/macro.
31339         (test_function): Use it instead of 0.0 / 0.0.
31340         * tests/test-snprintf-posix.h (NaN): New function/macro.
31341         (test_function): Use it instead of 0.0 / 0.0.
31342         * tests/test-sprintf-posix.h (NaN): New function/macro.
31343         (test_function): Use it instead of 0.0 / 0.0.
31344         * tests/test-fprintf-posix.h (NaN): New function/macro.
31345         (test_function): Use it instead of 0.0 / 0.0.
31346         * tests/test-printf-posix.h (NaN): New function/macro.
31347         (test_function): Use it instead of 0.0 / 0.0.
31348
31349         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
31350
31351 2007-03-25  Bruno Haible  <bruno@clisp.org>
31352
31353         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
31354
31355 2007-03-25  Bruno Haible  <bruno@clisp.org>
31356
31357         * lib/regexec.c (merge_state_with_log): Make static.
31358
31359 2007-03-25  Bruno Haible  <bruno@clisp.org>
31360
31361         * lib/trigl.c (kernel_rem_pio2): Make static.
31362
31363 2007-03-25  Bruno Haible  <bruno@clisp.org>
31364
31365         * lib/sincosl.c (sincosl_table): Make static.
31366
31367 2007-03-25  Bruno Haible  <bruno@clisp.org>
31368
31369         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
31370         if the compiler does not support C99.
31371
31372 2007-03-25  Bruno Haible  <bruno@clisp.org>
31373
31374         * modules/time (Makefile.am): Ensure all rule action lines start with a
31375         tab.
31376
31377 2007-03-24  Bruno Haible  <bruno@clisp.org>
31378
31379         * modules/tsearch-tests: New file.
31380         * tests/test-tsearch.sh: New file.
31381         * tests/test-tsearch.c: New file, mostly copied from glibc.
31382
31383         * modules/search-tests: New file.
31384         * tests/test-search.c: New file.
31385
31386         * modules/search: New file.
31387         * lib/search_.h: New file, incorporating lib/tsearch.h.
31388         * m4/search_h.m4: New file.
31389         * lib/tsearch.h: Remove file.
31390         * lib/tsearch.c: Include search.h instead of tsearch.h.
31391         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
31392         HAVE_TSEARCH.
31393         * modules/tsearch (Files): Remove lib/tsearch.h.
31394         (Depends-on): Add search.
31395         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
31396         (Include): Change tsearch.h into search.h.
31397
31398 2007-03-24  Bruno Haible  <bruno@clisp.org>
31399
31400         * modules/fpucw: New file.
31401         * lib/fpucw.h: New file.
31402         * lib/frexp.c: Include fpucw.h.
31403         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
31404         (FUNC): Use them.
31405         * lib/printf-frexp.c: Include fpucw.h.
31406         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
31407         (FUNC): Use them.
31408         * lib/vasnprintf.c: Include fpucw.h.
31409         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
31410         'long double' calculations.
31411         * tests/test-frexpl.c: Include fpucw.h.
31412         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
31413         * tests/test-printf-frexpl.c: Include fpucw.h.
31414         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
31415         * modules/frexpl (Depends-on): Add fpucw.
31416         * modules/printf-frexpl (Depends-on): Likewise.
31417         * modules/fprintf-posix (Depends-on): Likewise.
31418         * modules/snprintf-posix (Depends-on): Likewise.
31419         * modules/sprintf-posix (Depends-on): Likewise.
31420         * modules/vasnprintf-posix (Depends-on): Likewise.
31421         * modules/vasprintf-posix (Depends-on): Likewise.
31422         * modules/vfprintf-posix (Depends-on): Likewise.
31423         * modules/vsnprintf-posix (Depends-on): Likewise.
31424         * modules/vsprintf-posix (Depends-on): Likewise.
31425         * modules/frexpl-tests (Depends-on): Likewise.
31426         * modules/printf-frexpl-tests (Depends-on): Likewise.
31427
31428 2007-03-24  Bruno Haible  <bruno@clisp.org>
31429
31430         * lib/float+.h: New file.
31431         * lib/isnan.c: Include float+.h.
31432         (SIZE): New macro.
31433         (FUNC): Compare only SIZE bytes of the value.
31434         * lib/vasnprintf.c: Include float+.h.
31435         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
31436         SIZEOF_LDBL or SIZEOF_DBL bytes.
31437         * modules/isnan-nolibm (Files): Add lib/float+.h.
31438         * modules/isnanl-nolibm (Files): Add lib/float+.h.
31439         * modules/isnanl (Files): Add lib/float+.h.
31440         * modules/vasnprintf (Files): Add lib/float+.h.
31441
31442 2007-03-24  Bruno Haible  <bruno@clisp.org>
31443
31444         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
31445         include isnanl-nolibm.h.
31446
31447 2007-03-24  Bruno Haible  <bruno@clisp.org>
31448
31449         * tests/test-read-file.c (main): Don't produce spurious output for
31450         expected situations. Make the test fail if it encountered unexpected
31451         results.
31452
31453 2007-03-24  Bruno Haible  <bruno@clisp.org>
31454
31455         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
31456         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
31457
31458 2007-03-24  Bruno Haible  <bruno@clisp.org>
31459
31460         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
31461
31462 2007-03-24  Bruno Haible  <bruno@clisp.org>
31463
31464         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
31465         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
31466
31467         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
31468         * modules/utf8-ucs4: Turn into a symbolic link to module
31469         unistr/u8-mbtouc.
31470
31471         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
31472         utf8-ucs4-unsafe.
31473         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
31474         unistr/u8-mbtouc-unsafe.
31475
31476         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
31477         * modules/utf16-ucs4: Turn into a symbolic link to module
31478         unistr/u16-mbtouc.
31479
31480         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
31481         utf16-ucs4-unsafe.
31482         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
31483         unistr/u16-mbtouc-unsafe.
31484
31485         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
31486         * modules/ucs4-utf8: Turn into a symbolic link to module
31487         unistr/u8-ubtomb.
31488
31489         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
31490         * modules/ucs4-utf16: Turn into a symbolic link to module
31491         unistr/u16-ubtomb.
31492
31493 2007-03-24  Bruno Haible  <bruno@clisp.org>
31494
31495         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
31496         Enable the function only if HAVE_INLINE.
31497         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
31498         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
31499         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
31500         Enable the function only if HAVE_INLINE.
31501         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
31502         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
31503         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
31504         Enable the function only if HAVE_INLINE.
31505         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
31506         Enable the function only if HAVE_INLINE.
31507         * modules/utf8-ucs4: Update.
31508         * modules/utf8-ucs4-unsafe: Update.
31509         * modules/utf16-ucs4: Update.
31510         * modules/utf16-ucs4-unsafe: Update.
31511         * modules/ucs4-utf8: Update.
31512         * modules/ucs4-utf16: Update.
31513
31514 2007-03-24  Bruno Haible  <bruno@clisp.org>
31515
31516         * lib/utf8-ucs4.h: Remove file.
31517         * lib/utf8-ucs4-unsafe.h: Remove file.
31518         * lib/utf16-ucs4.h: Remove file.
31519         * lib/utf16-ucs4-unsafe.h: Remove file.
31520         * lib/ucs4-utf8.h: Remove file.
31521         * lib/ucs4-utf16.h: Remove file.
31522         * lib/unistr.h: Include their previous contents.
31523         * m4/utf-ucs4.m4: Remove file.
31524         * m4/ucs4-utf.m4: Remove file.
31525         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
31526         (Depends-on): Add unistr/base.
31527         (configure.ac): Remove gl_UTF_UCS4.
31528         (Makefile.am): Update.
31529         (Include): Change to unistr.h.
31530         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
31531         (Depends-on): Add unistr/base.
31532         (configure.ac): Remove gl_UTF_UCS4.
31533         (Makefile.am): Update.
31534         (Include): Change to unistr.h.
31535         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
31536         (Depends-on): Add unistr/base.
31537         (configure.ac): Remove gl_UTF_UCS4.
31538         (Makefile.am): Update.
31539         (Include): Change to unistr.h.
31540         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
31541         (Depends-on): Add unistr/base.
31542         (configure.ac): Remove gl_UTF_UCS4.
31543         (Makefile.am): Update.
31544         (Include): Change to unistr.h.
31545         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
31546         (Depends-on): Add unistr/base.
31547         (configure.ac): Remove gl_UCS4_UTF.
31548         (Makefile.am): Update.
31549         (Include): Change to unistr.h.
31550         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
31551         (Depends-on): Add unistr/base.
31552         (configure.ac): Remove gl_UCS4_UTF.
31553         (Makefile.am): Update.
31554         (Include): Change to unistr.h.
31555         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
31556         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
31557         utf8-ucs4-unsafe.h.
31558         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
31559         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
31560         utf16-ucs4-unsafe.h.
31561         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
31562         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
31563         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
31564         * lib/unistr/u8-strchr.c: Likewise.
31565         * lib/unistr/u8-strrchr.c: Likewise.
31566         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
31567         * lib/unistr/u16-strchr.c: Likewise.
31568         * lib/unistr/u16-strrchr.c: Likewise.
31569         * lib/striconveh.c: Update.
31570         * lib/linebreak.c: Update.
31571
31572 2007-03-24  Bruno Haible  <bruno@clisp.org>
31573
31574         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
31575         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
31576
31577 2007-03-22  Bruno Haible  <bruno@clisp.org>
31578
31579         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
31580
31581 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
31582
31583         * MODULES.html.sh (File system functions): New module write-any-file.
31584         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
31585         * m4/write-any-file.m4: New files.
31586
31587 2007-03-23  Eric Blake  <ebb9@byu.net>
31588
31589         * gnulib-tool: Rearrange space-tab sequences, since some editors
31590         like to eat them.
31591
31592 2007-03-23  Eric Blake  <ebb9@byu.net>
31593
31594         * lib/version-etc.c (version_etc_va): Update license wording to
31595         be more concise.  Recommended by Richard Stallman.
31596
31597 2007-03-22  Bruno Haible  <bruno@clisp.org>
31598
31599         * lib/poll.c (MSG_PEEK): New fallback definition.
31600
31601 2007-03-22  Bruno Haible  <bruno@clisp.org>
31602
31603         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
31604         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
31605         (main): Update.
31606         Fixes a compilation error on BeOS.
31607
31608 2007-03-22  Bruno Haible  <bruno@clisp.org>
31609
31610         * modules/frexpl-tests: New file.
31611         * tests/test-frexpl.c: New file.
31612
31613         * modules/frexpl: New file.
31614         * m4/frexpl.m4: New file.
31615         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
31616         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
31617         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
31618         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
31619         (Depends-on): Add frexpl. Remove isnanl-nolibm.
31620         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
31621
31622 2007-03-22  Bruno Haible  <bruno@clisp.org>
31623
31624         * lib/frexpl.c: Share code with lib/frexp.c.
31625         * modules/mathl (Files): Add lib/frexp.c.
31626         (Depends-on): Add isnanl-nolibm.
31627
31628 2007-03-22  Bruno Haible  <bruno@clisp.org>
31629
31630         * modules/printf-frexp (Files): Add m4/frexp.m4.
31631         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
31632         only if the found frexp function actually works.
31633
31634 2007-03-22  Bruno Haible  <bruno@clisp.org>
31635
31636         * lib/frexp.c: Remove older implementation that uses divisions.
31637
31638 2007-03-21  Bruno Haible  <bruno@clisp.org>
31639
31640         * modules/frexp-tests: New file.
31641         * tests/test-frexp.c: New file.
31642
31643         * modules/frexp: New file.
31644         * lib/frexp.c: New file.
31645         * m4/frexp.m4: New file.
31646         * lib/math_.h (frexp): New declaration.
31647         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
31648         REPLACE_FREXP.
31649         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
31650
31651 2007-03-21  Bruno Haible  <bruno@clisp.org>
31652
31653         * modules/isnanl-tests: New file.
31654         * tests/test-isnanl.c: New file.
31655
31656         * modules/isnanl: New file.
31657         * lib/isnanl.h: New file.
31658         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
31659         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
31660         gl_FUNC_ISNANL_WORKS.
31661         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
31662         New macros.
31663
31664 2007-03-21  Bruno Haible  <bruno@clisp.org>
31665
31666         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
31667         lib/isnanl.h.
31668         (Include): Update.
31669         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
31670         * lib/vasnprintf.c: Update.
31671         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
31672         tests/test-isnanl.h, remove tests/test-isnanl.c.
31673         (Makefile.am): Update.
31674         * tests/test-isnanl-nolibm.c: New file.
31675         * tests/test-isnanl.h: New file.
31676         * tests/test-isnanl.c: Remove file.
31677
31678 2007-03-21  Jim Meyering  <jim@meyering.net>
31679
31680         When trying to open ".", treat ESTALE like EACCES.
31681         * lib/savewd.c (savewd_save): Resort to forking not just upon
31682         failure with EACCES, but also when errno is ESTALE.
31683
31684 2007-03-20  Bruno Haible  <bruno@clisp.org>
31685
31686         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
31687         Needed on AIX 5.1. Reported by Matthew Woehlke.
31688
31689 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
31690
31691         Suggestions by Bruno Haible:
31692         * lib/acl-internal.h: Include "gettext.h" rather than rolling
31693         our own.
31694         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
31695         * modules/acl (Depends-on): Add gettext.
31696
31697 2007-03-19  Bruno Haible  <bruno@clisp.org>
31698
31699         * modules/iconvme: Remove file.
31700         * lib/iconvme.h: Remove file.
31701         * lib/iconvme.c: Remove file.
31702         * m4/iconvme.m4: Remove file.
31703
31704 2007-03-19  Bruno Haible  <bruno@clisp.org>
31705
31706         * doc/relocatable-maint.texi: Break long shell script line.
31707         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
31708
31709 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
31710
31711         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
31712         handle file_has_acl.
31713         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
31714         * lib/acl.c: Move header inclusions and related macro defns into
31715         lib/acl-internal.h.
31716         (S_ISLNK): Remove defn, since that's now done for us.
31717         (file_has_acl): Move to lib/file-has-acl.c.
31718         Call acl_trivial if available.  This is the crucial part of the fix.
31719         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
31720         shared within the library.  Rewrite a bit, partly to make it compatible
31721         with the GNU coding style.
31722         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
31723         Remove unnecessary double-quotes.
31724         Don't test for acl_to_text; the build will catch that.
31725         Replace acl_entries if it doesn't exist and it is needed.
31726         Check for -lsec and acl_trivial (as used on Solaris 10).
31727         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
31728         lib/file-has-acl.c.
31729         (Depends-on): Add sys_stat, for S_ISLNK.
31730
31731 2007-03-19  Ben Pfaff  <blp@gnu.org>
31732
31733         * doc/gnulib.texi: Fix typos.
31734         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
31735
31736 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
31737
31738         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
31739         If size is zero here, buf must be zero.
31740
31741 2007-03-19  Simon Josefsson  <simon@josefsson.org>
31742
31743         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
31744         <bruno@clisp.org>.
31745
31746 2007-03-18  Bruno Haible  <bruno@clisp.org>
31747
31748         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
31749         Suggested by Eric Blake.
31750
31751 2007-03-18  Ben Pfaff  <blp@gnu.org>
31752
31753         * doc/relocatable.texi: Recommend using as prefix a directory
31754         that does not exist and will never be created.  Based on
31755         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
31756         and others.
31757
31758 2007-03-17  Bruno Haible  <bruno@clisp.org>
31759
31760         * lib/fchownat.c: Include lchown.h.
31761
31762 2007-03-17  Bruno Haible  <bruno@clisp.org>
31763
31764         Fix endless loop when the given allocated size was > INT_MAX.
31765         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
31766         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
31767         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
31768         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
31769         * lib/sprintf.c (sprintf): Likewise.
31770
31771 2007-03-17  Bruno Haible  <bruno@clisp.org>
31772
31773         * tests/test-argp-2.sh (func_compare): Output a context diff.
31774
31775 2007-03-17  Bruno Haible  <bruno@clisp.org>
31776
31777         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
31778         locale's decimal-point character.
31779
31780 2007-03-17  Bruno Haible  <bruno@clisp.org>
31781
31782         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
31783         before comparing it. Needed because on some platforms (e.g. x86) a
31784         'long double' occupies less bytes than sizeof (long double).
31785
31786 2007-03-17  Bruno Haible  <bruno@clisp.org>
31787
31788         * tests/test-crc.c (main): Make printf statements 64-bit clean.
31789         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
31790         * tests/test-getaddrinfo.c (simple): Likewise.
31791         * tests/test-read-file.c (main): Likewise.
31792
31793 2007-03-17  Bruno Haible  <bruno@clisp.org>
31794
31795         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
31796
31797 2007-03-17  Bruno Haible  <bruno@clisp.org>
31798
31799         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
31800         unused variable.
31801
31802 2007-03-17  Bruno Haible  <bruno@clisp.org>
31803
31804         * tests/test-c-strcasecmp.c: Include c-strcase.h.
31805         * tests/test-c-strncasecmp.c: Likewise.
31806
31807 2007-03-17  Bruno Haible  <bruno@clisp.org>
31808
31809         * modules/stdlib (Depends-on): Add unistd.
31810         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
31811         Needed for MacOS X 10.3.
31812
31813 2007-03-17  Bruno Haible  <bruno@clisp.org>
31814
31815         * lib/unistr/u-strdup.h: Include <stdlib.h>.
31816
31817 2007-03-17  Bruno Haible  <bruno@clisp.org>
31818
31819         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
31820
31821 2007-03-17  Bruno Haible  <bruno@clisp.org>
31822
31823         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
31824         to reflect files copied from gnulib (with or without modifications).
31825         Suggested by Jim Meyering.
31826
31827 2007-03-17  Eric Blake  <ebb9@byu.net>
31828
31829         * NEWS: Document stdlib change from 2007-02-18.
31830
31831 2007-03-17  Jim Meyering  <jim@meyering.net>
31832
31833         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
31834         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
31835         someone uses a name containing shell meta-characters.
31836         Reported by Alfred M. Szmidt.
31837
31838         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
31839
31840 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
31841
31842         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
31843         and copy gettext configuration files only if configure.ac contains
31844         a use of AM_GNU_GETTEXT_VERSION.
31845
31846 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
31847
31848         * build-aux/bootstrap (gnulib_name): New variable.
31849         (gnulib_tool_options): Use it.
31850
31851 2007-03-13  Simon Josefsson  <simon@josefsson.org>
31852
31853         * tests/test-des.c: Use new namespace.
31854
31855 2007-03-15  Bruno Haible  <bruno@clisp.org>
31856
31857         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
31858         Reported by James Youngman <jay@gnu.org>.
31859
31860 2007-03-15  Bruno Haible  <bruno@clisp.org>
31861
31862         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
31863         declared prototype. Needed with cc on OSF/1 5.1.
31864
31865 2007-03-15  Bruno Haible  <bruno@clisp.org>
31866
31867         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
31868         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
31869         (struct gl_list_implementation): Add dispose_fn argument to the
31870         'create_empty', 'create' methods.
31871         (struct gl_list_impl_base): Add field 'dispose_fn'.
31872         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
31873         argument.
31874         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
31875         dispose_fn argument.
31876         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
31877         dispose_fn on the dropped values.
31878         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
31879         dispose_fn argument.
31880         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
31881         dropped values.
31882         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
31883         (gl_tree_remove_node): Call dispose_fn on the dropped value.
31884         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
31885         (gl_tree_remove_node): Call dispose_fn on the dropped value.
31886         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
31887         argument.
31888         (gl_tree_list_free): Call dispose_fn on the dropped values.
31889         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
31890         the dropped values.
31891         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
31892         Add dispose_fn argument.
31893         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
31894         Call dispose_fn on the dropped values.
31895         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
31896         Add dispose_fn argument.
31897         (gl_sublist_create): Initialize the 'dispose_fn' field.
31898         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
31899         * tests/test-array_list.c (main): Update.
31900         * tests/test-carray_list.c (main): Update.
31901         * tests/test-avltree_list.c (main): Update.
31902         * tests/test-rbtree_list.c (main): Update.
31903         * tests/test-avltreehash_list.c (main): Update.
31904         * tests/test-rbtreehash_list.c (main): Update.
31905         * tests/test-linked_list.c (main): Update.
31906         * tests/test-linkedhash_list.c (main): Update.
31907         * tests/test-array_oset.c (main): Update.
31908
31909 2007-03-15  Bruno Haible  <bruno@clisp.org>
31910
31911         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
31912         (gl_oset_create_empty): Add dispose_fn argument.
31913         (struct gl_oset_implementation): Add dispose_fn argument to
31914         'create_empty' method.
31915         (struct gl_oset_impl_base): Add dispose_fn field.
31916         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
31917         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
31918         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
31919         values.
31920         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
31921         (gl_tree_oset_free): Call dispose_fn on the dropped values.
31922         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
31923         dropped value.
31924         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
31925         dropped value.
31926         * tests/test-array_oset.c (main): Update.
31927         * tests/test-avltree_oset.c (main): Update.
31928         * tests/test-rbtree_oset.c (main): Update.
31929         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
31930
31931 2007-03-13  Bruno Haible  <bruno@clisp.org>
31932
31933         * tests/test-stdbool.c (i): Update after last patch.
31934
31935 2007-03-12  Bruno Haible  <bruno@clisp.org>
31936
31937         * lib/quotearg.c: Include <wctype.h> early, before the definition of
31938         the iswprint macro. Needed on Solaris 2.5.1.
31939
31940 2007-03-12  Bruno Haible  <bruno@clisp.org>
31941
31942         * tests/test-printf-frexp.c (main): Declare x as volatile.
31943
31944 2007-03-12  Simon Josefsson  <simon@josefsson.org>
31945
31946         * doc/gnulib.texi (Build robot for gnulib): New section.
31947
31948 2007-03-12  Jim Meyering  <jim@meyering.net>
31949
31950         * build-aux/bootstrap: New file.
31951         * build-aux/bootstrap.conf: New file, from coreutils.
31952
31953 2007-03-11  Bruno Haible  <bruno@clisp.org>
31954
31955         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
31956
31957 2007-03-12  Simon Josefsson  <simon@josefsson.org>
31958
31959         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
31960         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
31961         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
31962
31963 2007-03-11  Bruno Haible  <bruno@clisp.org>
31964
31965         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
31966         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
31967
31968 2007-03-11  Bruno Haible  <bruno@clisp.org>
31969
31970         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
31971         formula. Needed for SunPRO C 5.0.
31972
31973 2007-03-11  Bruno Haible  <bruno@clisp.org>
31974
31975         * modules/long-options (Depends-on): Add getopt.
31976
31977 2007-03-11  Bruno Haible  <bruno@clisp.org>
31978
31979         * modules/modechange (Depends-on): Add stdbool.
31980
31981 2007-03-11  Bruno Haible  <bruno@clisp.org>
31982
31983         * modules/i-ring (Depends-on): Add stdbool.
31984
31985 2007-03-11  Bruno Haible  <bruno@clisp.org>
31986
31987         * modules/gc-des (Depends-on): Add stdbool.
31988
31989 2007-03-11  Bruno Haible  <bruno@clisp.org>
31990
31991         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
31992
31993 2007-03-11  Bruno Haible  <bruno@clisp.org>
31994
31995         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
31996
31997 2007-03-11  Bruno Haible  <bruno@clisp.org>
31998
31999         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
32000
32001 2007-03-11  Bruno Haible  <bruno@clisp.org>
32002
32003         * lib/vasnprintf.c (sprintf): Undefine.
32004
32005 2007-03-11  Bruno Haible  <bruno@clisp.org>
32006
32007         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
32008         initializers in SunPRO C and Compaq C compilers.
32009
32010 2007-03-11  Bruno Haible  <bruno@clisp.org>
32011
32012         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
32013         decrementing code ANSI C compliant.
32014
32015 2007-03-11  Bruno Haible  <bruno@clisp.org>
32016
32017         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
32018         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
32019
32020 2007-03-11  Bruno Haible  <bruno@clisp.org>
32021
32022         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
32023         <stdbool.h> substitute doesn't pass.
32024
32025 2007-03-11  Bruno Haible  <bruno@clisp.org>
32026
32027         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
32028
32029 2007-03-11  Bruno Haible  <bruno@clisp.org>
32030
32031         * gnulib-tool (func_create_megatestdir): Create also an autobuild
32032         script, for submission to autobuild.josefsson.org.
32033
32034 2007-03-10  Bruno Haible  <bruno@clisp.org>
32035
32036         * modules/canonicalize-lgpl-tests: New file.
32037         * tests/test-canonicalize-lgpl.sh: New file.
32038         * tests/test-canonicalize-lgpl.c: New file.
32039
32040         * modules/c-strcase-tests: New file.
32041         * tests/test-c-strcase.sh: New file.
32042         * tests/test-c-strcasecmp.c: New file.
32043         * tests/test-c-strncasecmp.c: New file.
32044
32045         * modules/atexit-tests: New file.
32046         * tests/test-atexit.sh: New file.
32047         * tests/test-atexit.c: New file.
32048
32049 2007-03-10  Bruno Haible  <bruno@clisp.org>
32050
32051         * tests/test-binary-io.sh: Use temporary filenames that are not so
32052         likely to clash with those of other tests (in a parallel make).
32053         * tests/test-binary-io.c: Likewise.
32054
32055 2007-03-10  Bruno Haible  <bruno@clisp.org>
32056
32057         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
32058         fallback; use #error instead.
32059         Suggested by Simon Josefsson.
32060
32061 2007-03-10  Bruno Haible  <bruno@clisp.org>
32062
32063         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
32064         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
32065         first and the last.
32066
32067 2007-03-10  Bruno Haible  <bruno@clisp.org>
32068
32069         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
32070
32071 2007-03-10  Bruno Haible  <bruno@clisp.org>
32072
32073         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
32074         "make distcheck".
32075         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
32076         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
32077         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
32078
32079 2007-03-10  Bruno Haible  <bruno@clisp.org>
32080
32081         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
32082         variable.
32083         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
32084         variable.
32085
32086 2007-03-09  Eric Blake  <ebb9@byu.net>
32087         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
32088
32089         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
32090         types are not being provided by gnulib.
32091         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
32092         types are supported.
32093
32094 2007-03-10  Bruno Haible  <bruno@clisp.org>
32095
32096         * lib/stdio_.h (__attribute__): New macro.
32097         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
32098         vsprintf): Specify __attribute__ __format__ for GCC.
32099         Suggested by Eric Blake.
32100
32101 2007-03-09  Bruno Haible  <bruno@clisp.org>
32102
32103         * modules/printf-posix-tests: New file.
32104         * tests/test-printf-posix.sh: New file.
32105         * tests/test-printf-posix.c: New file.
32106
32107         * modules/printf-posix: New file.
32108         * lib/printf.c: New file.
32109         * m4/printf-posix-rpl.m4: New file.
32110         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
32111         REPLACE_PRINTF.
32112         * lib/stdio_.h (printf): New declaration.
32113         (format, __format__, ____printf____, ____scanf____, ____strftime____,
32114         ____strfmon____): New macros.
32115         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
32116         REPLACE_PRINTF.
32117
32118 2007-03-09  Bruno Haible  <bruno@clisp.org>
32119
32120         * tests/test-vasnprintf-posix2.sh: New file.
32121         * tests/test-vasnprintf-posix2.c: New file.
32122         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
32123         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
32124         (Makefile.am): Activate test-vasnprintf-posix2.sh.
32125
32126         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
32127         a locale dependent decimal point, rather than always '.'.
32128
32129 2007-03-09  Eric Blake  <ebb9@byu.net>
32130
32131         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
32132         spite of platforms like Tandem/NSK that define it to -1.
32133
32134 2007-03-08  Bruno Haible  <bruno@clisp.org>
32135
32136         * modules/vprintf-posix-tests: New file.
32137         * tests/test-vprintf-posix.sh: New file.
32138         * tests/test-vprintf-posix.c: New file.
32139         * tests/test-printf-posix.h: New file.
32140
32141         * modules/vprintf-posix: New file.
32142         * lib/vprintf.c: New file.
32143         * m4/vprintf-posix.m4: New file.
32144         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
32145         REPLACE_VPRINTF.
32146         * lib/stdio_.h (vprintf): New declaration.
32147         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
32148         REPLACE_VPRINTF.
32149
32150 2007-03-08  Bruno Haible  <bruno@clisp.org>
32151
32152         * modules/fprintf-posix-tests: New file.
32153         * tests/test-fprintf-posix.sh: New file.
32154         * tests/test-fprintf-posix.c: New file.
32155
32156         * modules/fprintf-posix: New file.
32157         * lib/fprintf.c: New file.
32158         * m4/fprintf-posix.m4: New file.
32159         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
32160         REPLACE_FPRINTF.
32161         * lib/stdio_.h (fprintf): New declaration.
32162         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
32163         REPLACE_FPRINTF.
32164
32165 2007-03-08  Bruno Haible  <bruno@clisp.org>
32166
32167         * modules/vfprintf-posix-tests: New file.
32168         * tests/test-vfprintf-posix.sh: New file.
32169         * tests/test-vfprintf-posix.c: New file.
32170         * tests/test-fprintf-posix.h: New file.
32171         * tests/test-fprintf-posix.out: New file.
32172
32173         * modules/vfprintf-posix: New file.
32174         * lib/vfprintf.c: New file.
32175         * m4/vfprintf-posix.m4: New file.
32176         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
32177         REPLACE_VFPRINTF.
32178         * lib/stdio_.h (vfprintf): New declaration.
32179         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
32180         REPLACE_VFPRINTF.
32181
32182 2007-03-08  Bruno Haible  <bruno@clisp.org>
32183
32184         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
32185
32186 2007-03-08  Bruno Haible  <bruno@clisp.org>
32187
32188         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
32189         instead of 'expr' invocations.
32190         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
32191         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
32192         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
32193         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
32194         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
32195         Suggested by Paul Eggert.
32196
32197 2007-03-08  Bruno Haible  <bruno@clisp.org>
32198
32199         * modules/fseterr-tests: New file.
32200         * tests/test-fseterr.c: New file.
32201
32202         * modules/fseterr: New file.
32203         * lib/fseterr.h: New file.
32204         * lib/fseterr.c: New file.
32205
32206 2007-03-08  Bruno Haible  <bruno@clisp.org>
32207
32208         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
32209         * lib/getopt_.h: Likewise.
32210         * lib/mbswidth.h: Likewise.
32211         * lib/setenv.h: Likewise.
32212         * lib/vasnprintf.h: Likewise.
32213         * lib/vasprintf.h: Likewise.
32214         * lib/verror.h: Likewise.
32215         * lib/xsetenv.h: Likewise.
32216         * lib/xvasprintf.h: Likewise.
32217
32218 2007-03-08  Jim Meyering  <jim@meyering.net>
32219
32220         * users.txt: Add parted.
32221
32222         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
32223
32224 2007-03-07  Bruno Haible  <bruno@clisp.org>
32225
32226         * m4/printf.m4: Make the shell script snippets copy&pastable.
32227
32228 2007-03-02  Bruno Haible  <bruno@clisp.org>
32229
32230         * lib/netinet_in_.h: New file.
32231         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
32232         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
32233         * modules/netinet_in (Files): Add lib/netinet_in_.h.
32234         (Depends-on): Add absolute-header.
32235         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
32236         into netinet/in.h.
32237
32238 2007-03-03  Bruno Haible  <bruno@clisp.org>
32239
32240         * lib/sys_select_.h: New file.
32241         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
32242         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
32243         * modules/sys_select (Files): Add lib/sys_select_.h.
32244         (Depends-on): Add absolute-header.
32245         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
32246         into sys/select.h.
32247
32248 2007-03-02  Bruno Haible  <bruno@clisp.org>
32249
32250         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
32251         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
32252         values.
32253         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
32254         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
32255         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
32256         * modules/sys_socket (Depends-on): Add absolute-header.
32257         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
32258         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
32259         (Include): Remove requirement of inclusion of <sys/types.h>.
32260
32261 2007-03-02  Bruno Haible  <bruno@clisp.org>
32262
32263         * lib/byteswap_.h (bswap_32): Fix formula.
32264
32265 2007-03-06  Bruno Haible  <bruno@clisp.org>
32266
32267         * modules/sprintf-posix-tests: New file.
32268         * tests/test-sprintf-posix.c: New file.
32269
32270         * modules/sprintf-posix: New file.
32271         * lib/sprintf.c: New file.
32272         * m4/sprintf-posix.m4: New file.
32273         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
32274         REPLACE_SPRINTF.
32275         * lib/stdio_.h (sprintf): New declaration.
32276         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
32277         REPLACE_SPRINTF.
32278
32279 2007-03-06  Bruno Haible  <bruno@clisp.org>
32280
32281         * modules/vsprintf-posix-tests: New file.
32282         * tests/test-vsprintf-posix.c: New file.
32283         * tests/test-sprintf-posix.h: New file.
32284
32285         * modules/vsprintf-posix: New file.
32286         * lib/vsprintf.c: New file.
32287         * m4/vsprintf-posix.m4: New file.
32288         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
32289         REPLACE_VSPRINTF.
32290         * lib/stdio_.h (vsprintf): New declaration.
32291         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
32292         REPLACE_VSPRINTF.
32293
32294 2007-03-06  Bruno Haible  <bruno@clisp.org>
32295
32296         * modules/vsnprintf (Depend-on): Remove minmax.
32297
32298 2007-03-06  Bruno Haible  <bruno@clisp.org>
32299
32300         * modules/snprintf-posix-tests: New file.
32301         * tests/test-snprintf-posix.c: New file.
32302
32303         * modules/snprintf-posix: New file.
32304         * m4/snprintf-posix.m4: New file.
32305         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
32306         gl_FUNC_SNPRINTF.
32307         (gl_FUNC_SNPRINTF): Invoke it.
32308         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
32309         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
32310         is set.
32311         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
32312
32313 2007-03-06  Bruno Haible  <bruno@clisp.org>
32314
32315         * modules/vsnprintf-posix-tests: New file.
32316         * tests/test-vsnprintf-posix.c: New file.
32317         * tests/test-snprintf-posix.h: New file.
32318
32319         * modules/vsnprintf-posix: New file.
32320         * m4/vsnprintf-posix.m4: New file.
32321         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
32322         gl_FUNC_VSNPRINTF.
32323         (gl_FUNC_VSNPRINTF): Invoke it.
32324         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
32325         * lib/stdio_.h (vsnprintf): Define as a replacement if
32326         REPLACE_VSNPRINTF is set.
32327         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
32328
32329 2007-03-06  Bruno Haible  <bruno@clisp.org>
32330
32331         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
32332         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
32333
32334 2007-03-06  Bruno Haible  <bruno@clisp.org>
32335
32336         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
32337         (asinl): Declare also if HAVE_DECL_ASINL is set.
32338         (atanl): Declare also if HAVE_DECL_ATANL is set.
32339         (ceill): Declare also if HAVE_DECL_CEILL is set.
32340         (cosl): Declare also if HAVE_DECL_COSL is set.
32341         (expl): Declare also if HAVE_DECL_EXPL is set.
32342         (floorl): Declare also if HAVE_DECL_FLOORL is set.
32343         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
32344         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
32345         (logl): Declare also if HAVE_DECL_LOGL is set.
32346         (sinl): Declare also if HAVE_DECL_SINL is set.
32347         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
32348         (tanl): Declare also if HAVE_DECL_TANL is set.
32349         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
32350         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
32351         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
32352         declaration of frexpl, ldexpl.
32353         * modules/printf-frexpl (Depends-on): Add math.
32354         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
32355
32356 2007-03-05  Bruno Haible  <bruno@clisp.org>
32357
32358         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
32359         frexpl and ldexpl are declared.
32360         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
32361
32362 2007-03-05  Bruno Haible  <bruno@clisp.org>
32363
32364         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
32365         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
32366
32367 2007-03-05  Bruno Haible  <bruno@clisp.org>
32368
32369         * lib/stdio_.h: Include <stddef.h>.
32370
32371 2007-03-05  Bruno Haible  <bruno@clisp.org>
32372
32373         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
32374
32375 2007-03-05  Bruno Haible  <bruno@clisp.org>
32376
32377         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
32378         NetBSD 4, from Ralf Wildenhues.
32379
32380 2007-03-04  Bruno Haible  <bruno@clisp.org>
32381
32382         * lib/vasprintf.h: Update #if logic for the case when the functions
32383         exist but are overridden.
32384
32385 2007-03-04  Bruno Haible  <bruno@clisp.org>
32386
32387         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
32388         implementations: glibc-2.4 and MacOS X 10.3.
32389         * tests/test-vasnprintf-posix.c (test_function): Test also the case
32390         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
32391         * tests/test-vasprintf-posix.c (test_function): Likewise.
32392
32393 2007-03-04  Bruno Haible  <bruno@clisp.org>
32394
32395         * modules/vasprintf-posix-tests: New file.
32396         * tests/test-vasprintf-posix.c: New file.
32397
32398         * modules/vasprintf-posix: New file.
32399         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
32400         defined.
32401         * m4/vasprintf-posix.m4: New file.
32402         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
32403         gl_FUNC_VASPRINTF.
32404         (gl_FUNC_VASPRINTF): Invoke it.
32405         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
32406         here.
32407         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
32408
32409 2007-03-04  Bruno Haible  <bruno@clisp.org>
32410
32411         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
32412         REPLACE_GETTIMEOFDAY.
32413         * modules/sys_time (Makefile.am): Likewise.
32414         * m4/sys_time_h.m4: Likewise.
32415         * m4/gettimeofday.m4: Likewise.
32416
32417 2007-03-04  Bruno Haible  <bruno@clisp.org>
32418
32419         * modules/vasnprintf-posix-tests: New file.
32420         * tests/test-vasnprintf-posix.c: New file.
32421
32422         * modules/vasnprintf-posix: New file.
32423         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
32424         printf-frexpl.h.
32425         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
32426         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
32427         REPLACE_VASNPRINTF is defined.
32428         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
32429         gl_FUNC_VASNPRINTF.
32430         (gl_FUNC_VASNPRINTF): Invoke it.
32431         * m4/vasnprintf-posix.m4: New file.
32432         * m4/printf.m4: New file.
32433
32434 2007-03-04  Bruno Haible  <bruno@clisp.org>
32435
32436         Compile progreloc.c only if --enable-relocatable is specified.
32437         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
32438         if --enable-relocatable was specified.
32439         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
32440         lib_SOURCES.
32441
32442 2007-03-04  Jim Meyering  <jim@meyering.net>
32443
32444         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
32445         Use it consistently, rather than enumerating errno constants.
32446
32447 2007-03-04  Bruno Haible  <bruno@clisp.org>
32448
32449         * modules/xvasprintf-tests: New file.
32450         * tests/test-xvasprintf.c: New file.
32451
32452         * modules/vasprintf-tests: New file.
32453         * tests/test-vasprintf.c: New file.
32454
32455         * modules/vasnprintf-tests: New file.
32456         * tests/test-vasnprintf.c: New file.
32457
32458         * modules/vsnprintf-tests: New file.
32459         * tests/test-vsnprintf.c: New file.
32460
32461         * modules/snprintf-tests: New file.
32462         * tests/test-snprintf.c: New file.
32463
32464 2007-03-04  Bruno Haible  <bruno@clisp.org>
32465
32466         Compile relocatable.c only if --enable-relocatable is specified.
32467         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
32468         gl_RELOCATABLE_LIBRARY.
32469         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
32470         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
32471         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
32472         gl_RELOCATABLE_LIBRARY.
32473         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
32474         (Makefile.am): Remove lib_SOURCES.
32475         * modules/relocatable-lib-lgpl (configure.ac): Invoke
32476         gl_RELOCATABLE_LIBRARY.
32477         (Makefile.am): Remove lib_SOURCES.
32478         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
32479         always.
32480         * modules/relocatable-prog-wrapper (configure.ac): Invoke
32481         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
32482
32483 2007-03-04  Bruno Haible  <bruno@clisp.org>
32484
32485         * modules/argmatch-tests: New file.
32486         * tests/test-argmatch.c: New file.
32487
32488         * tests/test-allocsa.c (main): Halve the number of loop runs.
32489
32490         * modules/alloca-opt-tests: New file.
32491         * tests/test-alloca-opt.c: New file.
32492
32493 2007-03-04  Jim Meyering  <jim@meyering.net>
32494
32495         Work around difference between Linux ACLs and Solaris 10 ZFS.
32496         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
32497         for EINVAL.
32498
32499 2007-03-03  Bruno Haible  <bruno@clisp.org>
32500
32501         * modules/relocatable-prog (Depends-on): Add back progreloc's
32502         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
32503
32504 2007-03-03  Bruno Haible  <bruno@clisp.org>
32505
32506         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
32507         * modules/relocatable-lib: New file.
32508
32509 2007-03-03  Bruno Haible  <bruno@clisp.org>
32510
32511         * modules/relocatable-prog: Renamed from modules/relocatable.
32512         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
32513
32514 2007-03-03  Bruno Haible  <bruno@clisp.org>
32515
32516         * modules/relocatable-script (Files): Add doc/relocatable.texi,
32517         m4/relocatable-lib.m4.
32518         (Depends-on): Remove 'relocatable'.
32519         (configure.ac): Add gl_RELOCATABLE_NOP.
32520
32521 2007-03-03  Bruno Haible  <bruno@clisp.org>
32522
32523         * modules/relocatable-prog-wrapper: New file.
32524         * modules/relocatable (Depends-on): Add it. Remove all other
32525         dependencies except progname.
32526         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
32527
32528         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
32529         (gl_FUNC_STRERROR): Nop.
32530         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
32531
32532         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
32533         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
32534
32535         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
32536         (gl_FUNC_READLINK): Update.
32537
32538         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
32539
32540 2007-03-03  Bruno Haible  <bruno@clisp.org>
32541
32542         * lib/xreadlink.c: Include <unistd.h> unconditionally.
32543         * modules/xreadlink (Depends-on): Add unistd.
32544         * modules/xreadlink-with-size (Depends-on): Likewise.
32545
32546 2007-03-03  Bruno Haible  <bruno@clisp.org>
32547
32548         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
32549         extracted from gt_FUNC_SETENV.
32550         (gt_FUNC_SETENV): Remove macro.
32551         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
32552         remove gt_FUNC_SETENV.
32553
32554 2007-03-03  Bruno Haible  <bruno@clisp.org>
32555
32556         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
32557         ENABLE_RELOCATABLE here.
32558         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
32559
32560 2007-03-03  Bruno Haible  <bruno@clisp.org>
32561
32562         * modules/rbtreehash-list-tests (Depends-on): Add progname.
32563         * tests/test-rbtreehash_list.c: Include progname.h.
32564         (main): Call set_program_name.
32565
32566         * modules/rbtree-oset-tests (Depends-on): Add progname.
32567         * tests/test-rbtree_oset.c: Include progname.h.
32568         (main): Call set_program_name.
32569
32570         * modules/rbtree-list-tests (Depends-on): Add progname.
32571         * tests/test-rbtree_list.c: Include progname.h.
32572         (main): Call set_program_name.
32573
32574         * modules/linked-list-tests (Depends-on): Add progname.
32575         * tests/test-linked_list.c: Include progname.h.
32576         (main): Call set_program_name.
32577
32578 2007-03-03  Bruno Haible  <bruno@clisp.org>
32579
32580         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
32581         All uses of __restrict changed to _Restrict_.
32582         * lib/glob_.h (__restrict): Remove macro.
32583
32584 2007-03-02  Bruno Haible  <bruno@clisp.org>
32585
32586         * modules/gettext (configure.ac): Require gettext infrastructure
32587         from version 0.16.1.
32588
32589 2007-03-02  Bruno Haible  <bruno@clisp.org>
32590
32591         * modules/linkedhash-list-tests (Depends-on): Add progname.
32592         * tests/test-linkedhash_list.c: Include progname.h.
32593         (main): Call set_program_name.
32594
32595         * modules/carray-list-tests (Depends-on): Add progname.
32596         * tests/test-carray_list.c: Include progname.h.
32597         (main): Call set_program_name.
32598
32599         * modules/avltreehash-list-tests (Depends-on): Add progname.
32600         * tests/test-avltreehash_list.c: Include progname.h.
32601         (main): Call set_program_name.
32602
32603         * modules/avltree-oset-tests (Depends-on): Add progname.
32604         * tests/test-avltree_oset.c: Include progname.h.
32605         (main): Call set_program_name.
32606
32607         * modules/avltree-list-tests (Depends-on): Add progname.
32608         * tests/test-avltree_list.c: Include progname.h.
32609         (main): Call set_program_name.
32610
32611         * modules/array-oset-tests (Depends-on): Add progname.
32612         * tests/test-array_oset.c: Include progname.h.
32613         (main): Call set_program_name.
32614
32615         * modules/array-list-tests (Depends-on): Add progname.
32616         * tests/test-array_list.c: Include progname.h.
32617         (main): Call set_program_name.
32618
32619         * modules/argp-tests (Depends-on): Add progname.
32620         * tests/test-argp.c: Include argp.h first. Include progname.h.
32621         (main): Call set_program_name.
32622
32623 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
32624
32625         * doc/gnulib-tool.texi (Initial import): Reword description of
32626         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
32627         limited effect even if defined after the first system include.
32628
32629 2007-03-01  Bruno Haible  <bruno@clisp.org>
32630
32631         * build-aux/config.libpath: Update to libtool-1.5.22.
32632         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
32633
32634 2007-03-01  Bruno Haible  <bruno@clisp.org>
32635
32636         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
32637         foo_CFLAGS.
32638         Reported by Ralf Wildenhues.
32639
32640 2007-03-01  Bruno Haible  <bruno@clisp.org>
32641
32642         * build-aux/install-reloc: Remove object files left over by some
32643         compilers.
32644         Reported by Ralf Wildenhues.
32645
32646 2007-03-01  Bruno Haible  <bruno@clisp.org>
32647
32648         * build-aux/install-reloc: Break long lines.
32649
32650 2007-03-01  Bruno Haible  <bruno@clisp.org>
32651
32652         * doc/relocatable.texi: Document that it may not work on OpenBSD.
32653         Reported by Ralf Wildenhues.
32654
32655 2007-03-01  Bruno Haible  <bruno@clisp.org>
32656
32657         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
32658         include ordering constraints.
32659
32660 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
32661
32662         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
32663         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
32664         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
32665         as another example.
32666         * lib/time_.h: Fix misspelling.
32667         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
32668         Require gl_HEADER_TIME_H_DEFAULTS.
32669         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
32670         * m4/time_r.m4 (gl_TIME_R): Likewise.
32671         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
32672
32673 2007-03-01  Bruno Haible  <bruno@clisp.org>
32674
32675         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
32676         * m4/utimens.m4 (gl_UTIMENS): Likewise.
32677
32678 2007-03-01  Jim Meyering  <jim@meyering.net>
32679
32680         * modules/xreadlink (Maintainer): Add my name.
32681         * modules/xreadlink-with-size (Depends-on): Alphabetize.
32682
32683 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
32684             Bruno Haible  <bruno@clisp.org>
32685
32686         * build-aux/install-reloc: Compile also c-ctype.c.
32687         * build-aux/relocatable.sh.in: New file.
32688         * doc/relocatable.texi: New file.
32689         * doc/relocatable-maint.texi: New file.
32690         * doc/gnulib.texi: Include relocatable-maint.texi.
32691         * lib/progreloc.c: Include unistd.h unconditionally.
32692         * lib/relocwrapper.c: Include unistd.h unconditionally.
32693         Include c-ctype.h.
32694         (add_dotbin): Use c_tolower.
32695         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
32696         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
32697         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
32698         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
32699         to m4/relocatable-lib.m4.
32700         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
32701         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
32702         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
32703         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
32704         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
32705         * modules/relocatable: New file.
32706         * modules/relocatable-lib: New file.
32707         * modules/relocatable-script: New file.
32708
32709 2007-02-28  Bruno Haible  <bruno@clisp.org>
32710
32711         Import --enable-relocatable infrastructure.
32712         * build-aux/config.libpath: New file, from GNU gettext.
32713         * build-aux/install-reloc: New file, from GNU gettext.
32714         * build-aux/reloc-ldflags: New file, from GNU gettext.
32715         * lib/relocatable.h: New file, from GNU gettext.
32716         * lib/relocatable.c: New file, from GNU gettext.
32717         * lib/relocwrapper.c: New file, from GNU gettext.
32718         * m4/relocatable.m4: New file, from GNU gettext.
32719
32720 2007-02-28  Bruno Haible  <bruno@clisp.org>
32721
32722         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
32723
32724         * modules/xreadlink: New file, from GNU gettext with modifications.
32725         * lib/xreadlink.c: New file, from GNU gettext.
32726         * lib/xreadlink.h: Add comments.
32727         (xreadlink): New declaration.
32728
32729         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
32730         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
32731         lib/xreadlink-with-size.c.
32732         (configure.ac): Remove gl_XREADLINK invocation.
32733         (Makefile.am): Augment lib_SOURCES.
32734         * m4/xreadlink.m4: Remove file.
32735         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
32736         (xreadlink_with_size): Renamed from xreadink.
32737         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
32738         * modules/canonicalize (Depends-on): Replace xreadlink with
32739         xreadlink-with-size.
32740         * lib/canonicalize.c (canonicalize_filename_mode): Update.
32741
32742 2007-02-25  Jim Meyering  <jim@meyering.net>
32743
32744         * build-aux/announce-gen: When complaining about excess arguments,
32745         list them.
32746
32747 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
32748
32749         * README: Document signed integer overflow situation more
32750         accurately.
32751
32752 2007-02-25  Bruno Haible  <bruno@clisp.org>
32753
32754         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
32755         'a' or 'A' conversion.
32756
32757 2007-02-25  Bruno Haible  <bruno@clisp.org>
32758
32759         * modules/filename: Renamed from modules/pathname.
32760         (Files): Replace lib/pathname.h with lib/filename.h. Replace
32761         lib/concatpath.c with lib/concat-filename.c.
32762         (Makefile.am): Update.
32763         (Include): Replace pathname.h with filename.h.
32764         * lib/filename.h: Renamed from lib/pathname.h.
32765         (concatenated_filename): Renamed from concatenated_pathname.
32766         * lib/concat-filename.c: Renamed from lib/concatpath.c.
32767         (concatenated_filename): Renamed from concatenated_pathname.
32768         * lib/findprog.c: Include filename.h instead of pathname.h.
32769         (find_in_path): Update.
32770         * lib/javacomp.c: Include filename.h instead of pathname.h.
32771         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
32772         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
32773         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
32774         is_oldgcj_14_13_usable, is_javac_usable): Update.
32775         * lib/javaexec.c: Include filename.h instead of pathname.h.
32776         (execute_java_class): Update.
32777         * modules/findprog: Update.
32778         * modules/javacomp: Update.
32779         * modules/javaexec: Update.
32780         * MODULES.html.sh (File system functions): Add 'filename', remove
32781         'pathname'.
32782
32783 2007-02-25  Bruno Haible  <bruno@clisp.org>
32784
32785         * modules/printf-frexpl-tests: New file.
32786         * tests/test-printf-frexpl.c: New file.
32787
32788         * modules/printf-frexpl: New file.
32789         * lib/printf-frexpl.h: New file.
32790         * lib/printf-frexpl.c: New file.
32791         * m4/printf-frexpl.m4: New file.
32792
32793 2007-02-25  Bruno Haible  <bruno@clisp.org>
32794
32795         * modules/printf-frexp-tests: New file.
32796         * tests/test-printf-frexp.c: New file.
32797
32798         * modules/printf-frexp: New file.
32799         * lib/printf-frexp.h: New file.
32800         * lib/printf-frexp.c: New file.
32801         * m4/printf-frexp.m4: New file.
32802
32803 2007-02-25  Bruno Haible  <bruno@clisp.org>
32804
32805         Assume automake >= 1.10 for the tests.
32806         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
32807         * modules/arctwo-tests: Likewise.
32808         * modules/argp-tests: Likewise.
32809         * modules/avltree-list-tests: Likewise.
32810         * modules/avltree-oset-tests: Likewise.
32811         * modules/avltreehash-list-tests: Likewise.
32812         * modules/carray-list-tests: Likewise.
32813         * modules/crc-tests: Likewise.
32814         * modules/des-tests: Likewise.
32815         * modules/gc-arcfour-tests: Likewise.
32816         * modules/gc-arctwo-tests: Likewise.
32817         * modules/gc-des-tests: Likewise.
32818         * modules/gc-hmac-md5-tests: Likewise.
32819         * modules/gc-hmac-sha1-tests: Likewise.
32820         * modules/gc-md2-tests: Likewise.
32821         * modules/gc-md4-tests: Likewise.
32822         * modules/gc-md5-tests: Likewise.
32823         * modules/gc-pbkdf2-sha1-tests: Likewise.
32824         * modules/gc-rijndael-tests: Likewise.
32825         * modules/gc-sha1-tests: Likewise.
32826         * modules/gc-tests: Likewise.
32827         * modules/getaddrinfo-tests: Likewise.
32828         * modules/hmac-md5-tests: Likewise.
32829         * modules/hmac-sha1-tests: Likewise.
32830         * modules/linked-list-tests: Likewise.
32831         * modules/linkedhash-list-tests: Likewise.
32832         * modules/lock-tests: Likewise.
32833         * modules/md2-tests: Likewise.
32834         * modules/md4-tests: Likewise.
32835         * modules/md5-tests: Likewise.
32836         * modules/rbtree-list-tests: Likewise.
32837         * modules/rbtree-oset-tests: Likewise.
32838         * modules/rbtreehash-list-tests: Likewise.
32839         * modules/read-file-tests: Likewise.
32840         * modules/rijndael-tests: Likewise.
32841         * modules/stdint-tests: Likewise.
32842         * modules/tls-tests: Likewise.
32843
32844 2007-02-24  Bruno Haible  <bruno@clisp.org>
32845
32846         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
32847         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
32848         function; instead check whether isnan with a double argument links.
32849         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
32850         function; instead check whether isnan with a 'long double' argument
32851         links.
32852         Reported by Eric Blake <ebb9@byu.net>.
32853
32854 2007-02-24  Bruno Haible  <bruno@clisp.org>
32855
32856         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
32857         defined.
32858         * lib/isnanl.c: Remove all code. Just include isnan.c.
32859         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
32860
32861 2007-02-25  Jim Meyering  <jim@meyering.net>
32862
32863         Avoid conflicting types for 'unsetenv' on FreeBSD.
32864         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
32865         conflicting with FreeBSD's (5.0 and 6.1) function declaration
32866         in stdlib.h.
32867
32868 2007-02-24  Bruno Haible  <bruno@clisp.org>
32869
32870         * modules/isnanl-nolibm-tests: New file.
32871         * tests/test-isnanl.c: New file.
32872
32873         * modules/isnanl-nolibm: New file.
32874         * lib/isnanl.h: New file.
32875         * lib/isnanl.c: New file.
32876         * m4/isnanl.m4: New file.
32877
32878 2007-02-24  Bruno Haible  <bruno@clisp.org>
32879
32880         * modules/isnan-nolibm-tests: New file.
32881         * tests/test-isnan.c: New file.
32882
32883         * modules/isnan-nolibm: New file.
32884         * lib/isnan.h: New file.
32885         * lib/isnan.c: New file.
32886         * m4/isnan.m4: New file.
32887
32888 2007-02-24  Bruno Haible  <bruno@clisp.org>
32889
32890         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
32891         assume that an exponent fits in 20 bits.
32892
32893 2007-02-24  Jim Meyering  <jim@meyering.net>
32894
32895         * m4/regex.m4: Update the description of the configure-time option,
32896         --without-included-regex, to state accurately what the defaults are,
32897         and perhaps to give people an idea why using this option is risky.
32898
32899 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
32900
32901         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
32902         loops on small arguments.  This attempts to avoid the problem
32903         Bruno Haible reported for AIX 4.3.2 in
32904         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
32905
32906 2007-02-23  Bruno Haible  <bruno@clisp.org>
32907
32908         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
32909         Needed for help2man.
32910
32911 2007-02-23  Karl Berry  <karl@gnu.org>
32912
32913         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
32914         exists, foo.h should be cvs-ignored, not committed.
32915
32916 2007-02-23  Eric Blake  <ebb9@byu.net>
32917
32918         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
32919         * lib/stat-time.h (includes): Likewise.
32920         * lib/utimecmp.c (includes): Likewise.
32921         * lib/utimens.h (includes): Likewise.
32922         * lib/getdate.y (includes): Also include "timespec.h" for use
32923         internal to the module.
32924         * modules/utimens (Depends-on): Revert yesterday's patch.
32925         * modules/nanosleep (Depends-on): Add missing dependency.
32926
32927 2007-02-22  Bruno Haible  <bruno@clisp.org>
32928
32929         * lib/glob.c: Don't include getlogin_r.h.
32930
32931 2007-02-22  Jim Meyering  <jim@meyering.net>
32932
32933         * modules/utimens (Depends-on): Add timespec, required for
32934         utimens.h's inclusion of timespec.h.
32935
32936 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
32937
32938         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
32939         long unreadable paths in GNU/Linux.  Problem reported by Andreas
32940         Schwab in
32941         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
32942         I'll try to think of a better way to fix the Solaris problem.
32943
32944         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
32945         like glibc; on Solaris 10, it fails with errno == EINVAL.
32946         POSIX says the behavior is unspecified if the first argument is NULL,
32947         so play it safe and never pass NULL to the system getcwd.
32948
32949 2007-02-21  Jim Meyering  <jim@meyering.net>
32950
32951         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
32952         of gettimeofday.  It would conflict with the one now always
32953         provided via sys_time_.h.  Reported by Matthew Woehlke, as
32954         an IRIX 6.5 build failure.
32955
32956 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
32957
32958         Minor fixups to port to Solaris 10 with Sun C 5.8.
32959         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
32960         * modules/getcwd (Depends-on): Add dirfd.
32961         * lib/putenv.c (putenv): #undef it.
32962         (rpl_putenv): New decl.
32963         (malloc, free): Include <stdlib.h> rather than prototyping separately.
32964
32965 2007-02-20  Bruno Haible  <bruno@clisp.org>
32966
32967         * modules/stdio-tests: New file.
32968         * tests/test-stdio.c: New file.
32969
32970         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
32971         (Depends-on): Add stdio.
32972         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
32973         (Include): Use <stdio.h> instead of vsnprintf.h.
32974         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
32975         HAVE_DECL_VSNPRINTF.
32976         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
32977
32978         * modules/snprintf (Files): Remove lib/snprintf.h.
32979         (Depends-on): Add stdio.
32980         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
32981         (Include): Use <stdio.h> instead of snprintf.h.
32982         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
32983         HAVE_DECL_SNPRINTF.
32984         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
32985         * lib/getaddrinfo.c: Likewise.
32986
32987         * modules/stdio: New file.
32988         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
32989         * lib/snprintf.h: Remove file.
32990         * lib/vsnprintf.h: Remove file.
32991         * lib/.cppi-disable: Remove snprintf.h.
32992         * m4/stdio_h.m4: New file.
32993         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
32994
32995 2007-02-20  Jim Meyering  <jim@meyering.net>
32996
32997         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
32998         used by e.g., mingw.  From Bruno Haible.
32999
33000 2007-02-19  Bruno Haible  <bruno@clisp.org>
33001
33002         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
33003         warnings.
33004         Reported by Ben Pfaff <blp@cs.stanford.edu>.
33005
33006 2007-02-19  Bruno Haible  <bruno@clisp.org>
33007
33008         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
33009         from mingw users.
33010
33011 2007-02-19  Bruno Haible  <bruno@clisp.org>
33012
33013         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
33014         warnings.
33015         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
33016
33017 2007-02-19  Jim Meyering  <jim@meyering.net>
33018
33019         Don't use FD after a successful "fdopendir (fd)".
33020         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
33021         Reset it by calling dirfd on the just-obtained DIR*.
33022
33023         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
33024         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
33025
33026 2007-02-18  Bruno Haible  <bruno@clisp.org>
33027
33028         * lib/readlink.c: Include <unistd.h>.
33029         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
33030         HAVE_READLINK.
33031         * modules/readlink (Depends-on): Add unistd.
33032         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
33033         (Include): Add <unistd.h>.
33034
33035         * lib/getlogin_r.h: Remove file.
33036         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
33037         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
33038         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
33039         HAVE_DECL_GETLOGIN_R.
33040         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
33041         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
33042         (Include): Use <unistd.h> instead of getlogin_r.h.
33043
33044         * lib/getcwd.h: Remove file.
33045         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
33046         * lib/xgetcwd.c: Likewise.
33047         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
33048         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
33049         * modules/getcwd (Files): Remove lib/getcwd.h.
33050         (Depends-on): Add unistd.
33051         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
33052         (Include): Use <unistd.h> instad of getcwd.h.
33053
33054         * lib/ftruncate.c: Include <unistd.h> first.
33055         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
33056         Set HAVE_FTRUNCATE.
33057         * modules/ftruncate (Depends-on): Add unistd.
33058         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
33059
33060         * lib/fchdir.c: Include <unistd.h> first.
33061         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
33062         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
33063         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
33064         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
33065         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
33066
33067         * lib/dup2.c: Include <unistd.h> first.
33068         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
33069         HAVE_DUP2.
33070         * modules/dup2 (Depends-on): Add unistd.
33071         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
33072
33073         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
33074         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
33075         REPLACE_CHOWN. Don't define chown as a macro here.
33076         * modules/chown (Depends-on): Add unistd.
33077         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
33078
33079         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
33080         Add definition for GL_LINK_WARNING.
33081         (chown, dup2): New declarations.
33082         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
33083         link warning.
33084         (ftruncate): New declaration.
33085         (getcwd): New declaration, taken from old getcwd.h.
33086         (getlogin_r): New declaration, taken from old getlogin_r.h.
33087         (readlink): New declaration.
33088         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
33089         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
33090         (gl_PREREQ_UNISTD): Remove macro.
33091         (gl_UNISTD_MODULE_INDICATOR): New macro.
33092         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
33093         many new variables. Don't set UNISTD_H.
33094         * modules/unistd (Description): Change.
33095         (Depends-on): Add link-warning.
33096         (configure.ac): Update.
33097         (Makefile.am): Create unistd.h always. Substitute many new variables
33098         into it.
33099
33100 2007-02-18  Bruno Haible  <bruno@clisp.org>
33101
33102         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
33103         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
33104         HAVE_GETSUBOPT.
33105         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
33106         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
33107         * lib/getsubopt.h: Remove file.
33108         * modules/getsubopt (Files): Remove lib/getsubopt.h.
33109         (Depends-on): Add stdlib.
33110         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
33111         (Includes): Use <stdlib.h> instead of getsubopt.h.
33112         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
33113         Set HAVE_GETSUBOPT.
33114         * lib/getsubopt.c: Don't include getsubopt.h.
33115
33116 2007-02-18  Bruno Haible  <bruno@clisp.org>
33117
33118         * modules/fchdir (Depends-on): Add dup2.
33119
33120 2007-02-18  Bruno Haible  <bruno@clisp.org>
33121
33122         * lib/stdlib_.h: Handle glibc's special invocation convention
33123         specially.
33124
33125 2007-02-18  Bruno Haible  <bruno@clisp.org>
33126
33127         * modules/stdlib-tests: New file.
33128         * tests/test-stdlib.c: New file.
33129
33130         * modules/mkstemp (Files): Remove lib/mkstemp.h.
33131         (Depends-on): Add stdlib.
33132         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
33133         (Includes): Use <stdlib.h> instead of mkstemp.h.
33134         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
33135         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
33136         * lib/mkstemp.c: Don't include mkstemp.h.
33137         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
33138         * lib/stdlib--.h: Don't include mkstemp.h.
33139
33140         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
33141         (Depends-on): Add stdlib.
33142         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
33143         (Includes): Use <stdlib.h> instead of mkdtemp.h.
33144         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
33145         HAVE_MKDTEMP.
33146         * lib/mkdtemp.c: Don't include mkdtemp.h.
33147         * lib/clean-temp.c: Don't include mkdtemp.h.
33148
33149         * modules/exit (Files): Remove lib/exit.h.
33150         (Depends-on): Add stdlib.
33151         (Makefile.am): Remove lib_SOURCES.
33152         (Include): Use <stdlib.h> instead of exit.h.
33153         * lib/argmatch.c: Don't include exit.h.
33154         * lib/execute.c: Likewise.
33155         * lib/pagealign_alloc.c: Likewise.
33156         * lib/pipe.c: Likewise.
33157         * lib/wait-process.c: Likewise.
33158         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
33159         * lib/exitfail.c: Likewise.
33160         * lib/savewd.c: Likewise.
33161         * lib/xsetenv.c: Likewise.
33162
33163         * modules/stdlib: New file.
33164         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
33165         and extra comments about mkstemp().
33166         * lib/exit.h: Remove file.
33167         * lib/mkdtemp.h: Remove file.
33168         * lib/mkstemp.h: Remove file.
33169         * m4/stdlib_h.m4: New file.
33170         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
33171
33172 2007-02-18  Bruno Haible  <bruno@clisp.org>
33173
33174         * modules/math-tests: New file.
33175         * tests/test-math.c: New file.
33176
33177         * modules/math: New file.
33178         * modules/mathl (Files): Remove lib/mathl.h.
33179         (Depends-on): Add math.
33180         (Makefile.am): Don't mention mathl.h.
33181         (Include): Use <math.h> instead of mathl.h.
33182         * lib/math_.h: New file.
33183         * lib/mathl.h: Remove file.
33184         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
33185         mathl.h.
33186         * lib/asinl.c: Likewise.
33187         * lib/atanl.c: Likewise.
33188         * lib/ceill.c: Likewise.
33189         * lib/cosl.c: Likewise.
33190         * lib/expl.c: Likewise.
33191         * lib/floorl.c: Likewise.
33192         * lib/frexpl.c: Likewise.
33193         * lib/ldexpl.c: Likewise.
33194         * lib/logl.c: Likewise.
33195         * lib/sincosl.c: Likewise.
33196         * lib/sinl.c: Likewise.
33197         * lib/sqrtl.c: Likewise.
33198         * lib/tanl.c: Likewise.
33199         * lib/trigl.c: Likewise.
33200         * m4/math_h.m4: New file.
33201         * MODULES.html.sh (Mathematics): Add math.
33202
33203 2007-02-17  Bruno Haible  <bruno@clisp.org>
33204
33205         * modules/wctype-tests: New file.
33206         * tests/test-wctype.c: New file.
33207
33208         * modules/wchar-tests: New file.
33209         * tests/test-wchar.c: New file.
33210
33211         * modules/unistd-tests: New file.
33212         * tests/test-unistd.c: New file.
33213
33214         * modules/time-tests: New file.
33215         * tests/test-time.c: New file.
33216
33217         * modules/sysexits-tests: New file.
33218         * tests/test-sysexits.c: New file.
33219
33220         * modules/sys_time-tests: New file.
33221         * tests/test-sys_time.c: New file.
33222
33223         * modules/sys_stat-tests: New file.
33224         * tests/test-sys_stat.c: New file.
33225
33226         * modules/sys_socket-tests: New file.
33227         * tests/test-sys_socket.c: New file.
33228
33229         * modules/sys_select-tests: New file.
33230         * tests/test-sys_select.c: New file.
33231
33232         * modules/string-tests: New file.
33233         * tests/test-string.c: New file.
33234
33235         * modules/stdbool-tests: New file.
33236         * tests/test-stdbool.c: New file.
33237
33238         * modules/netinet_in-tests: New file.
33239         * tests/test-netinet_in.c: New file.
33240
33241         * modules/inttypes-tests: New file.
33242         * tests/test-inttypes.c: New file.
33243
33244         * modules/fcntl-tests: New file.
33245         * tests/test-fcntl.c: New file.
33246
33247         * modules/byteswap-tests: New file.
33248         * tests/test-byteswap.c: New file.
33249
33250         * modules/arpa_inet-tests: New file.
33251         * tests/test-arpa_inet.c: New file.
33252
33253 2007-02-17  Bruno Haible  <bruno@clisp.org>
33254
33255         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
33256         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
33257         if the corresponding module is not enabled. Emit link warnings if
33258         the function is used nevertheless.
33259         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
33260         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
33261         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
33262         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
33263         * modules/inttypes (Depends-on): Add link-warning.
33264         (Makefile.am): Copy the contents of build-aux/link-warning.h into
33265         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
33266         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
33267         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
33268         * modules/imaxdiv (configure.ac): Likewise.
33269         * modules/strtoimax (configure.ac): Likewise.
33270         * modules/strtoumax (configure.ac): Likewise.
33271
33272 2007-02-17  Bruno Haible  <bruno@clisp.org>
33273
33274         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
33275         gl_STRING_MODULE_INDICATOR_DEFAULTS.
33276         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
33277         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
33278
33279 2007-02-17  Bruno Haible  <bruno@clisp.org>
33280
33281         * modules/link-warning: New file.
33282         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
33283         * lib/string_.h (GL_LINK_WARNING): Remove definition.
33284         * modules/string (Depends-on): Add link-warning.
33285         (Makefile.am): Copy the contents of build-aux/link-warning.h into
33286         string.h.
33287         * MODULES.html.sh (Support for building libraries and executables): Add
33288         link-warning.
33289
33290 2007-02-17  Bruno Haible  <bruno@clisp.org>
33291
33292         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
33293         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
33294         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
33295         long lines.
33296
33297 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
33298             Bruno Haible  <bruno@clisp.org>
33299
33300         * modules/tmpfile: New file.
33301         * lib/tmpfile.c: New file.
33302         * m4/tmpfile.m4: New file.
33303         * MODULES.html.sh (func_all_modules): New section "Input/output".
33304
33305 2007-02-15  Bruno Haible  <bruno@clisp.org>
33306
33307         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
33308         (supports_delete_on_close): New function.
33309         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
33310
33311 2007-02-14  Bruno Haible  <bruno@clisp.org>
33312
33313         * modules/mbspcasecmp-tests: New file.
33314         * tests/test-mbspcasecmp.sh: New file.
33315         * tests/test-mbspcasecmp.c: New file.
33316
33317         New module mbspcasecmp.
33318         * modules/mbspcasecmp: New file.
33319         * lib/mbspcasecmp.c: New file.
33320         * lib/string_.h (strncasecmp): Change warning message.
33321         (mbspcasecmp): New declaration.
33322         * m4/mbspcasecmp.m4: New file.
33323         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
33324         GNULIB_MBSPCASECMP.
33325         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
33326         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
33327
33328 2007-02-14  Bruno Haible  <bruno@clisp.org>
33329
33330         * modules/mbsncasecmp-tests: New file.
33331         * tests/test-mbsncasecmp.sh: New file.
33332         * tests/test-mbsncasecmp.c: New file.
33333
33334         New module mbsncasecmp.
33335         * modules/mbsncasecmp: New file.
33336         * lib/mbsncasecmp.c: New file.
33337         * lib/string_.h (mbsncasecmp): New declaration.
33338         * m4/mbsncasecmp.m4: New file.
33339         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
33340         GNULIB_MBSNCASECMP.
33341         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
33342         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
33343
33344 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
33345
33346         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
33347         Verify that it doesn't overlap with our flags.
33348         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
33349         do not have the desired effect in multibyte locales; instead, use
33350         mbscasecmp.
33351         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
33352         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
33353         we don't require GNU fnmatch ourselves (if our users require it, they
33354         should do so explicitly).
33355
33356         Fix regex code so it doesn't rely on strcasecmp.
33357         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
33358         Otherwise, include gnulib's langinfo.h.
33359         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
33360         undesirable behavior in non-C locales.  Instead, rely on localecharset.
33361         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
33362         * modules/regex (FILES): Remove m4/codeset.m4.
33363         (Depends-on): Add localcharset.  Remove strcase.
33364
33365 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33366
33367         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
33368         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
33369
33370 2007-02-13  Bruno Haible  <bruno@clisp.org>
33371
33372         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
33373         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33374
33375 2007-02-12  Bruno Haible  <bruno@clisp.org>
33376
33377         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
33378         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
33379         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
33380         time warning rather than a link error.
33381
33382 2007-02-12  Bruno Haible  <bruno@clisp.org>
33383
33384         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
33385         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
33386         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33387
33388 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
33389
33390         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
33391         args, not 2.
33392
33393 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
33394
33395         New module 'time', so that apps can include <time.h> as per
33396         POSIX and GNU instead of separate include files like time_r.h
33397         and timegm.h.  This implementation tries out a simpler approach
33398         for replacing decls in standard include files (as compared to
33399         the string module), somewhat as an experiment.
33400
33401         * config/srclist.txt: Comment out mktime.c for now.
33402         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
33403         since it doesn't apply any more.  Use generic wording instead.
33404         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
33405         'time'.
33406         * lib/time_.h, m4/time_h.m4, modules/time: New files.
33407         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
33408         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
33409         Don't include <sys/types.h>; no longer needed since we assume C89.
33410         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
33411         * lib/strftime.c: Likewise.
33412         * lib/time_r.c: Likewise.
33413         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
33414         * lib/nanosleep.c: Include <time.h> first, to check interface.
33415         * lib/strptime.c: Likewise.
33416         * lib/time_r.c: Likewise.
33417         * lib/timegm.c: Likewise.
33418         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
33419         needed.
33420         * lib/timegm.c: Don't include timegm.h; no longer needed.
33421         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
33422         time.h now handles any problems in that area.
33423         (struct timespec, nanosleep): Remove; time.h now arranges for these.
33424         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
33425         that time.h defines struct timespec.
33426         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
33427         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
33428         handles that.
33429         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
33430         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
33431         needed.  Set REPLACE_LOCALTIME.
33432         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
33433         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
33434         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
33435         nanosleep; time_h.m4 now does that.  Don't require
33436         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
33437         module handles this now.
33438         * modules/getdate (Depends-on): Remove timespec.  Add time.
33439         * modules/nanosleep (Depends-on): Likewise.
33440         * modules/stat-time (Depends-on): Likewise.
33441         * modules/nanosleep (Include): Include time.h, not timespec.h.
33442         * modules/strptime (Files): Remove lib/strptime.h.
33443         (Depends-on): Add extensions, time.
33444         (Include): Include time.h, not strptime.h.
33445         * modules/time_r (Files): Remove lib/time_r.h.
33446         (Depends-on): Add time.
33447         (Include): Include time.h, not time_r.h.
33448         * modules/timegm: Likewise.
33449         * modules/timespec (Description): Now does timespec-related decls
33450         of our own, instead of struct timespec itself.
33451         (Depends-on): Add time; remove extensions.
33452         (Maintainer): Add self.
33453         * modules/utimecmp (Depends-on): Add time; remove timespec.
33454         * modules/utimens (Depends-on): Likewise.
33455         * modules/xnanosleep (Depends-on): Likewise.
33456
33457 2007-02-11  Bruno Haible  <bruno@clisp.org>
33458
33459         * lib/c-strstr.c: Include allocsa.h.
33460         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
33461         * lib/c-strcasestr.c: Include allocsa.h.
33462         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
33463         * lib/strcasestr.c: Include allocsa.h.
33464         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
33465         * lib/mbsstr.c: Include allocsa.h.
33466         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
33467         allocsa/freesa instead of malloc/free.
33468         * lib/mbscasestr.c: Include allocsa.h.
33469         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
33470         allocsa/freesa instead of malloc/free.
33471         * modules/c-strstr (Depends-on): Add allocsa.
33472         * modules/c-strcasestr (Depends-on): Likewise.
33473         * modules/strcasestr (Depends-on): Likewise.
33474         * modules/mbsstr (Depends-on): Likewise.
33475         * modules/mbscasestr (Depends-on): Likewise.
33476
33477 2007-02-11  Bruno Haible  <bruno@clisp.org>
33478
33479         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
33480
33481         * modules/mbsspn-tests: New file.
33482         * tests/test-mbsspn.sh: New file.
33483         * tests/test-mbsspn.c: New file.
33484
33485 2007-02-11  Bruno Haible  <bruno@clisp.org>
33486
33487         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
33488
33489         * modules/mbspbrk-tests: New file.
33490         * tests/test-mbspbrk.sh: New file.
33491         * tests/test-mbspbrk.c: New file.
33492
33493 2007-02-11  Bruno Haible  <bruno@clisp.org>
33494
33495         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
33496         unneeded cast.
33497
33498         * modules/mbscspn-tests: New file.
33499         * tests/test-mbscspn.sh: New file.
33500         * tests/test-mbscspn.c: New file.
33501
33502 2007-02-11  Bruno Haible  <bruno@clisp.org>
33503
33504         * modules/mbscasecmp-tests: New file.
33505         * tests/test-mbscasecmp.sh: New file.
33506         * tests/test-mbscasecmp.c: New file.
33507
33508 2007-02-11  Bruno Haible  <bruno@clisp.org>
33509
33510         Ensure O(n) worst-case complexity of mbscasestr.
33511         * lib/mbscasestr.c: Include stdbool.h.
33512         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
33513         functions.
33514         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
33515         the bookkeeping indicates that it's worth it.
33516         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
33517
33518         * modules/mbscasestr-tests: New file.
33519         * tests/test-mbscasestr1.c: New file.
33520         * tests/test-mbscasestr2.sh: New file.
33521         * tests/test-mbscasestr2.c: New file.
33522         * tests/test-mbscasestr3.sh: New file.
33523         * tests/test-mbscasestr3.c: New file.
33524         * tests/test-mbscasestr4.sh: New file.
33525         * tests/test-mbscasestr4.c: New file.
33526         * m4/locale-tr.m4: New file.
33527
33528 2007-02-11  Bruno Haible  <bruno@clisp.org>
33529
33530         Ensure O(n) worst-case complexity of mbsstr.
33531         * lib/mbsstr.c: Include stdbool.h.
33532         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
33533         functions.
33534         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
33535         bookkeeping indicates that it's worth it.
33536         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
33537
33538         * modules/mbsstr-tests: New file.
33539         * tests/test-mbsstr1.c: New file.
33540         * tests/test-mbsstr2.sh: New file.
33541         * tests/test-mbsstr2.c: New file.
33542         * tests/test-mbsstr3.sh: New file.
33543         * tests/test-mbsstr3.c: New file.
33544         * m4/locale-fr.m4: New file.
33545
33546 2007-02-11  Bruno Haible  <bruno@clisp.org>
33547
33548         * lib/mbsrchr.c (mbsrchr): Fix bug.
33549
33550         * modules/mbsrchr-tests: New file.
33551         * tests/test-mbsrchr.sh: New file.
33552         * tests/test-mbsrchr.c: New file.
33553
33554 2007-02-11  Bruno Haible  <bruno@clisp.org>
33555
33556         * lib/mbschr.c (mbschr): Fix bug.
33557
33558         * modules/mbschr-tests: New file.
33559         * tests/test-mbschr.sh: New file.
33560         * tests/test-mbschr.c: New file.
33561         * m4/locale-zh.m4: New file.
33562
33563 2007-02-11  Bruno Haible  <bruno@clisp.org>
33564
33565         Support for copying multibyte string iterators.
33566         * lib/mbiter.h: Include <string.h>.
33567         (mbiter_multi_copy): New function.
33568         (mbi_copy): New macro.
33569         * lib/mbuiter.h: Include <string.h>.
33570         (mbuiter_multi_copy): New function.
33571         (mbui_copy): New macro.
33572
33573 2007-02-11  Bruno Haible  <bruno@clisp.org>
33574
33575         New module mbslen.
33576         * modules/mbslen: New file.
33577         * lib/mbslen.c: New file.
33578         * lib/string_.h (mbslen): New declaration.
33579         * m4/mbslen.m4: New file.
33580         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
33581         GNULIB_MBSLEN.
33582         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
33583         * MODULES.html.sh (Internationalization functions): Add mbslen.
33584
33585 2007-02-11  Bruno Haible  <bruno@clisp.org>
33586
33587         Ensure O(n) worst-case complexity of strcasestr substitute.
33588         * lib/strcasestr.c: Include stdbool.h.
33589         (knuth_morris_pratt): New function.
33590         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
33591         bookkeeping indicates that it's worth it.
33592         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
33593
33594         * modules/strcasestr-tests: New file.
33595         * tests/test-strcasestr.c: New file.
33596
33597 2007-02-11  Bruno Haible  <bruno@clisp.org>
33598
33599         Ensure O(n) worst-case complexity of c_strcasestr.
33600         * lib/c-strcasestr.c: Include stdbool.h, string.h.
33601         (knuth_morris_pratt): New function.
33602         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
33603         the bookkeeping indicates that it's worth it.
33604         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
33605
33606         * modules/c-strcasestr-tests: New file.
33607         * tests/test-c-strcasestr.c: New file.
33608
33609 2007-02-11  Bruno Haible  <bruno@clisp.org>
33610
33611         Ensure O(n) worst-case complexity of c_strstr.
33612         * lib/c-strstr.c: Include stdbool.h, string.h.
33613         (knuth_morris_pratt): New function.
33614         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
33615         bookkeeping indicates that it's worth it.
33616         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
33617
33618         * lib/c-strstr.c: Complete rewrite for maintainability.
33619
33620         * modules/c-strstr-tests: New file.
33621         * tests/test-c-strstr.c: New file.
33622
33623 2007-02-11  Bruno Haible  <bruno@clisp.org>
33624
33625         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
33626         5.2.1 and earlier, whereby \055 was treated just like the range
33627         delimiter '-'.
33628         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
33629
33630 2007-02-08  Bruno Haible  <bruno@clisp.org>
33631
33632         * modules/regex (Depends-on): Add stdbool.
33633         Reported by Dalibor Topic <robilad@kaffe.org>.
33634
33635 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
33636
33637         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
33638         Prefer returning from main to exiting from it.
33639         Remove unnecessary parens after sizeof.
33640
33641 2007-02-05  Bruno Haible  <bruno@clisp.org>
33642
33643         New module mbssep.
33644         * modules/mbssep: New file.
33645         * lib/mbssep.c: New file.
33646         * lib/string_.h (strsep): Add a conditional link warning.
33647         (mbssep): New declaration.
33648         * m4/mbssep.m4: New file.
33649         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
33650         GNULIB_MBSSEP.
33651         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
33652         * MODULES.html.sh (Internationalization functions): Add mbssep.
33653
33654 2007-02-05  Bruno Haible  <bruno@clisp.org>
33655
33656         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
33657         Optimize search in case of 1 delimiter.
33658
33659 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
33660
33661         * lib/acl.h: Include sys/types.h before sys/acl.h.
33662
33663 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
33664
33665         Merge upstream fix for glibc bugzilla #3957:
33666
33667         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
33668
33669         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
33670         bit for RE_HAT_LISTS_NOT_NEWLINE.
33671         (build_charclass_op): Remove bogus comment.
33672
33673 2007-02-05  Simon Josefsson  <simon@josefsson.org>
33674
33675         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
33676
33677 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
33678
33679         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
33680         * lib/memmem.c [!defined _LIBC]: Include config.h.
33681
33682 2007-02-04  Bruno Haible  <bruno@clisp.org>
33683
33684         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
33685         warning message.
33686
33687 2007-02-04  Bruno Haible  <bruno@clisp.org>
33688
33689         New module mbstok_r.
33690         * modules/mbstok_r: New file.
33691         * lib/mbstok_r.c: New file.
33692         * lib/string_.h (strtok_r): Change argument names to match the
33693         comments. Add a conditional link warning.
33694         (mbstok_r): New declaration.
33695         * m4/mbstok_r.m4: New file.
33696         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
33697         GNULIB_MBSTOK_R.
33698         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
33699         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
33700
33701 2007-02-04  Bruno Haible  <bruno@clisp.org>
33702
33703         New module mbsspn.
33704         * modules/mbsspn: New file.
33705         * lib/mbsspn.c: New file.
33706         * lib/string_.h (strspn): Add a conditional link warning.
33707         (mbsspn): New declaration.
33708         * m4/mbsspn.m4: New file.
33709         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
33710         GNULIB_MBSSPN.
33711         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
33712         * MODULES.html.sh (Internationalization functions): Add mbsspn.
33713
33714 2007-02-04  Bruno Haible  <bruno@clisp.org>
33715
33716         New module mbspbrk.
33717         * modules/mbspbrk: New file.
33718         * lib/mbspbrk.c: New file.
33719         * lib/string_.h (strpbrk): Add a conditional link warning.
33720         (mbspbrk): New declaration.
33721         * m4/mbspbrk.m4: New file.
33722         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
33723         GNULIB_MBSPBRK.
33724         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
33725         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
33726
33727 2007-02-04  Bruno Haible  <bruno@clisp.org>
33728
33729         New module mbscspn.
33730         * modules/mbscspn: New file.
33731         * lib/mbscspn.c: New file.
33732         * lib/string_.h (strcspn): Add a conditional link warning.
33733         (mbscspn): New declaration.
33734         * m4/mbscspn.m4: New file.
33735         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
33736         GNULIB_MBSCSPN.
33737         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
33738         * MODULES.html.sh (Internationalization functions): Add mbscspn.
33739
33740 2007-02-04  Bruno Haible  <bruno@clisp.org>
33741
33742         New module mbscasestr, reduced goal of strcasestr.
33743         * modules/mbscasestr: New file.
33744         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
33745         (mbscasestr): Renamed from strcasestr.
33746         * lib/strcasestr.c: Don't include mbuiter.h.
33747         (strcasestr): Remove support for multibyte locales.
33748         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
33749         Change the conditional link warning.
33750         (mbscasestr): New declaration.
33751         * m4/mbscasestr.m4: New file.
33752         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
33753         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
33754         REPLACE_STRCASESTR.
33755         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
33756         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
33757         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
33758         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
33759         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
33760         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
33761         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
33762         (Depends-on): Remove mbuiter.
33763         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
33764
33765 2007-02-04  Bruno Haible  <bruno@clisp.org>
33766
33767         Simplify handling of strncasecmp.
33768         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
33769         the conditional link warning.
33770         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
33771         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
33772         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
33773         * modules/strcase (configure.ac): Don't invoke
33774         gl_STRING_MODULE_INDICATOR.
33775         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
33776
33777 2007-02-04  Bruno Haible  <bruno@clisp.org>
33778
33779         New module mbscasecmp, reduced goal of strcasecmp.
33780         * modules/mbscasecmp: New file.
33781         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
33782         (mbscasecmp): Renamed from strcasecmp.
33783         * lib/strcasecmp.c: Don't include mbuiter.h.
33784         (strcasecmp): Remove support for multibyte locales.
33785         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
33786         Change the conditional link warning.
33787         (mbscasecmp): New declaration.
33788         * m4/mbscasecmp.m4: New file.
33789         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
33790         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
33791         REPLACE_STRCASECMP.
33792         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
33793         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
33794         GNULIB_MBSCASECMP.
33795         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
33796         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
33797         * modules/strcase (Files): Remove m4/mbrtowc.m4.
33798         (Depends-on): Remove mbuiter.
33799         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
33800
33801 2007-02-04  Bruno Haible  <bruno@clisp.org>
33802
33803         New module mbsstr. Remove module strstr.
33804         * modules/mbsstr: New file.
33805         * modules/strstr: Remove file.
33806         * lib/mbsstr.c: Renamed from lib/strstr.c.
33807         (mbsstr): Renamed from strstr.
33808         * lib/string_.h (strstr): Remove declaration. Change the conditional
33809         link warning.
33810         (mbsstr): New declaration.
33811         * m4/mbsstr.m4: New file.
33812         * m4/strstr.m4: Remove file.
33813         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
33814         REPLACE_STRSTR.
33815         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
33816         Don't initialize GNULIB_STRSTR.
33817         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
33818         substitute GNULIB_STRSTR and REPLACE_STRSTR.
33819         * MODULES.html.sh (Internationalization functions): Add mbsstr.
33820         (Support for systems lacking ANSI C 89): Remove strstr.
33821
33822 2007-02-04  Bruno Haible  <bruno@clisp.org>
33823
33824         New module mbsrchr.
33825         * modules/mbsrchr: New file.
33826         * lib/mbsrchr.c: New file.
33827         * lib/string_.h (strrchr): Add a conditional link warning.
33828         (mbsrchr): New declaration.
33829         * m4/mbsrchr.m4: New file.
33830         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
33831         GNULIB_MBSRCHR.
33832         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
33833         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
33834
33835 2007-02-04  Bruno Haible  <bruno@clisp.org>
33836
33837         New module mbschr.
33838         * modules/mbschr: New file.
33839         * lib/mbschr.c: New file.
33840         * lib/string_.h (strchr): Add a conditional link warning.
33841         (mbschr): New declaration.
33842         * m4/mbschr.m4: New file.
33843         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
33844         GNULIB_MBSCHR.
33845         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
33846         * MODULES.html.sh (Internationalization functions): Add mbschr.
33847
33848 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
33849
33850         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
33851
33852         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
33853
33854 2007-02-04  Bruno Haible  <bruno@clisp.org>
33855
33856         New module description section 'configure.ac-early'.
33857         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
33858         (func_get_autoconf_early_snippet): New function.
33859         (func_import, func_create_testdir): Use it. Remove special cases for
33860         modules 'extensions' and 'lock'.
33861         * modules/extensions (configure.ac-early): Require
33862         gl_USE_SYSTEM_EXTENSIONS.
33863         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
33864
33865 2007-02-04  Bruno Haible  <bruno@clisp.org>
33866
33867         Make use of gcj-4.3's -fsource and -ftarget option.
33868         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
33869         and if so try the options -fsource and -ftarget.
33870         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
33871         source_version, ftarget_option, target_version arguments.
33872         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
33873         (is_envjavac_oldgcj_14_14_usable): Renamed from
33874         is_envjavac_gcj_14_14_usable.
33875         (is_envjavac_oldgcj_14_13_usable): Renamed from
33876         is_envjavac_gcj_14_13_usable.
33877         (is_gcj_present): Update.
33878         (is_gcj_43, is_gcj43_usable): New functions.
33879         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
33880         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
33881         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
33882         try the options -fsource and -ftarget.
33883
33884 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
33885
33886         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
33887         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
33888         larger value.
33889
33890 2007-02-03  Jim Meyering  <jim@meyering.net>
33891
33892         Give tools a better chance to allocate space for very large buffers.
33893         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
33894
33895         Make pwd and readlink work also when run with an unreadable parent dir
33896         on systems with openat support.
33897         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
33898         provided getcwd function, even when we have openat support.
33899         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
33900
33901 2007-02-02  Bruno Haible  <bruno@clisp.org>
33902
33903         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
33904         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
33905         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
33906         portability problems if one of these functions is only used on specific
33907         platforms.
33908         Reported by Paul Eggert.
33909
33910 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
33911
33912         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
33913         is causing more trouble than it's curing.
33914         * lib/regex_internal.h (__mempcpy): Remove.
33915         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
33916         (and make the code a tad smaller to boot).
33917         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
33918
33919 2007-02-02  Jim Meyering  <jim@meyering.net>
33920
33921         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
33922         section, not in the Makefile.am: one.
33923
33924 2007-02-02  Eric Blake  <ebb9@byu.net>
33925
33926         * lib/strchrnul.c: Always include config.h first.
33927
33928         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
33929         gnulib strstr is not necessary here.
33930
33931 2007-02-02  Simon Josefsson  <simon@josefsson.org>
33932
33933         * m4/socklen.m4: Fix typo.
33934
33935 2007-02-02  Eric Blake  <ebb9@byu.net>
33936
33937         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
33938         * modules/netinet_in (Makefile.am): Likewise.
33939
33940 2007-02-01  Bruno Haible  <bruno@clisp.org>
33941
33942         * lib/string_.h (GL_LINK_WARNING): New macro.
33943         (strcasecmp, strstr, strcasestr): If provided by the system,
33944         conditionally define as a macro that leads to a warning instead of to
33945         an error.
33946         (strncasecmp): Conditionally define as a macro that leads to a warning.
33947
33948 2007-02-01  Karl Berry  <karl@gnu.org>
33949
33950         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
33951
33952 2007-02-01  Bruno Haible  <bruno@clisp.org>
33953
33954         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
33955         renamings.
33956
33957 2007-02-01  Eric Blake  <ebb9@byu.net>
33958
33959         * modules/regex (Depends-on): Revert dependence on mempcpy.
33960         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
33961         module's definition of mempcpy.
33962         Reported by Paul Eggert.
33963
33964 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
33965
33966         * lib/string_.h: If the gnulib module XYZ is not present, undefine
33967         the symbol XYZ before redefining it.  This fixes a problem with
33968         programs that don't use XYZ, when compiled on systems that define
33969         XYZ to something else.
33970
33971 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
33972
33973         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
33974         occurs when "mkdir -m foo" creates a setgid directory that is (1)
33975         writeable to group or other and (2) is intended to have a special
33976         mode bit that is set or cleared.  In such a case, the directory
33977         should be neither group- nor other-writeable until the special
33978         mode bits are right.
33979
33980 2007-01-31  Eric Blake  <ebb9@byu.net>
33981
33982         * modules/mountlist (Depends-on): Add strstr.
33983
33984         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
33985         bug.
33986         * modules/string (Makefile.am): Remove redundant replacement.
33987         * modules/regex (Depends-on): Add mempcpy.
33988
33989 2007-01-31  Bruno Haible  <bruno@clisp.org>
33990
33991         New module description field 'Link'.
33992         * gnulib-tool (func_usage): Document --extract-link-directive.
33993         (sed_extract_prog): Recognize 'Link' directive.
33994         (func_get_link_directive): New function.
33995         (func_import): Show summary of link directives.
33996         Handle --extract-link-directive option.
33997         * modules/acl (Link): New section.
33998         * modules/clock-time (Link): New section.
33999         * modules/euidaccess (Link): New section.
34000         * modules/gettext (Link): New section.
34001         * modules/iconv (Link): New section.
34002         * modules/lock (Link): New section.
34003         * modules/nanosleep (Link): New section.
34004         * modules/readline (Link): New section.
34005
34006 2007-01-27  Bruno Haible  <bruno@clisp.org>
34007
34008         Enforce the use of gnulib modules for unportable <string.h> functions.
34009         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
34010         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
34011         (gl_HEADER_STRING_H_BODY): Require it.
34012         * lib/string_.h: If the gnulib module XYZ is not present, redefine
34013         the symbol XYZ to one that gives a link error.
34014         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
34015         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
34016         * modules/mempcpy (configure.ac): Likewise.
34017         * modules/memrchr (configure.ac): Likewise.
34018         * modules/stpcpy (configure.ac): Likewise.
34019         * modules/stpncpy (configure.ac): Likewise.
34020         * modules/strcase (configure.ac): Likewise.
34021         * modules/strcasestr (configure.ac): Likewise.
34022         * modules/strchrnul (configure.ac): Likewise.
34023         * modules/strdup (configure.ac): Likewise.
34024         * modules/strndup (configure.ac): Likewise.
34025         * modules/strnlen (configure.ac): Likewise.
34026         * modules/strpbrk (configure.ac): Likewise.
34027         * modules/strsep (configure.ac): Likewise.
34028         * modules/strstr (configure.ac): Likewise.
34029         * modules/strtok_r (configure.ac): Likewise.
34030
34031 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
34032
34033         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
34034
34035 2007-01-30  Jim Meyering  <jim@meyering.net>
34036
34037         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
34038
34039 2007-01-29  Bruno Haible  <bruno@clisp.org>
34040
34041         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
34042         * lib/execute.c: Likewise.
34043         * lib/pipe.c: Likewise.
34044         * lib/printf-args.h: Likewise.
34045         * lib/printf-args.c: Likewise.
34046         * lib/printf-parse.c: Likewise.
34047         * lib/vasnprintf.c: Likewise.
34048
34049 2007-01-29  Eric Blake  <ebb9@byu.net>
34050
34051         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
34052         declaration.
34053
34054 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
34055
34056         * lib/strptime.h (strptime): Use 'restrict' for args where
34057         POSIX requires this.
34058         * lib/strptime.c (strptime): Likewise.
34059         Change license notice from LGPL to GPL, since gnulib-tool will
34060         change this as needed.
34061         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
34062         defined.
34063         Include "strptime.h" first, to check interface.
34064         Do not #undef _LIBC and _NL_CURRENT.
34065         Do not include <stdlib.h>; no longer needed.
34066         Include "time_r.h" and declare ptime_locale_status
34067         only if _LIBC is not defined.
34068         (__P): Remove unused macro.
34069         (match_string): Bring back glibc version, but use it only if _LIBC
34070         is defined.
34071         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
34072         Remove unnecessary assertion and abort() call.
34073         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
34074         * m4/strptime.m4: Fix serial number comment.
34075         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
34076         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
34077         (Depends-on): Add time_r.
34078
34079 2007-01-29  Bruno Haible  <bruno@clisp.org>
34080
34081         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
34082         strptime.
34083         * modules/strptime (Depends-on): Add stdbool.
34084         * lib/strptime.h: Include <time.h> always. Add comments.
34085
34086 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
34087
34088         * modules/strptime: New file.
34089         * lib/strptime.h: New file.
34090         * lib/strptime.c: New file.
34091         * m4/strptime.m4: New file.
34092
34093 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
34094
34095         * MODULES.html.sh: New module mpsort.
34096         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
34097
34098         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
34099         a circularity problem with HP-UX ia64 reported by Bob Proulx in
34100         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
34101         All uses changed.
34102         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
34103         All uses changed.
34104         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
34105         to _Restrict_.
34106         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
34107         the parameter matches the prototype.
34108
34109 2007-01-28  Jim Meyering  <jim@meyering.net>
34110
34111         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
34112         sys/time.h here, reverting that part of the previous patch:
34113         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
34114
34115 2007-01-28  Bruno Haible  <bruno@clisp.org>
34116
34117         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
34118         value of $(SYS_TIME_H).
34119         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
34120         remove it conditionally, too. [added by Jim Meyering]
34121         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
34122         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
34123         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
34124         GETTIMEOFDAY_REPLACEMENT to 1.
34125
34126 2007-01-28  Bruno Haible  <bruno@clisp.org>
34127
34128         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
34129         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
34130         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
34131         Set UNISTD_H instead of UNISTD_H2.
34132         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
34133
34134 2007-01-28  Bruno Haible  <bruno@clisp.org>
34135
34136         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
34137         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
34138
34139 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34140
34141         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
34142         (func_create_testdir): Ensure C locale for `grep' and `tr'
34143         character ranges.
34144         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
34145         ACLOCAL_AMFLAGS parsing state machine.
34146
34147 2007-01-27  Bruno Haible  <bruno@clisp.org>
34148
34149         * modules/unistr/base: Update.
34150
34151 2007-01-27  Bruno Haible  <bruno@clisp.org>
34152
34153         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
34154         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
34155         * modules/unistr/u32-mbtouc-unsafe: Renamed from
34156         modules/unistr/u32-mbtouc.
34157         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
34158         * lib/unistr.h: Update.
34159         * lib/linebreak.c: Update.
34160         * modules/unistr/u32-mbtouc: Renamed from
34161         modules/unistr/u32-mbtouc-safe.
34162         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
34163         * lib/unistr.h: Update.
34164         * lib/unistr/u32-to-u8.c: Update.
34165         * lib/unistr/u32-to-u16.c: Update.
34166
34167 2007-01-27  Bruno Haible  <bruno@clisp.org>
34168
34169         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
34170         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
34171         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
34172         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
34173         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
34174         * modules/unistr/u16-mbtouc-unsafe: Renamed from
34175         modules/unistr/u16-mbtouc.
34176         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
34177         * lib/unistr.h: Update.
34178         * lib/linebreak.c: Update.
34179         * modules/linebreak: Update.
34180         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
34181         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
34182         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
34183         * modules/unistr/u16-mbtouc: Renamed from
34184         modules/unistr/u16-mbtouc-safe.
34185         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
34186         * lib/unistr.h: Update.
34187         * lib/unistr/u16-to-u8.c: Update.
34188         * modules/unistr/u16-to-u8: Update.
34189         * lib/unistr/u16-to-u32.c: Update.
34190         * modules/unistr/u16-to-u32: Update.
34191
34192 2007-01-27  Bruno Haible  <bruno@clisp.org>
34193
34194         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
34195         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
34196         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
34197         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
34198         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
34199         * modules/unistr/u8-mbtouc-unsafe: Renamed from
34200         modules/unistr/u8-mbtouc.
34201         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
34202         * lib/unistr.h: Update.
34203         * lib/striconveh.c: Update.
34204         * modules/striconveh: Update.
34205         * lib/linebreak.c: Update.
34206         * modules/linebreak: Update.
34207         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
34208         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
34209         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
34210         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
34211         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
34212         * lib/unistr.h: Update.
34213         * lib/striconveh.c: Update.
34214         * modules/striconveh: Update.
34215         * lib/unistr/u8-to-u16.c: Update.
34216         * modules/unistr/u8-to-u16: Update.
34217         * lib/unistr/u8-to-u32.c: Update.
34218         * modules/unistr/u8-to-u32: Update.
34219
34220 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34221
34222         Sync from Libtool.
34223         * lib/argz.c: Do not include strings.h nor memory.h, include
34224         string.h unconditionally.  Patch by Simon Josefsson.
34225
34226 2007-01-27  Bruno Haible  <bruno@clisp.org>
34227
34228         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
34229         from gl_HEADER_STRING_H_BODY.
34230         (gl_HEADER_STRING_H_BODY): Require it.
34231         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
34232         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
34233         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
34234         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
34235         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
34236         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
34237         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
34238         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
34239         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
34240         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
34241         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
34242         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
34243         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
34244         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
34245         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
34246
34247 2007-01-27  Bruno Haible  <bruno@clisp.org>
34248
34249         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
34250         check_PROGRAMS into noinst_PROGRAMS.
34251         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
34252         check_PROGRAMS in this case.
34253         (func_import): Set for_test to false.
34254         (func_create_testdir): Set for_test to true.
34255
34256 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
34257             Bruno Haible  <bruno@clisp.org>
34258
34259         * modules/strcasestr (Files): Remove lib/strcasestr.h.
34260         (Depends-on): Add string.
34261         (Includes): Use <string.h> instead of strcasestr.h.
34262         * modules/string (Makefile.am): Also substitute the value of
34263         REPLACE_STRCASESTR.
34264         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
34265         assume strcasestr is declared in <string.h> not <strings.h>. Also
34266         set REPLACE_STRCASESTR.
34267         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
34268         REPLACE_STRCASESTR.
34269         * lib/strcasestr.h: Remove file.
34270         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
34271         * lib/string_.h (strcasestr): New declaration.
34272
34273 2007-01-27  Bruno Haible  <bruno@clisp.org>
34274
34275         * lib/string_.h: Use 'extern'.
34276
34277 2007-01-27  Jim Meyering  <jim@meyering.net>
34278
34279         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
34280         of set-but-not-used local, "q".
34281
34282         * lib/mempcpy.c: Include <config.h> before <string.h>.
34283         This fixes a compilation error on HP-UX, due to the system's
34284         "restrict"-using mempcpy prototype.
34285
34286 2007-01-26  Bruno Haible  <bruno@clisp.org>
34287
34288         Small optimization.
34289         * lib/javacomp.c: Include c-strstr.h.
34290          (is_envjavac_gcj): Use c_strstr instead of strstr.
34291         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
34292
34293 2007-01-26  Bruno Haible  <bruno@clisp.org>
34294
34295         * MODULES.html.sh (Unicode string functions): Add the new modules.
34296
34297         * modules/uniconv/u32-strconv-to-locale: New file.
34298         * lib/uniconv/u32-strconv-to-locale.c: New file.
34299
34300         * modules/uniconv/u16-strconv-to-locale: New file.
34301         * lib/uniconv/u16-strconv-to-locale.c: New file.
34302
34303         * modules/uniconv/u8-strconv-to-locale: New file.
34304         * lib/uniconv/u8-strconv-to-locale.c: New file.
34305
34306         * modules/uniconv/u32-strconv-from-locale: New file.
34307         * lib/uniconv/u32-strconv-from-locale.c: New file.
34308
34309         * modules/uniconv/u16-strconv-from-locale: New file.
34310         * lib/uniconv/u16-strconv-from-locale.c: New file.
34311
34312         * modules/uniconv/u8-strconv-from-locale: New file.
34313         * lib/uniconv/u8-strconv-from-locale.c: New file.
34314
34315         * modules/uniconv/u32-strconv-to-enc: New file.
34316         * lib/uniconv/u32-strconv-to-enc.c: New file.
34317         * modules/uniconv/u32-strconv-to-enc-tests: New file.
34318         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
34319
34320         * modules/uniconv/u16-strconv-to-enc: New file.
34321         * lib/uniconv/u16-strconv-to-enc.c: New file.
34322         * lib/uniconv/u-strconv-to-enc.h: New file.
34323         * modules/uniconv/u16-strconv-to-enc-tests: New file.
34324         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
34325
34326         * modules/uniconv/u8-strconv-to-enc: New file.
34327         * lib/uniconv/u8-strconv-to-enc.c: New file.
34328         * modules/uniconv/u8-strconv-to-enc-tests: New file.
34329         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
34330
34331         * modules/uniconv/u32-strconv-from-enc: New file.
34332         * lib/uniconv/u32-strconv-from-enc.c: New file.
34333         * modules/uniconv/u32-strconv-from-enc-tests: New file.
34334         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
34335
34336         * modules/uniconv/u16-strconv-from-enc: New file.
34337         * lib/uniconv/u16-strconv-from-enc.c: New file.
34338         * modules/uniconv/u16-strconv-from-enc-tests: New file.
34339         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
34340
34341         * modules/uniconv/u8-strconv-from-enc: New file.
34342         * lib/uniconv/u8-strconv-from-enc.c: New file.
34343         * lib/uniconv/u-strconv-from-enc.h: New file.
34344         * modules/uniconv/u8-strconv-from-enc-tests: New file.
34345         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
34346
34347         * modules/uniconv/u32-conv-from-enc: New file.
34348         * lib/uniconv/u32-conv-from-enc.c: New file.
34349         * modules/uniconv/u32-conv-from-enc-tests: New file.
34350         * tests/uniconv/test-u32-conv-from-enc.c: New file.
34351
34352         * modules/uniconv/u16-conv-from-enc: New file.
34353         * lib/uniconv/u16-conv-from-enc.c: New file.
34354         * lib/uniconv/u-conv-from-enc.h: New file.
34355         * modules/uniconv/u16-conv-from-enc-tests: New file.
34356         * tests/uniconv/test-u16-conv-from-enc.c: New file.
34357
34358         * modules/uniconv/u8-conv-from-enc: New file.
34359         * lib/uniconv/u8-conv-from-enc.c: New file.
34360         * modules/uniconv/u8-conv-from-enc-tests: New file.
34361         * tests/uniconv/test-u8-conv-from-enc.c: New file.
34362
34363         * modules/uniconv/base: New file.
34364         * lib/uniconv.h: New file.
34365
34366 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
34367
34368         * doc/gnulib-tool.texi (Initial import): Update to match current
34369         behavior with strdup module.
34370         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
34371         * lib/memmem.h: Remove; all uses removed.  This is now done
34372         by <string.h>.
34373         * lib/mempcpy.h: Likewise.
34374         * lib/memrchr.h: Likewise.
34375         * lib/stpcpy.h: Likewise.
34376         * lib/stpncpy.h: Likewise.
34377         * lib/strcase.h: Likewise.
34378         * lib/strchrnul.h: Likewise.
34379         * lib/strdup.h: Likewise.
34380         * lib/strndup.h: Likewise.
34381         * lib/strnlen.h: Likewise.
34382         * lib/strpbrk.h: Likewise.
34383         * lib/strsep.h: Likewise.
34384         * lib/strstr.h: Likewise.
34385         * lib/strtok_r.h: Likewise.
34386         * lib/string_.h: New file.
34387         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
34388         Rely on <string.h> instead.
34389         * lib/canon-host.c: Likewise.
34390         * lib/chdir-long.c: Likewise.
34391         * lib/concatpath.c: Likewise.
34392         * lib/exclude.c: Likewise.
34393         * lib/fchdir.c: Likewise.
34394         * lib/getaddrinfo.c: Likewise.
34395         * lib/getcwd.c: Likewise.
34396         * lib/getsubopt.c: Likewise.
34397         * lib/glob.c: Likewise.
34398         * lib/hard-locale.c: Likewise.
34399         * lib/iconvme.c: Likewise.
34400         * lib/javacomp.c: Likewise.
34401         * lib/mempcpy.c: Likewise.
34402         * lib/memrchr.c: Likewise.
34403         * lib/regex_internal.h: Likewise.
34404         * lib/stpncpy.c: Likewise.
34405         * lib/strcasecmp.c: Likewise.
34406         * lib/strchrnul.c: Likewise.
34407         * lib/strdup.c: Likewise.
34408         * lib/striconv.c: Likewise.
34409         * lib/striconveh.c: Likewise.
34410         * lib/striconveha.c: Likewise.
34411         * lib/strncasecmp.c: Likewise.
34412         * lib/strndup.c: Likewise.
34413         * lib/strnlen.c: Likewise.
34414         * lib/strsep.c: Likewise.
34415         * lib/strstr.c: Likewise.
34416         * lib/strtok_r.c: Likewise.
34417         * lib/userspec.c: Likewise.
34418         * lib/w32spawn.h: Likewise.
34419         * lib/xstrndup.c: Likewise.
34420         * lib/mountlist.c (strstr): Remove decl.
34421         * m4/string_h.m4: New file.
34422         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
34423         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
34424         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
34425         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
34426         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
34427         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
34428         Set REPLACE_STRCASECMP if necessary.
34429         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
34430         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
34431         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
34432         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
34433         HAVE_DECL_STRDUP if necessary.
34434         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
34435         since gl_FUNC_STRNDUP does that now.
34436         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
34437         Check for decl here...
34438         (gl_PREREQ_STRNLEN): ... not here.
34439         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
34440         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
34441         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
34442         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
34443         necessary.
34444         * modules/string: New file.
34445         * modules/memmem (Files): Remove special-purpose include file.
34446         (Depends-on): Add string.
34447         (Include): Include <string.h>, not the removed file.
34448         * modules/mempcpy: Likewise.
34449         * modules/memrchr: Likewise.
34450         * modules/stpcpy: Likewise.
34451         * modules/stpncpy: Likewise.
34452         * modules/strcase: Likewise.
34453         * modules/strchrnul: Likewise.
34454         * modules/strdup: Likewise.
34455         * modules/strndup: Likewise.
34456         * modules/strnlen: Likewise.
34457         * modules/strpbrk: Likewise.
34458         * modules/strsep: Likewise.
34459         * modules/strstr: Likewise.
34460         * modules/strtok_r: Likewise.
34461         * tests/test-dirname.c: Don't include "strdup.h", since
34462         <string.h> now suffices.
34463         * tests/test-memmem.c: Don't include "memmem.h", since
34464         <string.h> now suffices.
34465
34466 2007-01-25  Bruno Haible  <bruno@clisp.org>
34467
34468         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
34469         *resultp is 0.
34470
34471         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
34472         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
34473         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
34474         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
34475
34476         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
34477         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
34478         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
34479         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
34480         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
34481         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
34482
34483 2007-01-24  Bruno Haible  <bruno@clisp.org>
34484
34485         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
34486         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
34487         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
34488         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
34489         gl_FUNC_FTS_CORE.
34490         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
34491         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
34492         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
34493         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
34494         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
34495         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
34496         gl_FUNC_FCHOWNAT.
34497         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
34498         gl_FUNC_STRFTIME.
34499         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
34500         Reported by Ralf Wildenhues.
34501
34502 2007-01-24  Bruno Haible  <bruno@clisp.org>
34503
34504         Drop AC_REQUIRE calls that are redundant with the module dependencies.
34505         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
34506         gl_GETADDRINFO.
34507         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
34508         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
34509         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
34510
34511 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
34512
34513         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
34514         Don't use 'exit'; just return from 'main'.
34515         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
34516
34517         * lib/fnmatch_.h: Readjust white space and comments to match
34518         glibc, to avoid spurious diffs.
34519
34520 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
34521
34522         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
34523         2004-12-01 change by Jakub Jelinek, since this code won't compile
34524         if !LIBC.  Problem reported by Bob Proulx.
34525
34526 2007-01-23  Bruno Haible  <bruno@clisp.org>
34527
34528         * lib/striconveh.c: Include c-strcaseeq.h.
34529         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
34530         * modules/striconveh (Depends-on): Add c-strcaseeq.
34531
34532 2007-01-23  Bruno Haible  <bruno@clisp.org>
34533
34534         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
34535
34536         * modules/c-strcaseeq: New file.
34537         * lib/c-strcaseeq.h: New file.
34538
34539         * modules/streq: New file.
34540         * lib/streq.h: New file.
34541
34542 2007-01-23  Bruno Haible  <bruno@clisp.org>
34543
34544         * modules/striconveha-tests: New file.
34545         * tests/test-striconveha.c: New file.
34546
34547         * lib/striconveha.h: Include <stdbool.h>.
34548         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
34549         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
34550         (mem_iconveha_notranslit): Renamed from mem_iconveha.
34551         (mem_iconveha): New function.
34552         (str_iconveha_notranslit): Renamed from str_iconveha.
34553         (str_iconveha): New function.
34554         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
34555         c-strcase.
34556
34557 2007-01-23  Bruno Haible  <bruno@clisp.org>
34558
34559         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
34560         encodings without forgiving before trying any encoding with handler.
34561         (str_iconveha): Try all encodings without forgiving before trying any
34562         encoding with handler.
34563
34564 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
34565
34566         Import the following changes from libc.
34567
34568         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
34569
34570         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
34571
34572         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
34573
34574         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
34575         normal_bracket label.
34576
34577         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
34578
34579         [BZ #361]
34580         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
34581         to normal_bracket after fetching the next character.
34582
34583 2007-01-22  Bruno Haible  <bruno@clisp.org>
34584
34585         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
34586         argument.
34587         * lib/striconveh.c (iconv_carefully_1): New function.
34588         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
34589         argument.
34590         (str_cd_iconveh): Update.
34591         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
34592         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
34593         * tests/test-striconveh.c (MAGIC): New macro.
34594         (new_offsets): New function.
34595         (main): Test call with and without offsets.
34596
34597 2007-01-22  Bruno Haible  <bruno@clisp.org>
34598
34599         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
34600         * modules/sys_select (Makefile.am): Likewise.
34601         * modules/sys_socket (Makefile.am): Likewise.
34602         * modules/sys_time (Makefile.am): Likewise.
34603
34604 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
34605
34606         * modules/gettimeofday (License): Change from GPL to LGPL, since
34607         gettimeofday is a library function.
34608
34609 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34610
34611         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
34612
34613 2007-01-21  Bruno Haible  <bruno@clisp.org>
34614
34615         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
34616
34617 2007-01-21  Bruno Haible  <bruno@clisp.org>
34618
34619         * modules/striconveha: New file.
34620         * lib/striconveha.h: New file.
34621         * lib/striconveha.c: New file.
34622         * MODULES.html.sh (Internationalization functions): Add striconveha.
34623         * lib/striconv.c (str_iconv): Optimize the case of an empty input
34624         string.
34625         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
34626
34627 2007-01-21  Bruno Haible  <bruno@clisp.org>
34628
34629         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
34630         * lib/striconveh.c (str_iconveh): Likewise.
34631
34632 2007-01-21  Bruno Haible  <bruno@clisp.org>
34633
34634         * lib/striconveh.h (mem_iconveh): New declaration.
34635         * lib/striconveh.c (mem_iconveh): New function.
34636         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
34637
34638 2007-01-21  Bruno Haible  <bruno@clisp.org>
34639
34640         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
34641
34642         * lib/striconveh.h (mem_cd_iconveh): Change specification.
34643         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
34644         original result buffer.
34645         (str_cd_iconveh): Update.
34646         * tests/test-striconveh.c (main): Update.
34647
34648         * lib/striconv.h (mem_cd_iconv): Change specification.
34649         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
34650         result buffer.
34651         (str_cd_iconv): Update.
34652         * tests/test-striconv.c (main): Update.
34653
34654 2007-01-21  Bruno Haible  <bruno@clisp.org>
34655
34656         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
34657
34658 2007-01-20  Jim Meyering  <jim@meyering.net>
34659
34660         * lib/userspec.c (parse_with_separator): If a user or group string
34661         starts with "+", skip the corresponding name-to-ID look-up, since
34662         such a look-up must fail: user and group names may not include "+".
34663
34664 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
34665
34666         * lib/poll.c: Include sys/time.h and time.h unconditionally,
34667         since we now assume the sys_time module.
34668         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
34669         check for sys/time.h; no longer needed.
34670         * modules/poll (Depends-on): Depend on sys_time.
34671
34672 2007-01-18  Bruno Haible  <bruno@clisp.org>
34673
34674         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
34675         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
34676
34677         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
34678         gettimeofday.
34679
34680         * tests/test-gettimeofday.c: Include <time.h>.
34681         (dummy): Remove variable.
34682
34683         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
34684         gl_HEADER_SYS_TIME_H.
34685         (gl_HEADER_SYS_TIME_H): New macro.
34686
34687         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
34688         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
34689         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
34690         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
34691         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
34692         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
34693         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
34694         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
34695         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
34696         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
34697         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
34698
34699         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
34700         last change; it caused a compilation error when cross-compiling to
34701         Cygwin.
34702
34703 2007-01-18  Jim Meyering  <jim@meyering.net>
34704
34705         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
34706         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
34707         than the race-prone "test -d sys || mkdir sys".
34708         (configure.ac): Use AC_PROG_MKDIR_P.
34709         * modules/sys_select: Likewise.
34710         * modules/sys_socket: Likewise.
34711         * modules/sys_time: Likewise.
34712
34713 2007-01-18  Eric Blake  <ebb9@byu.net>
34714
34715         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
34716         replace gettimeofday.
34717         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
34718         name, to avoid infinite recursion.
34719
34720 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
34721
34722         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
34723         module sys_time.
34724         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
34725         assume timespec.h defines struct timeval.
34726         * lib/settime.c: Likewise.
34727         * lib/utimens.c: Likewise.
34728         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
34729         since we now assume the gettimeofday module.
34730         * lib/tempname.c (__gen_tempname): Likewise.
34731         * lib/gettimeofday.h: Remove.
34732         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
34733         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
34734         Include <time.h>, for 'time()'.
34735         (localtime_buffer_addr): Also use this workaround if
34736         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
34737         to simplify the uses.  All uses changed.
34738         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
34739         that #undef is inside {}, and 'const' follows type name consistently.
34740         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
34741         (gettimeofday): Do not use the maximum possible value for
34742         tv->tv_usec, since that might break usages other than ls.c.
34743         Instead, we'll leave ls.c alone.  This undoes today's patch
34744         by Bruno.  Add a compile-time warning for 1s-clock resolution;
34745         we've never observed the problem but might as well keep the
34746         canary.
34747         * lib/nanosleep.c: Include timespec.h first, for interface check.
34748         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
34749         now assume the sys_time module.
34750         * lib/tempname.c: Likewise.
34751         * lib/timespec.h: Likewise.
34752         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
34753         needed.
34754         * lib/strftime.c: Likewise.
34755         * lib/timespec.h: Likewise.
34756         * lib/posixtm.c: Include posixtm.h first, for interface check.
34757         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
34758         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
34759         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
34760         * lib/sys_time_.h: New file.
34761         * lib/timespec.h (struct timespec): Use long int, not long.
34762         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
34763         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
34764         Remove obsolescent call to AC_HEADER_TIME.
34765         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
34766         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
34767         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
34768         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
34769         Likewise.
34770         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
34771         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
34772         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
34773         into the sys_time module.  Check for gettimeofday just once.
34774         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
34775         for gettimeofday signature to just check the signature.  Merely
34776         compile it, since linking doesn't test signature.  Improve test for
34777         whether gettimeofday.o is actually needed.
34778         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
34779         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
34780         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
34781         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
34782         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
34783         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
34784         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
34785         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
34786         than worrying about sys/time.h.
34787         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
34788         Don't bother worrying about TIME_WITH_SYS_TIME.
34789         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
34790         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
34791         * m4/sys_time_h.m4: New file.
34792         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
34793         Don't include sys/time.h.  Return from main rather than exiting.
34794         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
34795         all uses changed.
34796         * modules/gethrxtime (Depends-on): Add sys_time.
34797         * modules/gettime (Depends-on): Likewise.
34798         * modules/gettimeofday (Depends-on): Likewise.
34799         * modules/nanosleep (Depends-on): Likewise.
34800         * modules/settime (Depends-on): Likewise.
34801         * modules/tempname (Depends-on): Likewise.
34802         * modules/utimens (Depends-on): Likewise.
34803         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
34804         (Include:) Change back to <sys/time.h>.
34805         (Maintainer:) Add self.
34806         * modules/sys_time: New file.
34807         * modules/tempname (Depends-on): Add gettimeofday.
34808         * tests/test-gettimeofday.c: Include <sys/time.h>
34809         rather than gettimeofday.h.
34810
34811 2007-01-17  Bruno Haible  <bruno@clisp.org>
34812
34813         * gnulib-tool (func_get_license): Revert last patch. Instead, let
34814         the license default to GPL.
34815         (func_create_testdir): Don't complain if a module is LGPL and its
34816         tests module depends on GPLed modules.
34817
34818 2007-01-17  Bruno Haible  <bruno@clisp.org>
34819
34820         * lib/gettimeofday.c (gettimeofday): Add code for the case
34821         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
34822         maximum possible value for tv->tv_usec, rather than the minimum one.
34823
34824 2005-10-08  Martin Lambers  <marlam@marlam.de>
34825 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
34826 2007-01-16  Bruno Haible  <bruno@clisp.org>
34827
34828         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
34829         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
34830         gl_FUNC_GETTIMEOFDAY.
34831         (Include): Add gettimeofday.h.
34832         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
34833         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
34834         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
34835         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
34836         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
34837         * lib/gettimeofday.h: New file.
34838         * lib/gettimeofday.c: Include <sys/timeb.h>.
34839         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
34840         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
34841         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
34842         fall back on time().
34843
34844         * tests/test-gettimeofday.c: New file.
34845         * modules/gettimeofday-tests: New file.
34846
34847 2007-01-16  Eric Blake  <ebb9@byu.net>
34848
34849         * modules/fnmatch (Depends-on): Depend on wchar.
34850         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
34851         * m4/fnmatch.m4: Likewise.
34852         * modules/mbchar (Makefile.am): Assume <wchar.h>.
34853         * m4/mbchar.m4: Likewise.
34854         * modules/mbswidth (Depends-on): Depend on wchar.
34855         * lib/mbswidth.c: Assume <wchar.h>.
34856         * m4/mbswidth.m4: Likewise.
34857         * modules/quotearg (Depends-on): Depend on wchar.
34858         * lib/quotearg.c: Assume <wchar.h>.
34859         * m4/quotearg.m4: Likewise.
34860         * modules/regex (Depends-on): Depend on wchar.
34861         * lib/regex_internal.h: Assume <wchar.h>.
34862         * m4/regex.m4: Likewise.
34863         * modules/stdint (Depends-on): Depend on wchar.
34864         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
34865         * m4/stdint.m4: Likewise.
34866         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
34867         * modules/strftime (Depends-on): Depend on wchar.
34868         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
34869         * modules/strtol (Depends-on): Depend on wchar.
34870         * lib/strtol.c: Assume <wchar.h>.
34871         * modules/wcwidth (Depends-on): Depend on wchar.
34872         * lib/wcwidth.h: Assume <wchar.h>.
34873         * m4/wcwidth.m4: Likewise.
34874
34875 2007-01-16  Bruno Haible  <bruno@clisp.org>
34876
34877         * modules/csharpexec-script: New, created from...
34878         * modules/csharpexec: ... this.
34879
34880 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
34881
34882         * modules/javaexec-script: New, created from...
34883         * modules/javaexec: ... this.
34884
34885 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34886
34887         * modules/poll (Dependencies): Add sys_select.
34888
34889 2007-01-15  Jim Meyering  <jim@meyering.net>
34890
34891         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
34892         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
34893         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
34894         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
34895
34896 2007-01-15  Bruno Haible  <bruno@clisp.org>
34897
34898         * modules/striconveh: New file.
34899         * lib/striconveh.h: New file.
34900         * lib/striconveh.c: New file.
34901         * MODULES.html.sh (Internationalization functions): Add striconveh.
34902
34903         * modules/striconveh-tests: New file.
34904         * tests/test-striconveh.c: New file.
34905
34906 2007-01-15  Bruno Haible  <bruno@clisp.org>
34907
34908         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
34909         not from GNU libiconv or GNU libc.
34910
34911 2007-01-15  Bruno Haible  <bruno@clisp.org>
34912
34913         * doc/gnulib-intro.texi (Copyright): Explain the different license
34914         terms for module descriptions, autoconf macros, tests, documentation.
34915
34916 2007-01-14  Bruno Haible  <bruno@clisp.org>
34917
34918         * modules/striconv-tests: New file.
34919         * tests/test-striconv.c: New file.
34920
34921 2007-01-14  Bruno Haible  <bruno@clisp.org>
34922
34923         * modules/iconv-tests: New file.
34924         * tests/test-iconv.c: New file.
34925
34926 2007-01-14  Bruno Haible  <bruno@clisp.org>
34927
34928         * gnulib-tool (func_get_license): For test modules, use the license of
34929         the main module.
34930
34931 2007-01-14  Bruno Haible  <bruno@clisp.org>
34932
34933         * modules/iconv (Include): Clarify that <iconv.h> can only be included
34934         if iconv is found to exist.
34935
34936 2007-01-14  Bruno Haible  <bruno@clisp.org>
34937
34938         * modules/c-ctype-tests: New file.
34939         * tests/test-c-ctype.c: New file.
34940
34941 2007-01-14  Bruno Haible  <bruno@clisp.org>
34942
34943         * modules/binary-io-tests: New file.
34944         * tests/test-binary-io.sh: New file.
34945         * tests/test-binary-io.c: New file.
34946
34947 2007-01-14  Bruno Haible  <bruno@clisp.org>
34948
34949         * modules/array-oset-tests: New file.
34950         * tests/test-array_oset.c: New file.
34951
34952 2007-01-14  Bruno Haible  <bruno@clisp.org>
34953
34954         * modules/array-list-tests: New file.
34955         * tests/test-array_list.c: New file.
34956
34957 2007-01-14  Bruno Haible  <bruno@clisp.org>
34958
34959         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
34960         and make.
34961         Reported by Simon Josefsson in
34962         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
34963
34964 2007-01-14  Bruno Haible  <bruno@clisp.org>
34965
34966         * modules/allocsa-tests: New file.
34967         * tests/test-allocsa.c: New file.
34968
34969 2007-01-14  Bruno Haible  <bruno@clisp.org>
34970
34971         * modules/fchdir (Depends-on): Add absolute-header.
34972         * modules/unistd (Depends-on): Likewise.
34973
34974 2006-12-30  Bruno Haible  <bruno@clisp.org>
34975
34976         * modules/fchdir: New file.
34977         * modules/unistd (Files): Add lib/unistd_.h.
34978         (Makefile.am): Generate unistd.h from unistd_.h.
34979         * lib/fchdir.c: New file.
34980         * lib/dirent_.h: New file.
34981         * lib/unistd_.h: New file.
34982         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
34983         * m4/fchdir.m4: New file.
34984         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
34985         (gl_HEADER_UNISTD): Invoke it.
34986         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
34987         function.
34988         * lib/backupfile.c (opendir, closedir): Undefine.
34989         * lib/chown.c (open, close): Undefine.
34990         * lib/clean-temp.c (open, close): Undefine.
34991         * lib/copy-file.c (open, close): Undefine.
34992         * lib/execute.c (open, close): Undefine.
34993         * lib/fsusage.c (open, close): Undefine.
34994         * lib/gc-gnulib.c (open, close): Undefine.
34995         * lib/getcwd.c (opendir, closedir): Undefine.
34996         * lib/glob.c (opendir, closedir): Undefine.
34997         * lib/javacomp.c (open, close): Undefine.
34998         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
34999         * lib/openat-proc.c (open, close): Undefine.
35000         * lib/pagealign_alloc.c (open, close): Undefine.
35001         * lib/pipe.c (open, close): Undefine.
35002         * lib/progreloc.c (open, close): Undefine.
35003         * lib/savedir.c (opendir, closedir): Undefine.
35004         * lib/utime.c (open, close): Undefine.
35005         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
35006
35007 2007-01-10  Bruno Haible  <bruno@clisp.org>
35008
35009         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
35010
35011 2007-01-12  Eric Blake  <ebb9@byu.net>
35012
35013         Provide a robust <wchar.h>.  Further simplifications are now
35014         possible in other modules, but not included here.
35015         * modules/wchar: New module.
35016         * m4/wchar.m4: New file.
35017         * lib/wchar_.h: Likewise.
35018         * modules/mbchar (Depends-on): Depend on wchar, as the first use
35019         of the new module.
35020         * MODULES.html.sh (Extended multibyte and wide character utilities):
35021         New section.
35022
35023 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
35024
35025         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
35026         to a reasonable default for memory allocation.
35027         (xreadlink): Don't allocate a huge buffer, to work around a buggy
35028         file system that reports garbage st_size values for symlinks.
35029         Problem reported by Liyang Hu.
35030
35031 2007-01-11  Simon Josefsson  <simon@josefsson.org>
35032
35033         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
35034         Emacs .#* auto-save files).
35035
35036 2007-01-11  Bruno Haible  <bruno@clisp.org>
35037
35038         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
35039         directory.
35040
35041 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
35042
35043         Use @...@ consistently in lib/wctype_.h.
35044         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
35045         on it being set to 1 or 0.
35046         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
35047         go back to AC_SUBSTing it.
35048         * modules/wctype (Makefile.am): Undo previous change.
35049
35050 2007-01-10  Eric Blake  <ebb9@byu.net>
35051
35052         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
35053         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
35054         * modules/wctype (Makefile.am): Likewise.
35055         Reported by Chris McGuire.
35056
35057 2007-01-10  Jim Meyering  <jim@meyering.net>
35058
35059         fts.c: a small readability/maintainability improvement
35060         * lib/fts.c (fts_read): Make this code slightly more readable and
35061         maintainable by hoisting the "sp->fts_cur = p" assignments to
35062         immediately follow the statements that set P.  Derived from
35063         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
35064
35065 2007-01-10  Eric Blake  <ebb9@byu.net>
35066
35067         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
35068         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
35069         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
35070         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
35071         Reported by Chris McGuire.
35072
35073 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35074
35075         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
35076         in sed script.
35077
35078 2007-01-09  Bruno Haible  <bruno@clisp.org>
35079
35080         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
35081         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
35082         variables.
35083         (func_module): Use them.
35084
35085 2007-01-09  Bruno Haible  <bruno@clisp.org>
35086
35087         * modules/unistr/base: New file.
35088         * lib/unistr.h: New file.
35089
35090         * modules/unistr/u8-to-u16: New file.
35091         * lib/unistr/u8-to-u16.c: New file.
35092
35093         * modules/unistr/u8-to-u32: New file.
35094         * lib/unistr/u8-to-u32.c: New file.
35095
35096         * modules/unistr/u16-to-u8: New file.
35097         * lib/unistr/u16-to-u8.c: New file.
35098
35099         * modules/unistr/u16-to-u32: New file.
35100         * lib/unistr/u16-to-u32.c: New file.
35101
35102         * modules/unistr/u32-to-u8: New file.
35103         * lib/unistr/u32-to-u8.c: New file.
35104
35105         * modules/unistr/u32-to-u16: New file.
35106         * lib/unistr/u32-to-u16.c: New file.
35107
35108         * modules/unistr/u8-check: New file.
35109         * modules/unistr/u16-check: New file.
35110         * modules/unistr/u32-check: New file.
35111         * lib/unistr/u8-check.c: New file.
35112         * lib/unistr/u16-check.c: New file.
35113         * lib/unistr/u32-check.c: New file.
35114
35115         * modules/unistr/u8-chr: New file.
35116         * modules/unistr/u16-chr: New file.
35117         * modules/unistr/u32-chr: New file.
35118         * lib/unistr/u8-chr.c: New file.
35119         * lib/unistr/u16-chr.c: New file.
35120         * lib/unistr/u32-chr.c: New file.
35121
35122         * modules/unistr/u8-cmp: New file.
35123         * modules/unistr/u16-cmp: New file.
35124         * modules/unistr/u32-cmp: New file.
35125         * lib/unistr/u8-cmp.c: New file.
35126         * lib/unistr/u16-cmp.c: New file.
35127         * lib/unistr/u32-cmp.c: New file.
35128
35129         * modules/unistr/u8-cpy: New file.
35130         * modules/unistr/u16-cpy: New file.
35131         * modules/unistr/u32-cpy: New file.
35132         * lib/unistr/u8-cpy.c: New file.
35133         * lib/unistr/u16-cpy.c: New file.
35134         * lib/unistr/u32-cpy.c: New file.
35135         * lib/unistr/u-cpy.h: New file.
35136
35137         * modules/unistr/u8-cpy-alloc: New file.
35138         * modules/unistr/u16-cpy-alloc: New file.
35139         * modules/unistr/u32-cpy-alloc: New file.
35140         * lib/unistr/u8-cpy-alloc.c: New file.
35141         * lib/unistr/u16-cpy-alloc.c: New file.
35142         * lib/unistr/u32-cpy-alloc.c: New file.
35143         * lib/unistr/u-cpy-alloc.h: New file.
35144
35145         * modules/unistr/u8-endswith: New file.
35146         * modules/unistr/u16-endswith: New file.
35147         * modules/unistr/u32-endswith: New file.
35148         * lib/unistr/u8-endswith.c: New file.
35149         * lib/unistr/u16-endswith.c: New file.
35150         * lib/unistr/u32-endswith.c: New file.
35151         * lib/unistr/u-endswith.h: New file.
35152
35153         * modules/unistr/u8-mblen: New file.
35154         * modules/unistr/u16-mblen: New file.
35155         * modules/unistr/u32-mblen: New file.
35156         * lib/unistr/u8-mblen.c: New file.
35157         * lib/unistr/u16-mblen.c: New file.
35158         * lib/unistr/u32-mblen.c: New file.
35159
35160         * modules/unistr/u8-mbtouc: New file.
35161         * modules/unistr/u16-mbtouc: New file.
35162         * modules/unistr/u32-mbtouc: New file.
35163         * lib/unistr/u8-mbtouc.c: New file.
35164         * lib/unistr/u16-mbtouc.c: New file.
35165         * lib/unistr/u32-mbtouc.c: New file.
35166
35167         * modules/unistr/u8-mbtouc-safe: New file.
35168         * modules/unistr/u16-mbtouc-safe: New file.
35169         * modules/unistr/u32-mbtouc-safe: New file.
35170         * lib/unistr/u8-mbtouc-safe.c: New file.
35171         * lib/unistr/u16-mbtouc-safe.c: New file.
35172         * lib/unistr/u32-mbtouc-safe.c: New file.
35173
35174         * modules/unistr/u8-move: New file.
35175         * modules/unistr/u16-move: New file.
35176         * modules/unistr/u32-move: New file.
35177         * lib/unistr/u8-move.c: New file.
35178         * lib/unistr/u16-move.c: New file.
35179         * lib/unistr/u32-move.c: New file.
35180         * lib/unistr/u-move.h: New file.
35181
35182         * modules/unistr/u8-next: New file.
35183         * modules/unistr/u16-next: New file.
35184         * modules/unistr/u32-next: New file.
35185         * lib/unistr/u8-next.c: New file.
35186         * lib/unistr/u16-next.c: New file.
35187         * lib/unistr/u32-next.c: New file.
35188
35189         * modules/unistr/u8-prev: New file.
35190         * modules/unistr/u16-prev: New file.
35191         * modules/unistr/u32-prev: New file.
35192         * lib/unistr/u8-prev.c: New file.
35193         * lib/unistr/u16-prev.c: New file.
35194         * lib/unistr/u32-prev.c: New file.
35195
35196         * modules/unistr/u8-set: New file.
35197         * modules/unistr/u16-set: New file.
35198         * modules/unistr/u32-set: New file.
35199         * lib/unistr/u8-set.c: New file.
35200         * lib/unistr/u16-set.c: New file.
35201         * lib/unistr/u32-set.c: New file.
35202         * lib/unistr/u-set.h: New file.
35203
35204         * modules/unistr/u8-startswith: New file.
35205         * modules/unistr/u16-startswith: New file.
35206         * modules/unistr/u32-startswith: New file.
35207         * lib/unistr/u8-startswith.c: New file.
35208         * lib/unistr/u16-startswith.c: New file.
35209         * lib/unistr/u32-startswith.c: New file.
35210         * lib/unistr/u-startswith.h: New file.
35211
35212         * modules/unistr/u8-stpcpy: New file.
35213         * modules/unistr/u16-stpcpy: New file.
35214         * modules/unistr/u32-stpcpy: New file.
35215         * lib/unistr/u8-stpcpy.c: New file.
35216         * lib/unistr/u16-stpcpy.c: New file.
35217         * lib/unistr/u32-stpcpy.c: New file.
35218         * lib/unistr/u-stpcpy.h: New file.
35219
35220         * modules/unistr/u8-stpncpy: New file.
35221         * modules/unistr/u16-stpncpy: New file.
35222         * modules/unistr/u32-stpncpy: New file.
35223         * lib/unistr/u8-stpncpy.c: New file.
35224         * lib/unistr/u16-stpncpy.c: New file.
35225         * lib/unistr/u32-stpncpy.c: New file.
35226         * lib/unistr/u-stpncpy.h: New file.
35227
35228         * modules/unistr/u8-strcat: New file.
35229         * modules/unistr/u16-strcat: New file.
35230         * modules/unistr/u32-strcat: New file.
35231         * lib/unistr/u8-strcat.c: New file.
35232         * lib/unistr/u16-strcat.c: New file.
35233         * lib/unistr/u32-strcat.c: New file.
35234         * lib/unistr/u-strcat.h: New file.
35235
35236         * modules/unistr/u8-strchr: New file.
35237         * modules/unistr/u16-strchr: New file.
35238         * modules/unistr/u32-strchr: New file.
35239         * lib/unistr/u8-strchr.c: New file.
35240         * lib/unistr/u16-strchr.c: New file.
35241         * lib/unistr/u32-strchr.c: New file.
35242
35243         * modules/unistr/u8-strcmp: New file.
35244         * modules/unistr/u16-strcmp: New file.
35245         * modules/unistr/u32-strcmp: New file.
35246         * lib/unistr/u8-strcmp.c: New file.
35247         * lib/unistr/u16-strcmp.c: New file.
35248         * lib/unistr/u32-strcmp.c: New file.
35249
35250         * modules/unistr/u8-strcpy: New file.
35251         * modules/unistr/u16-strcpy: New file.
35252         * modules/unistr/u32-strcpy: New file.
35253         * lib/unistr/u8-strcpy.c: New file.
35254         * lib/unistr/u16-strcpy.c: New file.
35255         * lib/unistr/u32-strcpy.c: New file.
35256         * lib/unistr/u-strcpy.h: New file.
35257
35258         * modules/unistr/u8-strcspn: New file.
35259         * modules/unistr/u16-strcspn: New file.
35260         * modules/unistr/u32-strcspn: New file.
35261         * lib/unistr/u8-strcspn.c: New file.
35262         * lib/unistr/u16-strcspn.c: New file.
35263         * lib/unistr/u32-strcspn.c: New file.
35264         * lib/unistr/u-strcspn.h: New file.
35265
35266         * modules/unistr/u8-strdup: New file.
35267         * modules/unistr/u16-strdup: New file.
35268         * modules/unistr/u32-strdup: New file.
35269         * lib/unistr/u8-strdup.c: New file.
35270         * lib/unistr/u16-strdup.c: New file.
35271         * lib/unistr/u32-strdup.c: New file.
35272         * lib/unistr/u-strdup.h: New file.
35273
35274         * modules/unistr/u8-strlen: New file.
35275         * modules/unistr/u16-strlen: New file.
35276         * modules/unistr/u32-strlen: New file.
35277         * lib/unistr/u8-strlen.c: New file.
35278         * lib/unistr/u16-strlen.c: New file.
35279         * lib/unistr/u32-strlen.c: New file.
35280         * lib/unistr/u-strlen.h: New file.
35281
35282         * modules/unistr/u8-strmblen: New file.
35283         * modules/unistr/u16-strmblen: New file.
35284         * modules/unistr/u32-strmblen: New file.
35285         * lib/unistr/u8-strmblen.c: New file.
35286         * lib/unistr/u16-strmblen.c: New file.
35287         * lib/unistr/u32-strmblen.c: New file.
35288
35289         * modules/unistr/u8-strmbtouc: New file.
35290         * modules/unistr/u16-strmbtouc: New file.
35291         * modules/unistr/u32-strmbtouc: New file.
35292         * lib/unistr/u8-strmbtouc.c: New file.
35293         * lib/unistr/u16-strmbtouc.c: New file.
35294         * lib/unistr/u32-strmbtouc.c: New file.
35295
35296         * modules/unistr/u8-strncat: New file.
35297         * modules/unistr/u16-strncat: New file.
35298         * modules/unistr/u32-strncat: New file.
35299         * lib/unistr/u8-strncat.c: New file.
35300         * lib/unistr/u16-strncat.c: New file.
35301         * lib/unistr/u32-strncat.c: New file.
35302         * lib/unistr/u-strncat.h: New file.
35303
35304         * modules/unistr/u8-strncmp: New file.
35305         * modules/unistr/u16-strncmp: New file.
35306         * modules/unistr/u32-strncmp: New file.
35307         * lib/unistr/u8-strncmp.c: New file.
35308         * lib/unistr/u16-strncmp.c: New file.
35309         * lib/unistr/u32-strncmp.c: New file.
35310
35311         * modules/unistr/u8-strncpy: New file.
35312         * modules/unistr/u16-strncpy: New file.
35313         * modules/unistr/u32-strncpy: New file.
35314         * lib/unistr/u8-strncpy.c: New file.
35315         * lib/unistr/u16-strncpy.c: New file.
35316         * lib/unistr/u32-strncpy.c: New file.
35317         * lib/unistr/u-strncpy.h: New file.
35318
35319         * modules/unistr/u8-strnlen: New file.
35320         * modules/unistr/u16-strnlen: New file.
35321         * modules/unistr/u32-strnlen: New file.
35322         * lib/unistr/u8-strnlen.c: New file.
35323         * lib/unistr/u16-strnlen.c: New file.
35324         * lib/unistr/u32-strnlen.c: New file.
35325         * lib/unistr/u-strnlen.h: New file.
35326
35327         * modules/unistr/u8-strpbrk: New file.
35328         * modules/unistr/u16-strpbrk: New file.
35329         * modules/unistr/u32-strpbrk: New file.
35330         * lib/unistr/u8-strpbrk.c: New file.
35331         * lib/unistr/u16-strpbrk.c: New file.
35332         * lib/unistr/u32-strpbrk.c: New file.
35333         * lib/unistr/u-strpbrk.h: New file.
35334
35335         * modules/unistr/u8-strrchr: New file.
35336         * modules/unistr/u16-strrchr: New file.
35337         * modules/unistr/u32-strrchr: New file.
35338         * lib/unistr/u8-strrchr.c: New file.
35339         * lib/unistr/u16-strrchr.c: New file.
35340         * lib/unistr/u32-strrchr.c: New file.
35341
35342         * modules/unistr/u8-strspn: New file.
35343         * modules/unistr/u16-strspn: New file.
35344         * modules/unistr/u32-strspn: New file.
35345         * lib/unistr/u8-strspn.c: New file.
35346         * lib/unistr/u16-strspn.c: New file.
35347         * lib/unistr/u32-strspn.c: New file.
35348         * lib/unistr/u-strspn.h: New file.
35349
35350         * modules/unistr/u8-strstr: New file.
35351         * modules/unistr/u16-strstr: New file.
35352         * modules/unistr/u32-strstr: New file.
35353         * lib/unistr/u8-strstr.c: New file.
35354         * lib/unistr/u16-strstr.c: New file.
35355         * lib/unistr/u32-strstr.c: New file.
35356         * lib/unistr/u-strstr.h: New file.
35357
35358         * modules/unistr/u8-strtok: New file.
35359         * modules/unistr/u16-strtok: New file.
35360         * modules/unistr/u32-strtok: New file.
35361         * lib/unistr/u8-strtok.c: New file.
35362         * lib/unistr/u16-strtok.c: New file.
35363         * lib/unistr/u32-strtok.c: New file.
35364         * lib/unistr/u-strtok.h: New file.
35365
35366         * modules/unistr/u8-uctomb: New file.
35367         * modules/unistr/u16-uctomb: New file.
35368         * modules/unistr/u32-uctomb: New file.
35369         * lib/unistr/u8-uctomb.c: New file.
35370         * lib/unistr/u16-uctomb.c: New file.
35371         * lib/unistr/u32-uctomb.c: New file.
35372
35373         * MODULES.html.sh (Unicode string functions): Add the new modules.
35374
35375 2007-01-08  Bruno Haible  <bruno@clisp.org>
35376
35377         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
35378         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
35379         subdirectories.
35380
35381 2007-01-08  Karl Berry  <karl@gnu.org>
35382
35383         * doc/error.texi: mention that main() fns must set program_name
35384         when progname is used.
35385
35386 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
35387
35388         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
35389         WCTYPE_H is empty, for the benefit of builds from non-distclean
35390         directories.  Problem reported by Eric Blake in
35391         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
35392
35393 2007-01-08  Bruno Haible  <bruno@clisp.org>
35394
35395         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
35396         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
35397         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
35398         PROVIDE_CANONICALIZE_FILENAME_MODE.
35399         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
35400
35401 2007-01-08  Bruno Haible  <bruno@clisp.org>
35402
35403         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
35404         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
35405         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
35406         * lib/fts.c: Likewise.
35407         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
35408
35409 2006-12-25  Bruno Haible  <bruno@clisp.org>
35410
35411         * modules/utf8-ucs4-safe: New file.
35412         * lib/utf8-ucs4-safe.h: New file.
35413         * lib/unistr/utf8-ucs4-safe.c: New file.
35414
35415         * modules/utf16-ucs4-safe: New file.
35416         * lib/utf16-ucs4-safe.h: New file.
35417         * lib/unistr/utf16-ucs4-safe.c: New file.
35418
35419         * MODULES.html.sh (Unicode string functions): Add the new modules.
35420
35421 2007-01-08  Bruno Haible  <bruno@clisp.org>
35422
35423         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
35424         (Depends-on): Add unitypes.
35425         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
35426         (u8_mbtouc_aux): Move out to separate file.
35427         (u8_mbtouc): Use ucs4_t, uint8_t types.
35428         * lib/unistr/utf8-ucs4.c: New file.
35429
35430         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
35431         (Depends-on): Add unitypes.
35432         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
35433         (u16_mbtouc_aux): Move out to separate file.
35434         (u16_mbtouc): Use ucs4_t, uint16_t types.
35435         * lib/unistr/utf16-ucs4.c: New file.
35436
35437         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
35438         (Depends-on): Add unitypes.
35439         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
35440         (u8_uctomb_aux): Move out to separate file.
35441         (u8_uctomb): Use ucs4_t, uint8_t types.
35442         * lib/unistr/ucs4-utf8.c: New file.
35443
35444         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
35445         (Depends-on): Add unitypes.
35446         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
35447         (u16_uctomb_aux): Move out to separate file.
35448         (u16_uctomb): Use ucs4_t, uint16_t types.
35449         * lib/unistr/ucs4-utf16.c: New file.
35450
35451 2006-12-25  Bruno Haible  <bruno@clisp.org>
35452
35453         * modules/unitypes: New file.
35454         * lib/unitypes.h: New file.
35455         * MODULES.html.sh (func_all_modules): New section "Unicode string
35456         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
35457         this section. Add unitypes.
35458
35459 2007-01-08  Bruno Haible  <bruno@clisp.org>
35460
35461         Avoid variable names that conflict with those from libtool.
35462         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
35463         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
35464         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
35465         library_names_spec to acl_library_names_spec, hardcode_* to
35466         acl_hardcode_*.
35467         Reported by Ralf Wildenhues.
35468
35469 2007-01-08  Bruno Haible  <bruno@clisp.org>
35470
35471         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
35472         definition.
35473         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
35474         definition.
35475         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
35476         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
35477         definition.
35478         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
35479         definition.
35480         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
35481         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
35482         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
35483         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
35484         definition.
35485         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
35486         definition.
35487         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
35488         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
35489         GC_USE_<algorithm>.
35490         * lib/gc-libgcrypt.c: Likewise.
35491         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
35492         * modules/gc-arctwo (configure.ac): Likewise.
35493         * modules/gc-des (configure.ac): Likewise.
35494         * modules/gc-hmac-md5 (configure.ac): Likewise.
35495         * modules/gc-hmac-sha1 (configure.ac): Likewise.
35496         * modules/gc-md2 (configure.ac): Likewise.
35497         * modules/gc-md4 (configure.ac): Likewise.
35498         * modules/gc-md5 (configure.ac): Likewise.
35499         * modules/gc-random (configure.ac): Likewise.
35500         * modules/gc-rijndael (configure.ac): Likewise.
35501         * modules/gc-sha1 (configure.ac): Likewise.
35502
35503 2007-01-08  Bruno Haible  <bruno@clisp.org>
35504
35505         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
35506         macro definition.
35507         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
35508         definition.
35509         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
35510         definition.
35511         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
35512         * modules/fcntl-safer (configure.ac): Likewise.
35513         * modules/fopen-safer (configure.ac): Likewise.
35514         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
35515         GNULIB_FWRITEERROR macro definition.
35516
35517 2007-01-08  Bruno Haible  <bruno@clisp.org>
35518
35519         * m4/gnulib-common.m4: New file.
35520         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
35521         (func_get_filelist): Add m4/gnulib-common.m4.
35522
35523 2007-01-08  Bruno Haible  <bruno@clisp.org>
35524
35525         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
35526         command.
35527
35528 2007-01-08  Jim Meyering  <jim@meyering.net>
35529
35530         Use a more robust test for a "can't happen" condition.
35531         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
35532         narrowed the st_size value.  Presuming the "can't happen" condition
35533         is true, that narrowing could conceivably convert an invalid st_size
35534         value into a valid one.  Instead, use a change based on Matthew
35535         Woehlke's original patch.
35536
35537         Slight readability improvement: use an assert-like macro
35538         in place of literal "abort ()" uses.
35539         * lib/fts.c (fts_assert): Define.
35540         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
35541         Use this macro instead of a bare 'abort'.
35542
35543 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
35544
35545         Don't worry about using IRIX 5.3's wctype.h broken definitions;
35546         simply work around them.
35547         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
35548         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
35549         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
35550         declaring.
35551         Don't bother to define as macros, since the standard doesn't require it.
35552         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
35553         longer worry about IRIX 5.3.
35554         (HAVE_WCTYPE_CTMP_BUG): Remove.
35555
35556 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
35557
35558         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
35559         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
35560         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
35561         Problems reported by Georg Schwarz for IRIX 5.3.
35562
35563         * gnulib-tool (autoconf_minversion): Take the maximum version number
35564         found, not the minimum.  Problem reported by James Youngman.
35565
35566 2007-01-03  Karl Berry  <karl@gnu.org>
35567
35568         * doc/error.texi: new file, explaining interaction with progname.
35569         * doc/gnulib.texi: include it.  Update copyright.
35570
35571 2007-01-03  Simon Josefsson  <simon@josefsson.org>
35572
35573         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
35574         AC_CANONICAL_HOST, to improve autobuild outputs.
35575
35576 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
35577             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
35578
35579         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
35580         sockets, server sockets, and other file descriptors.  Count errors
35581         to compute the return value.  Reorder the code a bit to be easier
35582         to follow.  Don't set event bits that were not requested (except
35583         POLLERR and POLLHUP).
35584
35585 2007-01-01  Bruno Haible  <bruno@clisp.org>
35586
35587         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
35588
35589 2007-01-03  Jim Meyering  <jim@meyering.net>
35590
35591         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
35592
35593 2007-01-02  Bruno Haible  <bruno@clisp.org>
35594
35595         * modules/settime (Include): Require timespec.h.
35596         * modules/nanosleep (Include): Likewise.
35597
35598 2007-01-01  Bruno Haible  <bruno@clisp.org>
35599
35600         * gnulib-tool (func_emit_copyright_notice): Bump year.
35601         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
35602
35603 2007-01-01  Bruno Haible  <bruno@clisp.org>
35604
35605         Improve support for OpenBSD.
35606         * build-aux/config.rpath (libname_spec): Export.
35607         (library_names_spec): New variable. Export.
35608         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
35609         library_names_spec from the config.rpath output. Locate shared library
35610         through the name pattern in library_names_spec.
35611
35612 2007-01-01  Eric Blake  <ebb9@byu.net>
35613
35614         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
35615
35616 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
35617
35618         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
35619         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
35620         assume the C locale, and avoid an "eval" that could cause trouble.
35621         Problem with SORT reported by Bob Proulx.
35622
35623         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
35624         Define.  Trivial patch from Henning Nielsen Lund, originally
35625         sent to bug-grep@gnu.org today.
35626
35627 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
35628
35629         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
35630         struct stat.  Problem reported by Henning Nielsen Lund.
35631         * lib/acl.c: Include acl.h first, to check interface.  Don't
35632         bother to include sys/types.h and sys/stat.h again.
35633
35634 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
35635
35636         Import the following change from libc; problem reported by
35637         Sven Verdoolaege.
35638
35639         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
35640
35641         [BZ #1373]
35642         * lib/argp.h: Remove __NTH for __argp_usage inline function.
35643
35644 2006-12-28  Jim Meyering  <jim@meyering.net>
35645
35646         * build-aux/announce-gen: Do not assume that the package
35647         builds any of tar.gz, tar.bz2, and .xdelta files.
35648         Suggestion from Simon Josefsson.
35649
35650 2006-12-28  Simon Josefsson  <simon@josefsson.org>
35651
35652         * modules/announce-gen: New file.
35653
35654 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
35655
35656         * lib/mbchar.h: Just include <wctype.h>; the wctype module
35657         handles its gotchas now.
35658         * lib/mbswidth.c: Likewise.
35659         * lib/wcwidth.h: Likewise.
35660         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
35661         and iswcntrl; the wctype module does this stuff now.
35662         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
35663         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
35664         * modules/mbchar (Depends-on): Add wctype.
35665         * modules/mbswidth (Depends-on): Likewise.
35666         * modules/wcwidth (Depends-on): Likewise.
35667
35668 2006-12-27  Eric Blake  <ebb9@byu.net>
35669
35670         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
35671         module uses more than what <wctype.h> is required to provide.
35672
35673 2006-12-26  Eric Blake  <ebb9@byu.net>
35674
35675         * gnulib-tool (sed_extract_prog): Avoid space-tab.
35676
35677 2006-12-26  Eric Blake  <ebb9@byu.net>
35678
35679         * modules/absolute-header: New module.
35680         * modules/fcntl (Depends-on): Depend on it.
35681         * modules/inttypes (Depends-on): Likewise.
35682         * modules/stdint (Depends-on): Likewise.
35683         * modules/sys_stat (Depends-on): Likewise.
35684         * modules/wctype (Depends-on): Likewise.
35685         * MODULES.html.sh (Support for building libraries and
35686         executables): Document it.
35687
35688 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
35689
35690         * gnulib-tool (SED): Remove, undoing previous change.
35691         The problem was that it broke coreutils on Solaris, because
35692         "sed --posix" leaked into a makefile.
35693         (sed): New alias, if 'alias' and GNU sed.
35694
35695 2006-12-24  Jim Meyering  <jim@meyering.net>
35696
35697         Work around an fchownat bug in glibc-2.4:
35698         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
35699         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
35700         in spite of the -P option.
35701         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
35702         New macros.
35703         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
35704         * modules/openat (Files): Add lib/fchownat.c.
35705         * lib/openat.c (fchownat): Don't define here.  Move to...
35706         * lib/fchownat.c: ...this new file.
35707
35708 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
35709
35710         Fix bug reported by Bruno Haible in
35711         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
35712         where quotearg.c didn't compile on Mac OS X 10.2 because it
35713         lacks <wchar.h> and wint_t.
35714         * lib/wctype_.h (__wctype_wint_t): New type.
35715         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
35716         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
35717         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
35718         Arg is now of type __wctype_wint_t, not wint_t.
35719         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
35720         substitute HAVE_WINT_T.
35721         * modules/wctype (Files): Add m4/wint_t.m4.
35722         (wctype.h): Substitute HAVE_WINT_T.
35723
35724 2006-12-23  Bruno Haible  <bruno@clisp.org>
35725
35726         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
35727
35728 2006-12-23  Bruno Haible  <bruno@clisp.org>
35729
35730         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
35731         S_ISLNK.
35732         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
35733         mingw.
35734
35735 2006-12-22  Bruno Haible  <bruno@clisp.org>
35736
35737         * lib/copy-file.c: Include acl.h.
35738         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
35739         Close the file descriptors only after being done with copy_acl.
35740         * modules/copy-file (Depends-on): Add acl.
35741
35742 2006-12-22  Bruno Haible  <bruno@clisp.org>
35743
35744         * gnulib-tool (SED): New variable.
35745         Use $SED instead of sed everywhere.
35746
35747 2006-12-22  Bruno Haible  <bruno@clisp.org>
35748
35749         * modules/no-c++: New file.
35750         * m4/no-c++.m4: New file.
35751         * MODULES.html.sh (Support for building libraries and executables):
35752         Add no-c++.
35753
35754 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
35755
35756         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
35757         Include <limits.h>, and use its INT_MAX to rewrite the
35758         j loop so that it does not overflow 'int'.  Problem reported by
35759         Ralf Wildenhues in
35760         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
35761         Play it safe by shifting left by 1 rather than multiplying by 2,
35762         as GCC is less likely to optimize this away when the value
35763         is signed (when it assumes overflow leads to undefined behavior).
35764         Also, don't assume time_t uses two's complement.
35765
35766 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
35767
35768         * MODULES.html.sh: New module wctype.
35769         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
35770         * lib/fnmatch.c: Don't bother to include <wchar.h> before
35771         <wctype.h>, since the new wctype module should fix this.
35772         * lib/quotearg.c: Include <wctype.h> unconditionally, since
35773         the wctype module should arrange for it.
35774         * lib/regex_internal.h: Likewise.
35775         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
35776         since the wctype module should handle this now.
35777         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
35778         * modules/fnmatch (Depends-on): Add wctype.
35779         * modules/quotearg (Depends-on): Likewise.
35780         * modules/regex (Depends-on): Likewise.
35781
35782 2006-12-19  Bruno Haible  <bruno@clisp.org>
35783
35784         * lib/strdup.h [C++]: Wrap definitions in extern "C".
35785         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
35786
35787 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35788
35789         * modules/savewd (Depends-on): Fix dependency on fcntl.
35790
35791 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
35792
35793         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
35794         conforms to C99, rather than relying on the user's environment
35795         setting of STDINT_H.
35796
35797 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
35798         and Eric Blake  <ebb9@byu.net>
35799
35800         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
35801         This is more consistent with the other defines here.
35802         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
35803         Port to z/OS.  Problem reported by Paul Gilmartin.
35804         Change local vars to use gl_ prefix rather than ac_.
35805         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
35806         with other defines.
35807         * modules/double-slash-root: New module.
35808         * modules/dirname (Files): Remove m4/double-slash-root.m4.
35809         (Depends-on): Add double-slash-root.
35810         * MODULES.html.sh (File system functions): Mention new module.
35811
35812 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
35813
35814         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
35815         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
35816         This is for the benefit of gzip, which doesn't do i18n.
35817
35818 2006-12-12  Jim Meyering  <jim@meyering.net>
35819
35820         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
35821         Reported by Andreas Schwab <schwab@suse.de>.
35822
35823 2006-12-12  Bruno Haible  <bruno@clisp.org>
35824
35825         Merge these changes.
35826         2006-09-05  Bruno Haible  <bruno@clisp.org>
35827         * lib/iconvme.c (iconv_string): No need to save and restore errno when
35828         iconv_alloc succeeded.
35829         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
35830         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
35831         test for " && dest " at the end - dest is always != NULL there. Call
35832         iconv with 4xNULL arguments initially, to reset the state. Call iconv
35833         with 2xNULL arguments, also to flush the state storage. Handle the
35834         IRIX iconv behaviour. Realloc the final result, to throw away unused
35835         memory.
35836
35837 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
35838
35839         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
35840         and fchmodat unconditionally, since glibc 2.4 has them.
35841         Problem reported by Arkadiusz Miskiewicz.
35842
35843 2006-12-10  Bruno Haible  <bruno@clisp.org>
35844
35845         * gnulib-tool (func_import): Show the include files only for those
35846         modules that are copied and specified.
35847         Reported by Karl Berry.
35848
35849 2006-12-08  Jim Meyering  <jim@meyering.net>
35850
35851         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
35852         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
35853
35854         * build-aux/announce-gen: Add two new options, both optional:
35855         --bootstrap-tools=TOOL_LIST
35856               a comma-separated list of tools, e.g.,
35857               autoconf,automake,bison,gnulib
35858         --gnulib-snapshot-date=DATE
35859               if gnulib is in the bootstrap tool list,
35860               then report this as the snapshot date.
35861               If not specified, use the current date/time.
35862               If you specify a date here, be sure it's UTC.
35863
35864 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35865
35866         * tests/test-argp-2.sh: Fix test to match actual output.
35867         (func_compare): Fix sed script to be portable.
35868
35869 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
35870
35871         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
35872         workaround for this case.  It is not autoconfigured now; offhand
35873         it's hard to see how to autoconfigure it.
35874
35875 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
35876
35877         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
35878         a directory that is about to be chowned.  Such a directory's
35879         initial file permissions should permit the owner only and this
35880         should not be changed until after the chown, since the group and
35881         other bits would be incorrect if they granted permission before
35882         the chown.
35883
35884         Fix porting problem for iswctype reported by Georg Schwarz in:
35885         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
35886         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
35887         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
35888         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
35889         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
35890
35891 2006-12-03  Jim Meyering  <jim@meyering.net>
35892
35893         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
35894         p->fts_statp may not yet be defined.
35895         (fts_read): Instead, set it in the caller, once p->fts_statp is
35896         sure to be defined, and corresponds to a top-level directory.
35897         This bug made du -x fail.  Here's the coreutils test case:
35898         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
35899         Reported by Mike Frysinger.
35900
35901 2006-12-01  Jim Meyering  <jim@meyering.net>
35902
35903         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
35904         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
35905         Reported by Simon Josefsson.
35906
35907 2006-11-30  Jim Meyering  <jim@meyering.net>
35908
35909         * m4/warning.m4: Use the all-permissive copyright notice
35910         recommended by RMS (rather than LGPL).
35911         * m4/vararrays.m4: Likewise.
35912         * m4/flexmember.m4: Likewise.
35913
35914 2006-11-29  Bruno Haible  <bruno@clisp.org>
35915
35916         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
35917         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
35918         using +=.
35919         Reported by Simon Josefsson <simon@josefsson.org>.
35920
35921 2006-11-28  James Youngman <jay@gnu.org>
35922
35923         * README: Advise users that they might find the bug-gnulib@gnu.org
35924         and autotools-announce@gnu.org mailing lists useful.
35925
35926 2006-11-28  Bruno Haible  <bruno@clisp.org>
35927
35928         * m4/ptrdiff_max.m4: Remove file.
35929
35930 2006-11-21  Bruno Haible  <bruno@clisp.org>
35931
35932         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
35933         _AC_COMPUTE_INT.
35934         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
35935         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
35936         _AC_COMPUTE_INT.
35937         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
35938         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
35939         _AC_COMPUTE_INT.
35940         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
35941
35942 2006-11-28  Jim Meyering  <jim@meyering.net>
35943
35944         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
35945         warning from "gcc -Wshadow" about shadowing the builtin.
35946
35947 2006-11-27  Bruno Haible  <bruno@clisp.org>
35948
35949         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
35950         _AC_COMPUTE_INT.
35951         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
35952
35953 2006-11-27  Bruno Haible  <bruno@clisp.org>
35954             Paul Eggert  <eggert@cs.ucla.edu>
35955
35956         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
35957
35958 2006-11-26  Bruno Haible  <bruno@clisp.org>
35959
35960         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
35961         noinst_LTLIBRARIES.
35962
35963 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
35964             Bruno Haible  <bruno@clisp.org>
35965
35966         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
35967         if compiling with "gcc -ansi".
35968
35969 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
35970
35971         Fix some incompatibilities with gcc -ansi -pedantic.
35972         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
35973         if compiling pedantically with GCC, unless it's C99 or later.
35974         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
35975         it mishandles gcc -ansi -pedantic as well.
35976         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
35977         if gcc -pedantic.
35978         * lib/regexec.c (check_node_accept_bytes): Don't use auto
35979         initializers for struct if -pedantic, unless it's C99 or later.
35980
35981 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
35982
35983         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
35984         Don't close an fd more than once. Identical atimes indicate
35985         success, not failure.
35986
35987 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
35988
35989         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
35990
35991 2006-11-23  Jim Meyering  <jim@meyering.net>
35992
35993         * build-aux/announce-gen: New file.  From coreutils.
35994
35995 2006-11-22  Jim Meyering  <jim@meyering.net>
35996
35997         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
35998         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
35999         (fts_read): Use a temporary to narrow the overused st_size member
36000         before using it in a switch statement.  Reported by Matthew Woehlke.
36001
36002         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
36003         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
36004
36005 2006-11-20  Bruno Haible  <bruno@clisp.org>
36006
36007         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
36008         changequote instead of pairs of brackets.
36009         Reported by Andreas Schwab <schwab@suse.de>.
36010
36011 2006-11-21  Jim Meyering  <jim@meyering.net>
36012
36013         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
36014         so as to remain compatible with older compilers.
36015         Patch from Michael Deutschmann.
36016
36017 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
36018
36019         * MODULES.html.sh (File system functions): Add openat.
36020
36021         * lib/openat.h (rpl_fstatat): New macro, if
36022         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
36023         (fstatat): Define to rpl_fstatat under the same conditions,
36024         unless COMPILING_FSTATAT.
36025         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
36026         seems to have the bug.
36027         * lib/fstatat.c: New file.
36028         * modules/openat (Files): Add it.
36029
36030 2006-11-20  Bruno Haible  <bruno@clisp.org>
36031
36032         * Makefile: New file.
36033
36034 2006-11-20  Jim Meyering  <jim@meyering.net>
36035
36036         The beginnings of syntax-related checks for gnulib.
36037         * lib/Makefile: New file.
36038         * lib/t-idcache: New script.  Ensure that the two halves of
36039         idcache.c stay in sync.
36040
36041         * lib/idcache.c: Adjust comments in user- and group- portions to
36042         be more accurate, and to be consistent with one another.
36043
36044 2006-11-20  Jim Meyering  <jim@meyering.net>
36045
36046         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
36047         continue using the flexible array member (thus, this module performs
36048         half as many malloc calls), with the addition that...
36049         (getgroup, getuser): Consistently record a non-match via an empty
36050         "name" string, and map an empty string match to a NULL return value.
36051         * modules/idcache (Depends-on): Re-add flexmember.
36052
36053         * lib/idcache.c (getuser): Remove all uses of the register keyword.
36054         (getuidbyname, getgroup, getgidbyname): Likewise.
36055
36056         Use cleaner syntax: NULL rather than 0.
36057         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
36058
36059 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
36060
36061         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
36062         It mishandled the case where the group was missing.
36063         Problem reported by Greg Schafer.
36064         * modules/idcache: Likewise.
36065
36066 2006-11-18  Jim Meyering  <jim@meyering.net>
36067
36068         * check-module (%exempt_header): Add exception for some
36069         conditionally-included headers.
36070
36071         * modules/i-ring (Depends-on): Add verify.
36072         (License): Change to LGPL.
36073
36074 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
36075
36076         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
36077         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
36078         and inttostr.h.  Use snprintf rather than uinttostr, so that
36079         LGPLed code doesn't depend on GPLed.
36080
36081 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
36082
36083         * modules/inline (License): Change from GPL to LGPL.
36084
36085 2006-11-17  Jim Meyering  <jim@meyering.net>
36086
36087         * modules/d-type (License): Switch to LGPL.
36088
36089 2006-11-15  Bruno Haible  <bruno@clisp.org>
36090
36091         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
36092
36093 2006-11-15  Eric Blake  <ebb9@byu.net>
36094
36095         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
36096         the module dependency.
36097
36098 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36099             Bruno Haible  <bruno@clisp.org>
36100
36101         * gnulib-tool (func_create_testdir): Add license consistency check.
36102
36103 2006-11-15  Eric Blake  <ebb9@byu.net>
36104
36105         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
36106         random "(cached)" in configure output.
36107
36108 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36109
36110         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
36111         test for conforming inttypes.h is both announced and cached.
36112
36113         * MODULES.html.sh (seen_modules, seen_files): New variables.
36114         (func_module): Rewrite to use a few less gnulib-tool and sed
36115         invocations.  Avoid a couple of quadratic algorithms for ...
36116         (missed_modules, missed_files): ... these, with ...
36117         (func_append, func_tmpdir): ... these new functions, from
36118         gnulib-tool.  Analogously, install traps for cleanup.
36119
36120         * tests/test-gc.c (main): Remove unused variables.
36121         * tests/test-read-file.c: Include stdlib.h, for 'free'.
36122
36123 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
36124
36125         * modules/inttostr (License): Change to LGPL.
36126
36127 2006-11-14  Eric Blake  <ebb9@byu.net>
36128
36129         * modules/tempname (License): Change to LGPL.
36130
36131 2006-11-14  Eric Blake  <ebb9@byu.net>
36132
36133         * doc/functions.texi (Function Portability): *printf functions on
36134         Cygwin now understand all POSIX size specifiers.
36135
36136 2006-11-14  Bruno Haible  <bruno@clisp.org>
36137
36138         * modules/c-ctype (License): Change to LGPL.
36139
36140 2006-11-12  Bruno Haible  <bruno@clisp.org>
36141
36142         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
36143         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
36144         for GNOME libraries, for which the include files are installed in
36145         subdirectories of $prefix/include.
36146
36147 2006-11-12  Bruno Haible  <bruno@clisp.org>
36148
36149         * m4/lib-link.m4: Require at least autoconf-2.54.
36150         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
36151         name to underscores for the --with option.
36152
36153 2006-11-13  Bruno Haible  <bruno@clisp.org>
36154
36155         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
36156         the tests directory.
36157         Reported by Ralf Wildenhues.
36158
36159 2006-11-13  Bruno Haible  <bruno@clisp.org>
36160
36161         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
36162         (func_emit_initmacro_end): Undo the override here.
36163         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
36164         Works around the famous automake error in coreutils.
36165
36166 2006-11-13  Eric Blake  <ebb9@byu.net>
36167
36168         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
36169         element, not its node.
36170
36171 2006-11-12  Bruno Haible  <bruno@clisp.org>
36172
36173         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
36174         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
36175
36176 2006-11-12  Bruno Haible  <bruno@clisp.org>
36177
36178         * gnulib-tool: New option --local-symlink.
36179         (func_usage): Document it.
36180         (lsymbolic): New variable.
36181         (func_import, func_create_testdir): If --symlink was not specified,
36182         test whether --local-symlink was specified and the file comes from
36183         the local_gnulib_dir.
36184
36185 2006-11-12  Bruno Haible  <bruno@clisp.org>
36186
36187         * gnulib-tool (func_ln): New function.
36188         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
36189
36190 2006-11-12  Bruno Haible  <bruno@clisp.org>
36191
36192         Finish support for source files in subdirectories.
36193         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
36194         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
36195         AUTOMAKE_OPTIONS.
36196         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
36197
36198 2006-11-12  Bruno Haible  <bruno@clisp.org>
36199
36200         * gnulib-tool (func_get_automake_snippet): Synthesize also an
36201         EXTRA_lib_SOURCES augmentation.
36202         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
36203
36204 2006-11-12  Jim Meyering  <jim@meyering.net>
36205
36206         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
36207         file descriptors.  This also averts a failure on systems with
36208         native openat support when a traversed directory lacks "x" access.
36209         * lib/fts_.h: Include "i-ring.h"
36210         (struct FTS) [fts_fd_ring]: New member.
36211         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
36212         (FCHDIR): Add parentheses.
36213         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
36214         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
36215         When descending, rather than simply closing the previous
36216         fts_cwd_fd value, push that file descriptor onto the ring.
36217         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
36218         (fts_open): Initialize the new fd_ring member.
36219         (fts_close): Clear the ring.
36220         (fts_safe_changedir): When possible, use our new fd_ring to skip
36221         the diropen and fstat and dev/ino comparison that would normally
36222         accompany a virtual `chdir ("..")'.
36223
36224         * modules/fts (Depends-on): Add i-ring.
36225         * modules/i-ring: New module.
36226         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
36227         * m4/i-ring.m4: New file.
36228
36229 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36230
36231         * gnulib-tool (func_create_testdir): Fix replacement of
36232         `build-aux' in configure.ac.  Run autotools in gltests
36233         subdirectory.
36234         (func_create_testdir, func_create_megatestdir, test): There is
36235         no need for '--force' in most autotool invocations in a new
36236         tree.  Actually fail the whole test if any of the tools, or the
36237         configure or make stages fail.
36238
36239         Sync from Automake.
36240         * build-aux/gnupload: Revert last change.  Add pointer to upload
36241         instructions of the GNU Maintenance Instructions.
36242         Suggestion by Karl Berry.
36243
36244 2006-11-10  Jim Meyering  <jim@meyering.net>
36245
36246         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
36247
36248 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
36249
36250         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
36251         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
36252         (bind_textdomain_codeset) [! ENABLE_NLS]:
36253         Evaluate all the arguments.  That way, callers get compatible behavior
36254         if the arguments have side effects.  Also, it avoids some GCC
36255         diagnostics in some cases; Joel E. Denny reported problems when Bison
36256         was configured with --enable-gcc-warnigs.
36257
36258 2006-11-10  Jim Meyering  <jim@meyering.net>
36259
36260         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
36261         relevant options in CFLAGS (like -O, -fno-inline) are taken into
36262         account.
36263
36264 2006-11-10  Jim Meyering  <jim@meyering.net>
36265
36266         * modules/inline: New file/module.
36267         * modules/xalloc (Files): Remove m4/inline.m4.
36268         (Depends-on): Add inline, instead.
36269         * modules/oset: Likewise.
36270         * modules/list: Likewise.
36271
36272 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
36273
36274         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
36275         Problem reported by Matthew Woehlke.
36276
36277 2006-11-09  Bruno Haible  <bruno@clisp.org>
36278
36279         * lib/tempname.c (gen_tempname): Remove variant that invokes
36280         __gen_tempname.
36281         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
36282         __gen_tempname.
36283
36284 2006-11-08  Bruno Haible  <bruno@clisp.org>
36285
36286         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
36287         to 'yes' instead of 'cross-compiling'.
36288
36289 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
36290
36291         * lib/quotearg.h (quotearg_free): New decl.
36292         * lib/quotearg.c (quotearg_free): New function.
36293         (slot0, nslots, slotvec0, slotvec):
36294         Now file-scope so that quotearg_free can get at them.
36295
36296 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36297
36298         Sync from Automake.
36299         * build-aux/gnupload: Add missing 'gnu' to example URL.
36300         Report by Karl Berry.
36301
36302 2006-11-08  Bruno Haible  <bruno@clisp.org>
36303
36304         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
36305         Suggested by Paul Eggert.
36306
36307 2006-11-08  Jim Meyering  <jim@meyering.net>
36308
36309         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
36310         It's already included if !_LIBC.
36311         (fts_safe_changedir): Add a comment.
36312
36313 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
36314
36315         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
36316         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
36317         Matthew Woehlke.
36318
36319         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
36320         definitions up, to avoid colliding with change below.
36321         (static_inline) [HAVE_INLINE]: New macro.
36322         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
36323         Provide extern decls when !HAVE_INLINE.  Do not define unless
36324         static_inline is defined, either by us or by xmalloc.c.  Use
36325         static_inline rather than static inline.
36326         (XCALLOC): Optimize sizeof(T) = 1 case.
36327         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
36328
36329 2006-11-07  Bruno Haible  <bruno@clisp.org>
36330
36331         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
36332         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
36333         AC_C_INLINE.
36334         * modules/xalloc (Files): Add m4/inline.m4.
36335
36336 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36337
36338         * README: Fix typo.
36339         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
36340         (Miscellanous Notes): ...from this.
36341
36342 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
36343
36344         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
36345         Mention that offsetof should be used instead of sizeof.
36346         From Bruno Haible.
36347
36348 2006-11-07  Bruno Haible  <bruno@clisp.org>
36349
36350         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
36351
36352 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
36353
36354         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
36355         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
36356         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
36357         (gl_tree_add_before, gl_tree_add_after):
36358         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
36359         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
36360         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
36361         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
36362         (gl_linked_add_after, gl_linked_add_at): Likewise.
36363         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
36364         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
36365         (gl_tree_add_before, gl_tree_add_after): Likewise.
36366         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
36367         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
36368         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
36369
36370 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36371
36372         * lib/gl_oset.h: Use C comment style, not C++ comment style.
36373
36374 2006-11-06  Bruno Haible  <bruno@clisp.org>
36375
36376         * m4/inline.m4: New file.
36377         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
36378         * modules/list (Files): Add m4/inline.m4.
36379         * modules/oset (Files): Likewise.
36380
36381 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
36382
36383         * lib/idcache.c: Include <stddef.h>, for offsetof.
36384         (struct userid.name): Change from char * to a flexible array member.
36385         All uses changed.
36386         * modules/idcache (Depends-on): Add flexmember.
36387
36388         * MODULES.html.sh (Core language properties): New module flexmember.
36389         * modules/flexmember, m4/flexmember.m4: New files.
36390
36391         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
36392         inline functions that are identical with the old xnmalloc_inline,
36393         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
36394         that we can avoid some unnecessary integer multiplications and
36395         divisions in the common case where the element size is known at
36396         compile time.
36397         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
36398         needed.
36399         (xnboundedmalloc): Remove.
36400         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
36401         arguments, for consistency with rest of this header.
36402         (xcharalloc): Rewrite using XNMALLOC.
36403         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
36404         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
36405         versions have been moved to lib/xalloc.h and renamed to be the
36406         non-*_inline versions.
36407         (xmalloc, xrealloc): Implement without reference to the xnmalloc
36408         and xnrealloc functions, since those functions are now inline and
36409         now call us.
36410         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
36411         renaming described above.
36412         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
36413         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
36414         captures the dependency in AC_C_INLINE.
36415
36416         New module canonicalize-lgpl, proposed by Charles Wilson in
36417         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
36418         with a few small changes afterwards.
36419         * MODULES.html.sh (File system functions): New module
36420         canonicalize-lgpl.
36421         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
36422         and canonicalize_file_name.
36423         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
36424         * modules/canonicalize-lgpl: New files.
36425
36426 2006-11-05  Bruno Haible  <bruno@clisp.org>
36427
36428         * gnulib-tool (func_import, func_create_testdir): Create directories
36429         also for files in subdirectories of lib/.
36430
36431 2006-11-05  Bruno Haible  <bruno@clisp.org>
36432
36433         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
36434         ANSI C compliant.
36435
36436 2006-11-03  Bruno Haible  <bruno@clisp.org>
36437
36438         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
36439         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
36440         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
36441         (xnboundedmalloc): New inline function.
36442         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
36443         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
36444         xmalloc.
36445         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
36446         xmalloc.
36447         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
36448         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
36449         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
36450         xmalloc.
36451         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
36452         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
36453         xmalloc.
36454         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
36455         gl_tree_add_after): Use XMALLOC instead of xmalloc.
36456         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
36457         xmalloc.
36458         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
36459         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
36460         gl_tree_add_after): Use XMALLOC instead of xmalloc.
36461         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
36462         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
36463         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
36464         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
36465
36466 2006-11-03  Bruno Haible  <bruno@clisp.org>
36467
36468         * lib/c-ctype.h [C++]: Define functions without name mangling.
36469         * lib/fwriteerror.h [C++]: Likewise.
36470         * lib/gcd.h [C++]: Likewise.
36471         * lib/linebreak.h [C++]: Likewise.
36472
36473 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
36474
36475         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
36476         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
36477         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
36478         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
36479         Check for functions and headers just once.
36480         Check for declaration of canonicalize_file_name.
36481         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
36482
36483 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
36484
36485         * gnulib-tool (func_import): Fix typo in actioncmd.
36486
36487 2006-11-02  Bruno Haible  <bruno@clisp.org>
36488
36489         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
36490         newline sequence in the Makefile.am snippet as a space, like "make"
36491         does.
36492         Reported by Roger Persson <perrog@gmail.com>.
36493
36494 2006-11-01  Bruno Haible  <bruno@clisp.org>
36495
36496         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
36497         already declared in <string.h>.
36498         * lib/strcase.h (strncasecmp): Don't declare it if yes.
36499
36500 2006-11-01  Bruno Haible  <bruno@clisp.org>
36501
36502         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
36503         * lib/strcase.h: Include <string.h>.
36504         (strcasecmp): Define to rpl_strcasecmp here.
36505
36506 2006-11-01  Bruno Haible  <bruno@clisp.org>
36507
36508         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
36509
36510 2006-11-01  Eric Blake  <ebb9@byu.net>
36511
36512         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
36513
36514         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
36515
36516 2006-10-29  Bruno Haible  <bruno@clisp.org>
36517
36518         Make it compile in C++ mode.
36519         * lib/full-write.c (full_rw): Add a cast.
36520
36521 2006-11-01  Bruno Haible  <bruno@clisp.org>
36522
36523         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
36524         be POSIX compliant.
36525         Reported by Roger Persson <perrog@gmail.com>.
36526
36527 2006-11-01  Eric Blake  <ebb9@byu.net>
36528
36529         * lib/getopt_.h: Fix comments.
36530
36531 2006-10-31  Eric Blake  <ebb9@byu.net>
36532
36533         * modules/tmpdir (Depends-on): Add sys_stat.
36534         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
36535         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
36536         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
36537         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
36538         tempname.
36539
36540 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
36541
36542         Avoid some C++ diagnostics reported by Bruno Haible.
36543         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
36544         xmalloc.
36545         (quotearg_alloc): Use xcharalloc rather than xmalloc.
36546         (struct slotvec): Move to top level.
36547         (quotearg_n_options): Rewrite to avoid xmalloc.
36548         * lib/xalloc.h (xcharalloc): New function.
36549         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
36550         [defined __cplusplus]: Add function template that provides result
36551         type propagation.  This part of the change is from Bruno Haible.
36552
36553 2006-10-29  Bruno Haible  <bruno@clisp.org>
36554
36555         Make it compile in C++ mode.
36556         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
36557         * lib/strnlen1.c (strnlen1): Cast memchr result.
36558         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
36559         * lib/clean-temp.c (string_equals, string_hash): Add casts.
36560         (create_temp_dir): Rename local variable 'template'.
36561         (compile_csharp_using_sscli): Add cast.
36562         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
36563         * lib/findprog.c (find_in_path): Likewise.
36564         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
36565         * lib/wait-process.c (register_slave_subprocess): Likewise.
36566
36567 2006-10-22  Bruno Haible  <bruno@clisp.org>
36568
36569         * modules/tsearch: New file.
36570         * lib/tsearch.h: New file.
36571         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
36572         * m4/tsearch.m4: New file.
36573         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
36574
36575 2006-10-29  Eric Blake  <ebb9@byu.net>
36576
36577         * lib/arcfour.c: Assume config.h.
36578         * lib/arctwo.c: Likewise.
36579         * lib/base64.c: Likewise.
36580         * lib/check-version.c: Likewise.
36581         * lib/crc.c: Likewise.
36582         * lib/des.c: Likewise.
36583         * lib/gc-gnulib.c: Likewise.
36584         * lib/gc-libgcrypt.c: Likewise.
36585         * lib/gc-pbkdf2-sha1.c: Likewise.
36586         * lib/getaddrinfo.c: Likewise.
36587         * lib/getdelim.c: Likewise.
36588         * lib/getline.c: Likewise.
36589         * lib/hmac-md5.c: Likewise.
36590         * lib/hmac-sha1.c: Likewise.
36591         * lib/iconvme.c: Likewise.
36592         * lib/md2.c: Likewise.
36593         * lib/md4.c: Likewise.
36594         * lib/memxor.c: Likewise.
36595         * lib/read-file.c: Likewise.
36596         * lib/readline.c: Likewise.
36597         * lib/rijndael-alg-fst.c: Likewise.
36598         * lib/rijndael-api-fst.c: Likewise.
36599         * lib/xgetdomainname.c: Likewise.
36600
36601 2006-10-28  Eric Blake  <ebb9@byu.net>
36602
36603         * lib/xstrndup.c: Assume config.h.
36604
36605 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
36606
36607         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
36608         stat-macros.h is now for our own macros, whereas stat_h is for
36609         macros in the <sys/stat.h> name space.
36610         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
36611         (STAT_MACROS_H): Remove.
36612         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
36613         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
36614         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
36615         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
36616         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
36617         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
36618         Move these macros to ...
36619         * lib/stat_.h: here.  Don't include stat-macros.h.
36620         * lib/canonicalize.c: Don't include stat-macros.h.
36621         * lib/chown.c: Likewise.
36622         * lib/euidaccess.c: Likewise.
36623         * lib/file-type.c: Likewise.
36624         * lib/filemode.c: Likewise.
36625         * lib/glob.c: Likewise.
36626         * lib/isapipe.c: Likewise.
36627         * lib/lchown.c: Likewise.
36628         * lib/lstat.c: Likewise.
36629         * lib/mkdir-p.c: Likewise.
36630         * lib/rmdir.c: Likewise.
36631         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
36632         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
36633         unless mkdir isn't declared, to speed up 'configure'.
36634         Always create sys/stat.h, since it's unlikely any real sys/stat.h
36635         would define all the S_* symbols.
36636         * modules/canonicalize (Depends-on):
36637         Depend on sys_stat, not stat-macros.
36638         * modules/chown: Likewise.
36639         * modules/euidaccess: Likewise.
36640         * modules/filemode: Likewise.
36641         * modules/file-type: Likewise.
36642         * modules/glob: Likewise.
36643         * modules/isapipe: Likewise.
36644         * modules/lchown: Likewise.
36645         * modules/lstat: Likewise.
36646         * modules/mkancesdirs: Likewise.
36647         * modules/rmdir: Likewise.
36648         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
36649         * modules/modechange: Likewise.
36650         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
36651         (configure.ac): Remove gl_STAT_MACROS.
36652         * modules/sys_stat (Depends-on): Remove stat-macros.
36653
36654 2006-10-27  Bruno Haible  <bruno@clisp.org>
36655
36656         * m4/signed.m4: Remove file.
36657         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
36658         invocation.
36659         * modules/vasnprintf (Files): Remove m4/signed.m4.
36660
36661 2006-10-27  Bruno Haible  <bruno@clisp.org>
36662
36663         Update to GNU gettext 0.16.
36664         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
36665         m4/inttypes-h.m4, m4/signed.m4.
36666         * m4/gettext.m4: Update to GNU gettext 0.16.
36667         * m4/intl.m4: New file, from GNU gettext.
36668         * m4/intldir.m4: New file, from GNU gettext.
36669         * config/srclist.txt: Update
36670
36671 2006-10-27  Eric Blake  <ebb9@byu.net>
36672
36673         * MODULES.html.sh: Document tempname.
36674         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
36675         dependencies.
36676         (Files): Move lib/tempname.c...
36677         * modules/tempname: ...to this new module.
36678         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
36679         (gl_PREREQ_TEMPNAME): Move...
36680         * m4/tempname.m4: ...to this new file.
36681         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
36682         * modules/sys_stat (Depends-on): Add stat-macros.
36683         * lib/stat_.h (includes): Pick up stat macros.
36684         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
36685         if stat macros are broken.
36686         * lib/tempname.c (includes): No need to include "stat-macros.h".
36687         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
36688         (direxists, __path_search) [!_LIBC]: Don't compile these in
36689         gnulib; the tmpdir module covers that.
36690         * lib/tempname.h: New file.
36691
36692 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
36693
36694         * COPYING: Explain how gnulib-tool converts licence headers.
36695         Almost all wording by Eric Blake.
36696
36697 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
36698
36699         * lib/mbchar.h (is_basic_table): Make read-only.
36700         * lib/mbchar.c (is_basic_table): Likewise.
36701         Reported by John Darrington.
36702
36703 2006-10-25  Bruno Haible  <bruno@clisp.org>
36704
36705         * lib/progname.h (set_program_name): Undefine before defining.
36706
36707 2006-10-25  Bruno Haible  <bruno@clisp.org>
36708
36709         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
36710         false for non-gcc C++ compilers.
36711         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
36712
36713 2006-10-24  Bruno Haible  <bruno@clisp.org>
36714
36715         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
36716         iconv implementations like Irix iconv.
36717
36718 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
36719
36720         * modules/vararrays: New file.
36721         * m4/vararrays.m4: New file, taken from diffutils.
36722         * MODULES.html.sh: New module vararrays.
36723
36724 2006-10-24  Karl Berry  <karl@gnu.org>
36725
36726         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
36727         Don't call GNU Unix.
36728
36729 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36730
36731         * users.txt: Add Libtool.
36732
36733         Sync from Libtool:
36734
36735         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
36736
36737         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
36738         to gnulib's policy of including config.h unconditionally.
36739
36740 2006-10-24  Bruno Haible  <bruno@clisp.org>
36741
36742         * modules/wcwidth (Files): Add m4/wint_t.m4.
36743         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
36744         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
36745
36746 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
36747
36748         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
36749         to pacify GCC with some -W flags enabled.  Problem reported by
36750         Bruno Haible.
36751
36752 2006-10-24  Jim Meyering  <jim@meyering.net>
36753
36754         * MODULES.html.sh: Remove uinttostr.  It's not a module.
36755         Reported by Karl Berry.
36756
36757 2006-10-23  Bruno Haible  <bruno@clisp.org>
36758
36759         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
36760
36761 2006-10-24  Bruno Haible  <bruno@clisp.org>
36762
36763         * lib/gl_list.h: Use C comment style, not C++ comment style.
36764
36765 2006-10-23  Eric Blake  <ebb9@byu.net>
36766
36767         * lib/getaddrinfo.c (includes): Add missing include.
36768
36769 2006-10-23  Bruno Haible  <bruno@clisp.org>
36770             Paul Eggert  <eggert@cs.ucla.edu>
36771
36772         Ability to rename obstack_free.
36773         * lib/obstack.h (__obstack_free): New macro. Declare instead of
36774         obstack_free.
36775         (obstack_free): Invoke the __obstack_free macro.
36776         * lib/obstack.c (obstack_free): Use __obstack_free macro.
36777
36778 2006-10-23  Bruno Haible  <bruno@clisp.org>
36779             Paul Eggert  <eggert@cs.ucla.edu>
36780
36781         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
36782         __argc, __argv from the declaration. (They are defined as macros on
36783         mingw.)
36784
36785 2006-10-22  Bruno Haible  <bruno@clisp.org>
36786
36787         * doc/gnulib-intro.texi: New file.
36788         * doc/gnulib.texi: Include it.
36789
36790 2006-10-21  Bruno Haible  <bruno@clisp.org>
36791
36792         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
36793         "Introduction", "Miscellanous Notes", "Particular Modules".
36794
36795 2006-10-21  Bruno Haible  <bruno@clisp.org>
36796
36797         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
36798         Change mostlyclean-local rule to avoid sh syntax error from bash
36799         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
36800
36801 2006-10-23  Jim Meyering  <jim@meyering.net>
36802
36803         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
36804         in place of snprintf.
36805
36806         * modules/inttostr (Files): Add lib/uinttostr.c.
36807         * lib/uinttostr.c (inttostr): New file/function.
36808         * lib/inttostr.h (uinttostr): Declare.
36809         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
36810         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
36811         Add uinttostr.
36812         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
36813
36814 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
36815
36816         * lib/canonicalize.c (ELOOP): Define if not already defined.
36817         Problem reported by Bruno Haible in
36818         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
36819
36820 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
36821
36822         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
36823         Problem reported by Perry Smith and Ville Laurikari.
36824
36825         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
36826         uses.
36827
36828 2006-10-19  Bruno Haible  <bruno@clisp.org>
36829
36830         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
36831         for mingw.
36832
36833 2006-10-19  Bruno Haible  <bruno@clisp.org>
36834
36835         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
36836         Needed for mingw.
36837
36838 2006-10-19  Bruno Haible  <bruno@clisp.org>
36839
36840         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
36841
36842 2006-10-19  Bruno Haible  <bruno@clisp.org>
36843
36844         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
36845         it.
36846
36847 2006-10-19  Bruno Haible  <bruno@clisp.org>
36848
36849         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
36850         invocation.
36851
36852 2006-10-19  Bruno Haible  <bruno@clisp.org>
36853
36854         * gnulib-tool (func_create_testdir): Don't include ftruncate and
36855         mountlist by default.
36856
36857 2006-10-16  Bruno Haible  <bruno@clisp.org>
36858
36859         * lib/c-strstr.c: Include c-strstr.h.
36860
36861 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
36862
36863         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
36864         in a slash.
36865
36866 2006-10-18  Bruno Haible  <bruno@clisp.org>
36867
36868         * lib/lock.h [C++]: Wrap definitions in extern "C".
36869
36870 2006-10-18  Bruno Haible  <bruno@clisp.org>
36871
36872         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
36873         gl_LIBOBJS list.
36874
36875 2006-10-18  Bruno Haible  <bruno@clisp.org>
36876
36877         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
36878
36879 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
36880
36881         * lib/xstrtol.h: Include gettext.h.
36882         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
36883         Problem reported by Eric Blake.
36884         * modules/xstrtol (Depends-on): Add gettext-h.
36885
36886 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
36887
36888         * lib/strftime.c (advance): New macro.
36889         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
36890         incomplete type, so you can't add 0 to it.  Problem and patch
36891         reported by Eelco Dolstra for dietlibc.
36892
36893 2006-10-18  Jim Meyering  <jim@meyering.net>
36894
36895         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
36896         type for a local, and rename it: s/up/user_proc/.
36897
36898 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
36899
36900         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
36901         READ_UTMP_USER_PROCESS.
36902         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
36903
36904 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
36905
36906         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
36907         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
36908
36909 2006-10-17  Eric Blake  <ebb9@byu.net>
36910
36911         * lib/sigprocmask.c (sigprocmask): Fix typo.
36912
36913         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
36914
36915         * modules/clean-temp (Makefile.am): Don't add to make output...
36916         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
36917         config.h.
36918
36919 2006-10-17  Bruno Haible  <bruno@clisp.org>
36920
36921         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
36922         differently if DEFAULT_TEXT_DOMAIN is set.
36923
36924 2006-10-16  Bruno Haible  <bruno@clisp.org>
36925
36926         * lib/clean-temp.c: Include fwriteerror.h.
36927
36928 2006-10-16  Bruno Haible  <bruno@clisp.org>
36929
36930         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
36931
36932 2006-10-16  Bruno Haible  <bruno@clisp.org>
36933
36934         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
36935         * lib/sigprocmask.h: Include <sys/types.h>.
36936         (sigset_t): Use the system's definition if present.
36937
36938 2006-10-17  Eric Blake  <ebb9@byu.net>
36939
36940         * lib/xvasprintf.c (includes): Assume config.h.
36941         * lib/xasprintf.c (includes): Likewise.
36942
36943 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
36944
36945         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
36946         at least as wide as intmax_t.
36947
36948 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
36949
36950         (Imported from Automake.)
36951         * build-aux/gnupload: Update to version 1.1 of directive file.
36952
36953 2006-10-16  Eric Blake  <ebb9@byu.net>
36954
36955         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
36956         match Automake 1.10a.
36957
36958 2006-10-14  Bruno Haible  <bruno@clisp.org>
36959
36960         * modules/sigprocmask: New file.
36961         * lib/sigprocmask.h: New file.
36962         * lib/sigprocmask.c: New file.
36963         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
36964         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
36965         request sigprocmask.o.
36966         (gl_PREREQ_SIGPROCMASK): New macro.
36967         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
36968         (Depends-on): Add sigprocmask.
36969         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
36970         gt_SIGNALBLOCKING. Test for 'raise' only once.
36971         * lib/fatal-signal.c: Include sigprocmask.h.
36972         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
36973         unblock_fatal_signals): Define always.
36974         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
36975         sigprocmask.
36976
36977 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
36978
36979         Sync from Automake.
36980         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
36981         which incorrectly sets the mode of an existing destination
36982         directory.  In some cases the unpatched install-sh could do the
36983         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
36984         system.  We hope this is rare in practice, but it's clearly worth
36985         fixing.  Problem reported by Alex Unleashed in
36986         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
36987         Also, don't bother to check for -m bugs unless we're using -m;
36988         suggested by Stepan Kasal.
36989
36990 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36991
36992         Sync from Automake.
36993         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
36994         `-c' flag, so they appear at the same position as in %FASTDEP%
36995         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
36996         which ignores unknown options only after the first non-option.
36997         Bug report against M4 by Nelson H. F. Beebe.
36998
36999 2006-10-13  Jim Meyering  <jim@meyering.net>
37000
37001         Fix a bug in yesterday's change.
37002         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
37003         p->fts_statp->st_dev would be used uninitialized.
37004         Ensures that we always call fts_stat on the very first entry.
37005         Miklos Szeredi reported that find -xdev stopped working.
37006
37007 2006-10-12  Bruno Haible  <bruno@clisp.org>
37008
37009         * gnulib-tool (func_get_automake_snippet): Append an automatically
37010         computed EXTRA_DIST augmentation.
37011         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
37012         * modules/alloca-opt (Makefile.am): Likewise.
37013         * modules/allocsa (Makefile.am): Likewise.
37014         * modules/arcfour (Makefile.am): Likewise.
37015         * modules/arctwo (Makefile.am): Likewise.
37016         * modules/argmatch (Makefile.am): Likewise.
37017         * modules/argz (Makefile.am): Likewise.
37018         * modules/atexit (Makefile.am): Likewise.
37019         * modules/backupfile (Makefile.am): Likewise.
37020         * modules/byteswap (Makefile.am): Likewise.
37021         * modules/c-strtod (Makefile.am): Likewise.
37022         * modules/c-strtold (Makefile.am): Likewise.
37023         * modules/calloc (Makefile.am): Likewise.
37024         * modules/canon-host (Makefile.am): Likewise.
37025         * modules/canonicalize (Makefile.am): Likewise.
37026         * modules/chdir-long (Makefile.am): Likewise.
37027         * modules/chdir-safer (Makefile.am): Likewise.
37028         * modules/check-version (Makefile.am): Likewise.
37029         * modules/chown (Makefile.am): Likewise.
37030         * modules/cloexec (Makefile.am): Likewise.
37031         * modules/close-stream (Makefile.am): Likewise.
37032         * modules/closeout (Makefile.am): Likewise.
37033         * modules/crc (Makefile.am): Likewise.
37034         * modules/csharpexec (Makefile.am): Likewise.
37035         * modules/cycle-check (Makefile.am): Likewise.
37036         * modules/des (Makefile.am): Likewise.
37037         * modules/dev-ino (Makefile.am): Likewise.
37038         * modules/dirfd (Makefile.am): Likewise.
37039         * modules/dirname (Makefile.am): Likewise.
37040         * modules/dup2 (Makefile.am): Likewise.
37041         * modules/eealloc (Makefile.am): Likewise.
37042         * modules/error (Makefile.am): Likewise.
37043         * modules/euidaccess (Makefile.am): Likewise.
37044         * modules/exclude (Makefile.am): Likewise.
37045         * modules/exitfail (Makefile.am): Likewise.
37046         * modules/fcntl-safer (Makefile.am): Likewise.
37047         * modules/fcntl (Makefile.am): Likewise.
37048         * modules/file-type (Makefile.am): Likewise.
37049         * modules/fileblocks (Makefile.am): Likewise.
37050         * modules/filemode (Makefile.am): Likewise.
37051         * modules/filenamecat (Makefile.am): Likewise.
37052         * modules/fnmatch (Makefile.am): Likewise.
37053         * modules/fopen-safer (Makefile.am): Likewise.
37054         * modules/fpending (Makefile.am): Likewise.
37055         * modules/fprintftime (Makefile.am): Likewise.
37056         * modules/free (Makefile.am): Likewise.
37057         * modules/fsusage (Makefile.am): Likewise.
37058         * modules/ftruncate (Makefile.am): Likewise.
37059         * modules/fts (Makefile.am): Likewise.
37060         * modules/gc-arcfour (Makefile.am): Likewise.
37061         * modules/gc-des (Makefile.am): Likewise.
37062         * modules/gc-hmac-md5 (Makefile.am): Likewise.
37063         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
37064         * modules/gc-md4 (Makefile.am): Likewise.
37065         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
37066         * modules/gc-sha1 (Makefile.am): Likewise.
37067         * modules/gc (Makefile.am): Likewise.
37068         * modules/getaddrinfo (Makefile.am): Likewise.
37069         * modules/getcwd (Makefile.am): Likewise.
37070         * modules/getdelim (Makefile.am): Likewise.
37071         * modules/getdomainname (Makefile.am): Likewise.
37072         * modules/getgroups (Makefile.am): Likewise.
37073         * modules/gethostname (Makefile.am): Likewise.
37074         * modules/gethrxtime (Makefile.am): Likewise.
37075         * modules/getline (Makefile.am): Likewise.
37076         * modules/getloadavg (Makefile.am): Likewise.
37077         * modules/getlogin_r (Makefile.am): Likewise.
37078         * modules/getndelim2 (Makefile.am): Likewise.
37079         * modules/getopt (Makefile.am): Likewise.
37080         * modules/getpagesize (Makefile.am): Likewise.
37081         * modules/getpass-gnu (Makefile.am): Likewise.
37082         * modules/getpass (Makefile.am): Likewise.
37083         * modules/getsubopt (Makefile.am): Likewise.
37084         * modules/gettime (Makefile.am): Likewise.
37085         * modules/gettimeofday (Makefile.am): Likewise.
37086         * modules/getugroups (Makefile.am): Likewise.
37087         * modules/getusershell (Makefile.am): Likewise.
37088         * modules/glob (Makefile.am): Likewise.
37089         * modules/group-member (Makefile.am): Likewise.
37090         * modules/hard-locale (Makefile.am): Likewise.
37091         * modules/hash (Makefile.am): Likewise.
37092         * modules/hmac-md5 (Makefile.am): Likewise.
37093         * modules/hmac-sha1 (Makefile.am): Likewise.
37094         * modules/human (Makefile.am): Likewise.
37095         * modules/idcache (Makefile.am): Likewise.
37096         * modules/imaxabs (Makefile.am): Likewise.
37097         * modules/imaxdiv (Makefile.am): Likewise.
37098         * modules/inet_ntop (Makefile.am): Likewise.
37099         * modules/inet_pton (Makefile.am): Likewise.
37100         * modules/intprops (Makefile.am): Likewise.
37101         * modules/inttostr (Makefile.am): Likewise.
37102         * modules/inttypes (Makefile.am): Likewise.
37103         * modules/isapipe (Makefile.am): Likewise.
37104         * modules/javaversion (Makefile.am): Likewise.
37105         * modules/lchmod (Makefile.am): Likewise.
37106         * modules/lchown (Makefile.am): Likewise.
37107         * modules/localcharset (Makefile.am): Likewise.
37108         * modules/long-options (Makefile.am): Likewise.
37109         * modules/lstat (Makefile.am): Likewise.
37110         * modules/malloc (Makefile.am): Likewise.
37111         * modules/mathl (Makefile.am): Likewise.
37112         * modules/mbchar (Makefile.am): Likewise.
37113         * modules/md2 (Makefile.am): Likewise.
37114         * modules/md4 (Makefile.am): Likewise.
37115         * modules/md5 (Makefile.am): Likewise.
37116         * modules/memcasecmp (Makefile.am): Likewise.
37117         * modules/memchr (Makefile.am): Likewise.
37118         * modules/memcmp (Makefile.am): Likewise.
37119         * modules/memcoll (Makefile.am): Likewise.
37120         * modules/memcpy (Makefile.am): Likewise.
37121         * modules/memmem (Makefile.am): Likewise.
37122         * modules/memmove (Makefile.am): Likewise.
37123         * modules/mempcpy (Makefile.am): Likewise.
37124         * modules/memrchr (Makefile.am): Likewise.
37125         * modules/memset (Makefile.am): Likewise.
37126         * modules/memxor (Makefile.am): Likewise.
37127         * modules/mkancesdirs (Makefile.am): Likewise.
37128         * modules/mkdir-p (Makefile.am): Likewise.
37129         * modules/mkdir (Makefile.am): Likewise.
37130         * modules/mkdtemp (Makefile.am): Likewise.
37131         * modules/mkstemp (Makefile.am): Likewise.
37132         * modules/mktime (Makefile.am): Likewise.
37133         * modules/modechange (Makefile.am): Likewise.
37134         * modules/mountlist (Makefile.am): Likewise.
37135         * modules/nanosleep (Makefile.am): Likewise.
37136         * modules/obstack (Makefile.am): Likewise.
37137         * modules/openat (Makefile.am): Likewise.
37138         * modules/pagealign_alloc (Makefile.am): Likewise.
37139         * modules/pathmax (Makefile.am): Likewise.
37140         * modules/physmem (Makefile.am): Likewise.
37141         * modules/poll (Makefile.am): Likewise.
37142         * modules/posixtm (Makefile.am): Likewise.
37143         * modules/posixver (Makefile.am): Likewise.
37144         * modules/putenv (Makefile.am): Likewise.
37145         * modules/quote (Makefile.am): Likewise.
37146         * modules/quotearg (Makefile.am): Likewise.
37147         * modules/raise (Makefile.am): Likewise.
37148         * modules/read-file (Makefile.am): Likewise.
37149         * modules/readline (Makefile.am): Likewise.
37150         * modules/readlink (Makefile.am): Likewise.
37151         * modules/readtokens (Makefile.am): Likewise.
37152         * modules/readutmp (Makefile.am): Likewise.
37153         * modules/realloc (Makefile.am): Likewise.
37154         * modules/regex (Makefile.am): Likewise.
37155         * modules/rename-dest-slash (Makefile.am): Likewise.
37156         * modules/rename (Makefile.am): Likewise.
37157         * modules/rijndael (Makefile.am): Likewise.
37158         * modules/rmdir (Makefile.am): Likewise.
37159         * modules/rpmatch (Makefile.am): Likewise.
37160         * modules/safe-read (Makefile.am): Likewise.
37161         * modules/safe-write (Makefile.am): Likewise.
37162         * modules/same-inode (Makefile.am): Likewise.
37163         * modules/same (Makefile.am): Likewise.
37164         * modules/save-cwd (Makefile.am): Likewise.
37165         * modules/savedir (Makefile.am): Likewise.
37166         * modules/setenv (Makefile.am): Likewise.
37167         * modules/settime (Makefile.am): Likewise.
37168         * modules/sha1 (Makefile.am): Likewise.
37169         * modules/sig2str (Makefile.am): Likewise.
37170         * modules/snprintf (Makefile.am): Likewise.
37171         * modules/stat-macros (Makefile.am): Likewise.
37172         * modules/stat-time (Makefile.am): Likewise.
37173         * modules/stdbool (Makefile.am): Likewise.
37174         * modules/stdint (Makefile.am): Likewise.
37175         * modules/stdlib-safer (Makefile.am): Likewise.
37176         * modules/stpcpy (Makefile.am): Likewise.
37177         * modules/stpncpy (Makefile.am): Likewise.
37178         * modules/strcase (Makefile.am): Likewise.
37179         * modules/strcasestr (Makefile.am): Likewise.
37180         * modules/strchrnul (Makefile.am): Likewise.
37181         * modules/strcspn (Makefile.am): Likewise.
37182         * modules/strdup (Makefile.am): Likewise.
37183         * modules/strerror (Makefile.am): Likewise.
37184         * modules/strftime (Makefile.am): Likewise.
37185         * modules/strndup (Makefile.am): Likewise.
37186         * modules/strnlen (Makefile.am): Likewise.
37187         * modules/strpbrk (Makefile.am): Likewise.
37188         * modules/strsep (Makefile.am): Likewise.
37189         * modules/strstr (Makefile.am): Likewise.
37190         * modules/strtod (Makefile.am): Likewise.
37191         * modules/strtoimax (Makefile.am): Likewise.
37192         * modules/strtok_r (Makefile.am): Likewise.
37193         * modules/strtol (Makefile.am): Likewise.
37194         * modules/strtoll (Makefile.am): Likewise.
37195         * modules/strtoul (Makefile.am): Likewise.
37196         * modules/strtoull (Makefile.am): Likewise.
37197         * modules/strtoumax (Makefile.am): Likewise.
37198         * modules/strverscmp (Makefile.am): Likewise.
37199         * modules/sys_socket (Makefile.am): Likewise.
37200         * modules/sys_stat (Makefile.am): Likewise.
37201         * modules/sysexits (Makefile.am): Likewise.
37202         * modules/time_r (Makefile.am): Likewise.
37203         * modules/timegm (Makefile.am): Likewise.
37204         * modules/timespec (Makefile.am): Likewise.
37205         * modules/tmpfile-safer (Makefile.am): Likewise.
37206         * modules/trim (Makefile.am): Likewise.
37207         * modules/unistd-safer (Makefile.am): Likewise.
37208         * modules/unlinkdir (Makefile.am): Likewise.
37209         * modules/unlocked-io (Makefile.am): Likewise.
37210         * modules/userspec (Makefile.am): Likewise.
37211         * modules/utime (Makefile.am): Likewise.
37212         * modules/utimecmp (Makefile.am): Likewise.
37213         * modules/utimens (Makefile.am): Likewise.
37214         * modules/vasnprintf (Makefile.am): Likewise.
37215         * modules/vasprintf (Makefile.am): Likewise.
37216         * modules/vsnprintf (Makefile.am): Likewise.
37217         * modules/xalloc (Makefile.am): Likewise.
37218         * modules/xgetcwd (Makefile.am): Likewise.
37219         * modules/xnanosleep (Makefile.am): Likewise.
37220         * modules/xreadlink (Makefile.am): Likewise.
37221         * modules/xstrtod (Makefile.am): Likewise.
37222         * modules/xstrtol (Makefile.am): Likewise.
37223         * modules/xstrtold (Makefile.am): Likewise.
37224         * modules/yesno (Makefile.am): Likewise.
37225         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
37226
37227 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
37228
37229         * modules/error (Makefile.am): Distribute files through
37230         EXTRA_DIST, not lib_SOURCES.
37231
37232 2006-10-12  Eric Blake  <ebb9@byu.net>
37233
37234         * modules/error (Makefile.am): Distribute files in /lib.
37235         * modules/obstack (Makefile.am): Likewise.
37236
37237 2006-10-12  Bruno Haible  <bruno@clisp.org>
37238
37239         * modules/acl (Makefile.am): Distribute all files in lib/ through
37240         EXTRA_DIST.
37241         * modules/arcfour (Makefile.am): Likewise.
37242         * modules/arctwo (Makefile.am): Likewise.
37243         * modules/argmatch (Makefile.am): Likewise.
37244         * modules/argz (Makefile.am): Likewise.
37245         * modules/atexit (Makefile.am): Likewise.
37246         * modules/backupfile (Makefile.am): Likewise.
37247         * modules/c-strtod (Makefile.am): Likewise.
37248         * modules/c-strtold (Makefile.am): Likewise.
37249         * modules/calloc (Makefile.am): Likewise.
37250         * modules/canon-host (Makefile.am): Likewise.
37251         * modules/canonicalize (Makefile.am): Likewise.
37252         * modules/chdir-long (Makefile.am): Likewise.
37253         * modules/chdir-safer (Makefile.am): Likewise.
37254         * modules/check-version (Makefile.am): Likewise.
37255         * modules/chown (Makefile.am): Likewise.
37256         * modules/cloexec (Makefile.am): Likewise.
37257         * modules/close-stream (Makefile.am): Likewise.
37258         * modules/closeout (Makefile.am): Likewise.
37259         * modules/crc (Makefile.am): Likewise.
37260         * modules/cycle-check (Makefile.am): Likewise.
37261         * modules/des (Makefile.am): Likewise.
37262         * modules/dirfd (Makefile.am): Likewise.
37263         * modules/dirname (Makefile.am): Likewise.
37264         * modules/dup2 (Makefile.am): Likewise.
37265         * modules/euidaccess (Makefile.am): Likewise.
37266         * modules/exclude (Makefile.am): Likewise.
37267         * modules/exitfail (Makefile.am): Likewise.
37268         * modules/fcntl-safer (Makefile.am): Likewise.
37269         * modules/file-type (Makefile.am): Likewise.
37270         * modules/fileblocks (Makefile.am): Likewise.
37271         * modules/filemode (Makefile.am): Likewise.
37272         * modules/filenamecat (Makefile.am): Likewise.
37273         * modules/fnmatch (Makefile.am): Likewise.
37274         * modules/fopen-safer (Makefile.am): Likewise.
37275         * modules/fpending (Makefile.am): Likewise.
37276         * modules/fprintftime (Makefile.am): Likewise.
37277         * modules/free (Makefile.am): Likewise.
37278         * modules/fsusage (Makefile.am): Likewise.
37279         * modules/ftruncate (Makefile.am): Likewise.
37280         * modules/fts (Makefile.am): Likewise.
37281         * modules/gc (Makefile.am): Likewise.
37282         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
37283         * modules/getaddrinfo (Makefile.am): Likewise.
37284         * modules/getcwd (Makefile.am): Likewise.
37285         * modules/getdelim (Makefile.am): Likewise.
37286         * modules/getdomainname (Makefile.am): Likewise.
37287         * modules/getgroups (Makefile.am): Likewise.
37288         * modules/gethostname (Makefile.am): Likewise.
37289         * modules/gethrxtime (Makefile.am): Likewise.
37290         * modules/getline (Makefile.am): Likewise.
37291         * modules/getloadavg (Makefile.am): Likewise.
37292         * modules/getlogin_r (Makefile.am): Likewise.
37293         * modules/getopt (Makefile.am): Likewise.
37294         * modules/getpass (Makefile.am): Likewise.
37295         * modules/getpass-gnu (Makefile.am): Likewise.
37296         * modules/getsubopt (Makefile.am): Likewise.
37297         * modules/gettime (Makefile.am): Likewise.
37298         * modules/gettimeofday (Makefile.am): Likewise.
37299         * modules/getugroups (Makefile.am): Likewise.
37300         * modules/getusershell (Makefile.am): Likewise.
37301         * modules/glob (Makefile.am): Likewise.
37302         * modules/group-member (Makefile.am): Likewise.
37303         * modules/hard-locale (Makefile.am): Likewise.
37304         * modules/hash (Makefile.am): Likewise.
37305         * modules/hmac-md5 (Makefile.am): Likewise.
37306         * modules/hmac-sha1 (Makefile.am): Likewise.
37307         * modules/human (Makefile.am): Likewise.
37308         * modules/idcache (Makefile.am): Likewise.
37309         * modules/imaxabs (Makefile.am): Likewise.
37310         * modules/imaxdiv (Makefile.am): Likewise.
37311         * modules/inet_ntop (Makefile.am): Likewise.
37312         * modules/inet_pton (Makefile.am): Likewise.
37313         * modules/inttostr (Makefile.am): Likewise.
37314         * modules/isapipe (Makefile.am): Likewise.
37315         * modules/lchown (Makefile.am): Likewise.
37316         * modules/long-options (Makefile.am): Likewise.
37317         * modules/lstat (Makefile.am): Likewise.
37318         * modules/malloc (Makefile.am): Likewise.
37319         * modules/mathl (Makefile.am): Likewise.
37320         * modules/mbchar (Makefile.am): Likewise.
37321         * modules/md2 (Makefile.am): Likewise.
37322         * modules/md4 (Makefile.am): Likewise.
37323         * modules/md5 (Makefile.am): Likewise.
37324         * modules/memcasecmp (Makefile.am): Likewise.
37325         * modules/memchr (Makefile.am): Likewise.
37326         * modules/memcmp (Makefile.am): Likewise.
37327         * modules/memcoll (Makefile.am): Likewise.
37328         * modules/memcpy (Makefile.am): Likewise.
37329         * modules/memmem (Makefile.am): Likewise.
37330         * modules/memmove (Makefile.am): Likewise.
37331         * modules/mempcpy (Makefile.am): Likewise.
37332         * modules/memrchr (Makefile.am): Likewise.
37333         * modules/memset (Makefile.am): Likewise.
37334         * modules/memxor (Makefile.am): Likewise.
37335         * modules/mkancesdirs (Makefile.am): Likewise.
37336         * modules/mkdir (Makefile.am): Likewise.
37337         * modules/mkdir-p (Makefile.am): Likewise.
37338         * modules/mkdtemp (Makefile.am): Likewise.
37339         * modules/mkstemp (Makefile.am): Likewise.
37340         * modules/mktime (Makefile.am): Likewise.
37341         * modules/modechange (Makefile.am): Likewise.
37342         * modules/mountlist (Makefile.am): Likewise.
37343         * modules/nanosleep (Makefile.am): Likewise.
37344         * modules/openat (Makefile.am): Likewise.
37345         * modules/pagealign_alloc (Makefile.am): Likewise.
37346         * modules/physmem (Makefile.am): Likewise.
37347         * modules/poll (Makefile.am): Likewise.
37348         * modules/posixtm (Makefile.am): Likewise.
37349         * modules/posixver (Makefile.am): Likewise.
37350         * modules/putenv (Makefile.am): Likewise.
37351         * modules/quote (Makefile.am): Likewise.
37352         * modules/quotearg (Makefile.am): Likewise.
37353         * modules/raise (Makefile.am): Likewise.
37354         * modules/read-file (Makefile.am): Likewise.
37355         * modules/readline (Makefile.am): Likewise.
37356         * modules/readlink (Makefile.am): Likewise.
37357         * modules/readtokens (Makefile.am): Likewise.
37358         * modules/readutmp (Makefile.am): Likewise.
37359         * modules/realloc (Makefile.am): Likewise.
37360         * modules/regex (Makefile.am): Likewise.
37361         * modules/rename (Makefile.am): Likewise.
37362         * modules/rename-dest-slash (Makefile.am): Likewise.
37363         * modules/rijndael (Makefile.am): Likewise.
37364         * modules/rmdir (Makefile.am): Likewise.
37365         * modules/rpmatch (Makefile.am): Likewise.
37366         * modules/safe-read (Makefile.am): Likewise.
37367         * modules/safe-write (Makefile.am): Likewise.
37368         * modules/same (Makefile.am): Likewise.
37369         * modules/save-cwd (Makefile.am): Likewise.
37370         * modules/savedir (Makefile.am): Likewise.
37371         * modules/setenv (Makefile.am): Likewise.
37372         * modules/settime (Makefile.am): Likewise.
37373         * modules/sha1 (Makefile.am): Likewise.
37374         * modules/sig2str (Makefile.am): Likewise.
37375         * modules/snprintf (Makefile.am): Likewise.
37376         * modules/stdlib-safer (Makefile.am): Likewise.
37377         * modules/stpcpy (Makefile.am): Likewise.
37378         * modules/stpncpy (Makefile.am): Likewise.
37379         * modules/strcase (Makefile.am): Likewise.
37380         * modules/strcasestr (Makefile.am): Likewise.
37381         * modules/strchrnul (Makefile.am): Likewise.
37382         * modules/strcspn (Makefile.am): Likewise.
37383         * modules/strdup (Makefile.am): Likewise.
37384         * modules/strerror (Makefile.am): Likewise.
37385         * modules/strftime (Makefile.am): Likewise.
37386         * modules/strndup (Makefile.am): Likewise.
37387         * modules/strnlen (Makefile.am): Likewise.
37388         * modules/strpbrk (Makefile.am): Likewise.
37389         * modules/strsep (Makefile.am): Likewise.
37390         * modules/strstr (Makefile.am): Likewise.
37391         * modules/strtod (Makefile.am): Likewise.
37392         * modules/strtoimax (Makefile.am): Likewise.
37393         * modules/strtok_r (Makefile.am): Likewise.
37394         * modules/strtol (Makefile.am): Likewise.
37395         * modules/strtoll (Makefile.am): Likewise.
37396         * modules/strtoul (Makefile.am): Likewise.
37397         * modules/strtoull (Makefile.am): Likewise.
37398         * modules/strtoumax (Makefile.am): Likewise.
37399         * modules/strverscmp (Makefile.am): Likewise.
37400         * modules/time_r (Makefile.am): Likewise.
37401         * modules/timegm (Makefile.am): Likewise.
37402         * modules/tmpfile-safer (Makefile.am): Likewise.
37403         * modules/unistd-safer (Makefile.am): Likewise.
37404         * modules/unlinkdir (Makefile.am): Likewise.
37405         * modules/userspec (Makefile.am): Likewise.
37406         * modules/utime (Makefile.am): Likewise.
37407         * modules/utimecmp (Makefile.am): Likewise.
37408         * modules/utimens (Makefile.am): Likewise.
37409         * modules/vasnprintf (Makefile.am): Likewise.
37410         * modules/vasprintf (Makefile.am): Likewise.
37411         * modules/vsnprintf (Makefile.am): Likewise.
37412         * modules/xalloc (Makefile.am): Likewise.
37413         * modules/xgetcwd (Makefile.am): Likewise.
37414         * modules/xnanosleep (Makefile.am): Likewise.
37415         * modules/xreadlink (Makefile.am): Likewise.
37416         * modules/xstrtod (Makefile.am): Likewise.
37417         * modules/xstrtol (Makefile.am): Likewise.
37418         * modules/xstrtold (Makefile.am): Likewise.
37419         * modules/yesno (Makefile.am): Likewise.
37420
37421 2006-10-12  Jim Meyering  <jim@meyering.net>
37422
37423         * m4/getloadavg.m4: Revert the change below.
37424
37425         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
37426         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
37427         fail with a symlink, which is what coreutils' ./bootstrap now
37428         creates by default.
37429
37430 2006-10-12  Bruno Haible  <bruno@clisp.org>
37431
37432         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
37433         mingw.
37434         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
37435         MSVC and mingw explicitly.
37436
37437 2006-10-11  Simon Josefsson  <jas@extundo.com>
37438             Bruno Haible  <bruno@clisp.org>
37439
37440         Add support for multiple gnulib-tool invocations in the scope of a
37441         single configure.ac file.
37442         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
37443         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
37444         with the same contents as the _LIBADD variable.
37445         (func_emit_initmacro_start, func_emit_initmacro_end,
37446         func_emit_initmacro_done): New functions.
37447         (func_import, func_create_testdir): Invoke them. Allow the identifiers
37448         gl_LIBOBJS and gl_LTLIBOBJS.
37449
37450 2006-10-11  Bruno Haible  <bruno@clisp.org>
37451
37452         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
37453         (func_create_testdir): Don't create po/Makefile.am, don't invoke
37454         autoreconf. Instead, invoke autopoint explicitly but move back the
37455         *.m4 files from gnulib.
37456
37457 2006-10-11  Bruno Haible  <bruno@clisp.org>
37458
37459         * gnulib-tool (func_usage): Make module names after --create-testdir
37460         optional.
37461         (func_create_testdir): If no module was specified, use nearly all
37462         modules.
37463
37464 2006-10-12  Jim Meyering  <jim@meyering.net>
37465
37466         Big performance improvement for fts-based tools that use FTS_NOSTAT.
37467         Avoid spurious inode-mismatch problems on non-POSIX file systems.
37468         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
37469         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
37470         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
37471         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
37472         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
37473         (fts_set_stat_required): New function.
37474         (fts_open): Defer the calls to fts_stat, if possible or requested.
37475         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
37476         into fts_stat itself.
37477         (fts_read): Perform any required (deferred) fts_stat call.
37478         (fts_build): Likewise, for the directory we're about to open and read.
37479         In the readdir loop, carefully decide whether each entry will require
37480         an eventual call to fts_stat, using dirent.d_type info if available.
37481         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
37482         a command line argument into this function.  Update all callers.
37483         Map a return value of FTS_DOT to FTS_D for a command line argument.
37484         * modules/fts (Depends-on): Add d-type.  Alphabetize.
37485         Thanks to Miklos Szeredi for his tenacity and for the initial
37486         bug report about "find" failing on a FUSE-based file system.
37487
37488         * lib/fts.c (fts_open): Use consistent indentation.
37489
37490 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
37491
37492         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
37493         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
37494         reported by Jim Meyering.  All uses of cache variables renamed
37495         to match Autoconf's.
37496         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
37497         the other one.
37498
37499         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
37500         Fix misspelling in diagnostic.
37501
37502 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
37503
37504         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
37505         defined.  Problem reported by Matthew Woehlke.
37506
37507         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
37508         Add support for Tandem NonStop R series.
37509         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
37510         Use new macro.
37511
37512         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
37513         (has_trailing_slash): Omit size arg; all callers changed.
37514         Omit 'inline', since it doesn't help performance and we'd
37515         need to configure it.
37516         Don't count //, ///, etc. as having a trailing slash.
37517         As a side effect, this removes a C99ism reported by Matthew Woehlke.
37518         (rpl_rename_dest_slash): On failure, use rename's errno rather
37519         than (in some cases) an incorrect or junk errno.
37520         Simplify code by removing need to compute length; this does
37521         cause it to make two passes instead of one over the file name,
37522         but it's worth it.
37523
37524         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
37525         change, since Autoconf's version may no longer be appropriate now
37526         that we are using CVS Autoconf's version.  Add support for Tandem.
37527
37528 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
37529             Bruno Haible  <bruno@clisp.org>
37530
37531         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
37532         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
37533         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
37534         gl_AC_TYPE_LONG_LONG.
37535
37536         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
37537         instead of HAVE_LONG_LONG.
37538         * lib/printf-args.c (printf_fetchargs): Likewise.
37539         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
37540         * lib/vasnprintf.c (VASNPRINTF): Likewise.
37541         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
37542         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
37543         gl_AC_TYPE_LONG_LONG.
37544
37545 2006-10-11  Bruno Haible  <bruno@clisp.org>
37546
37547         * m4/longlong.m4: Add comments.
37548         * m4/ulonglong.m4: Likewise.
37549
37550 2006-10-10  Bruno Haible  <bruno@clisp.org>
37551
37552         Make it possible to #define stpcpy, strdup to aliases.
37553         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
37554         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
37555
37556 2006-10-10  Bruno Haible  <bruno@clisp.org>
37557
37558         Make it possible to #define gcd to an alias.
37559         * lib/gcd.c: Include config.h.
37560
37561 2006-10-10  Bruno Haible  <bruno@clisp.org>
37562
37563         Make it possible to #define c_isascii to an alias.
37564         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
37565         defined. Undefine the macros before defining them, to avoid gcc
37566         warnings.
37567         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
37568         define NO_C_CTYPE_MACROS early.
37569
37570 2006-10-10  Bruno Haible  <bruno@clisp.org>
37571
37572         Make it possible to #define set_program_name to an alias.
37573         * lib/progname.c: Don't undefine set_program_name; instead, undefine
37574         ENABLE_RELOCATABLE early.
37575
37576 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
37577
37578         Port to Tandem NSK OSS, which has 64-bit signed int but at most
37579         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
37580         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
37581         More generally, don't assume that 64-bit signed int is available
37582         if unsigned int is, and vice versa.
37583         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
37584         unsigned symbols, not on their signed counterparts.
37585         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
37586         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
37587         (UINT64_C, UINTMAX_C):
37588         Likewise.
37589         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
37590         unsigned counterparts.
37591         (Have_long_long, Unsigned): New macros.
37592         (Int): Renamed from INT.
37593         (strtoimax): Use the new macros.
37594         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
37595         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
37596         * modules/inttypes (inttypes.h): Substitute
37597         HAVE_UNSIGNED_LONG_LONG_INT.
37598         * modules/stdint (stdint.h): Likewise.
37599         (Files): Add m4/ulonglong.m4.
37600
37601 2006-10-10  Bruno Haible  <bruno@clisp.org>
37602
37603         Fix a gcc -Wshadow warning.
37604         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
37605         to 'bucket'.
37606         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
37607         gl_linked_indexof_from_to): Likewise.
37608         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
37609         Likewise.
37610         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
37611         Likewise.
37612         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
37613         Reported by Eric Blake.
37614
37615 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
37616
37617         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
37618         for NetBSD.  Problem reported by Bruno Haible.
37619
37620 2006-10-09  Jim Meyering  <jim@meyering.net>
37621
37622         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
37623         Patch from Bruno Haible.
37624
37625 2006-10-09  Jim Meyering  <jim@meyering.net>
37626
37627         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
37628         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
37629         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
37630
37631 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
37632
37633         Don't include <config.h> twice; this doesn't work in some cases,
37634         e.g., when config.h has "#define intmax_t long long int" and
37635         we include <config.h>, <inttypes.h>, <config.h> in that order.
37636         Problem reported by Matthew Woehlke in:
37637         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
37638         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
37639         * lib/fts-cycle.c: Don't include config.h.
37640         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
37641         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
37642         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
37643         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
37644         inttypes.h.
37645         * lib/xstrtoumax.c: Likewise.
37646         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
37647         __strtol and the like, so that this module is more like its siblings.
37648         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
37649         Remove; no longer needed now that we assume gnulib inttypes.h.
37650
37651 2006-10-08  Bruno Haible  <bruno@clisp.org>
37652
37653         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
37654         option.
37655
37656 2006-10-07  Jim Meyering  <jim@meyering.net>
37657
37658         * modules/inttypes (inttypes.h): Revert what seems to have been
37659         an inadvertent part of today's change: use "|", not "/" in the
37660         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
37661
37662 2006-10-07  Bruno Haible  <bruno@clisp.org>
37663
37664         * modules/sublist: New file.
37665
37666 2006-10-07  Bruno Haible  <bruno@clisp.org>
37667
37668         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
37669         * modules/argz (argz.h): Likewise.
37670         * modules/arpa_inet (arpa/inet.h): Likewise.
37671         * modules/byteswap (byteswap.h): Likewise.
37672         * modules/configmake (configmake.h): Likewise.
37673         * modules/fcntl (fcntl.h): Likewise.
37674         * modules/fnmatch (fnmatch.h): Likewise.
37675         * modules/getopt (getopt.h): Likewise.
37676         * modules/glob (glob.h): Likewise.
37677         * modules/inttypes (inttypes.h): Likewise.
37678         * modules/netinet_in (netinet/in.h): Likewise.
37679         * modules/poll (poll.h): Likewise.
37680         * modules/stdbool (stdbool.h): Likewise.
37681         * modules/stdint (stdint.h): Likewise.
37682         * modules/sys_select (sys/select.h): Likewise.
37683         * modules/sys_socket (sys/socket.h): Likewise.
37684         * modules/sys_stat (sys/stat.h): Likewise.
37685         * modules/sysexits (sysexits.h): Likewise.
37686         * modules/unistd (unistd.h): Likewise.
37687         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
37688         Add a "DO NOT EDIT" comment to the generated file.
37689         (func_import): Likewise for gnulib-comp.m4.
37690
37691 2006-10-07  Bruno Haible  <bruno@clisp.org>
37692
37693         * lib/gl_sublist.h: New file.
37694         * lib/gl_sublist.c: New file.
37695
37696 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
37697
37698         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
37699         name (relative to the original working directory) and the file
37700         name component (relative to the temporary working directory).  All
37701         callers changed.
37702         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
37703         * lib/mkdir-p.c (make_dir_parents): Likewise.
37704         * lib/mkdir-p.h (make_dir_parents): Likewise.
37705
37706 2006-10-06  Eric Blake  <ebb9@byu.net>
37707
37708         Define several macros for use by the clean-temp module.
37709         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
37710         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
37711         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
37712
37713         * lib/clean-temp.h (close_stream_temp): New declaration.
37714         * lib/clean-temp.c (includes): Pull in headers according to what
37715         other modules are in use.
37716         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
37717
37718 2006-10-06  Bruno Haible  <bruno@clisp.org>
37719
37720         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
37721         instead of fopen, fwriteerror.
37722
37723 2006-10-06  Bruno Haible  <bruno@clisp.org>
37724
37725         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
37726         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
37727         int.
37728         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
37729         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
37730         Return an error indicator.
37731         Suggested by Eric Blake.
37732
37733 2006-10-06  Bruno Haible  <bruno@clisp.org>
37734
37735         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
37736         Reported by Eric Blake.
37737
37738 2006-10-06  Bruno Haible  <bruno@clisp.org>
37739
37740         * modules/closeout (Description): Mention stderr too.
37741
37742 2006-10-06  Bruno Haible  <bruno@clisp.org>
37743         and Paul Eggert  <eggert@cs.ucla.edu>
37744
37745         * lib/closeout.c (close_stdout): Also close stderr.
37746         * lib/closeout.h: Update comment.
37747
37748 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
37749
37750         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
37751         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
37752         * lib/dirchownmod.c: Include lchown.h.
37753         * lib/lchown.c: Don't include files that lchown.h now includes.
37754         Don't declare chown, since lchown.h now does that.
37755         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
37756         (lchown): Define to rpl_chown if lchown is declared but
37757         does not exist.  Declare using a prototype if lchown is not
37758         declared.  Add a copyright notice.
37759         * lib/mkstemp.h: Include <unistd.h>.
37760         * lib/openat.c: Include lchown.h.
37761
37762         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
37763         we now test for that separately.
37764         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
37765         rather than O_NOFOLLOW, when testing whether it's possible to
37766         avoid a race condition reliably.
37767         * lib/savewd.c (savewd_chdir): Likewise.
37768
37769         Remove macros that are no longer needed now that stdint.h is
37770         reliable.
37771         * lib/fsusage.c (UINTMAX_MAX): Remove.
37772         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
37773         * lib/utimecmp.c (SIZE_MAX): Remove.
37774
37775         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
37776
37777         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
37778         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
37779         O_NOATIME works.
37780
37781 2006-10-05  Bruno Haible  <bruno@clisp.org>
37782
37783         * lib/gl_list.h (gl_sortedlist_search_from_to,
37784         gl_sortedlist_indexof_from_to): New declarations.
37785         (gl_list_implementation): New fields sortedlist_search_from_to,
37786         sortedlist_indexof_from_to.
37787         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
37788         inline functions.
37789         * lib/gl_list.c (gl_sortedlist_search_from_to,
37790         gl_sortedlist_indexof_from_to): New functions.
37791         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
37792         function.
37793         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
37794         (gl_array_sortedlist_search_from_to): New function.
37795         (gl_array_list_implementation): Update.
37796         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
37797         function.
37798         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
37799         (gl_carray_sortedlist_search_from_to): New function.
37800         (gl_carray_list_implementation): Update.
37801         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
37802         gl_linked_sortedlist_indexof_from_to): New functions.
37803         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
37804         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
37805         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
37806         gl_tree_sortedlist_indexof_from_to): New functions.
37807         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
37808         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
37809         Update.
37810         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
37811         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
37812         Update.
37813
37814 2006-10-05  Bruno Haible  <bruno@clisp.org>
37815
37816         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
37817         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
37818         (struct gl_list_implementation): Add fields search_from_to,
37819         indexof_from_to. Remove fields search, indexof.
37820         (gl_list_search): Use the search_from_to method.
37821         (gl_list_search_from, gl_list_search_from_to): New functions.
37822         (gl_list_indexof): Use the indexof_from_to method.
37823         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
37824         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
37825         (gl_list_search_from, gl_list_search_from_to): New functions.
37826         (gl_list_indexof): Use the indexof_from_to method.
37827         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
37828         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
37829         gl_array_indexof. Add start_index, end_index arguments.
37830         (gl_array_search_from_to): Renamed from gl_array_search. Add
37831         start_index, end_index arguments.
37832         (gl_array_remove, gl_array_list_implementation): Update.
37833         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
37834         gl_carray_indexof. Add start_index, end_index arguments.
37835         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
37836         start_index, end_index arguments.
37837         (gl_carray_remove, gl_carray_list_implementation): Update.
37838         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
37839         gl_linked_search. Add start_index, end_index arguments.
37840         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
37841         start_index, end_index arguments.
37842         (gl_linked_remove): Update.
37843         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
37844         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
37845         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
37846         field to 'size_t'.
37847         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
37848         gl_tree_search. Add start_index, end_index arguments.
37849         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
37850         start_index, end_index arguments.
37851         (gl_tree_remove): Update.
37852         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
37853         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
37854         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
37855         function.
37856         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
37857         gl_tree_search. Add start_index, end_index arguments.
37858         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
37859         start_index, end_index arguments.
37860         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
37861         Update.
37862         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
37863
37864 2006-10-05  Bruno Haible  <bruno@clisp.org>
37865
37866         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
37867
37868         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
37869         fwriteerror_temp): New declarations.
37870         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
37871         (descriptors): New variable.
37872         (cleanup): First, close the descriptors.
37873         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
37874         fclose_temp, fwriteerror_temp): New functions.
37875
37876 2006-10-04  Jim Meyering  <jim@meyering.net>
37877
37878         * lib/fts.c (fts_open): Tiny comment change.
37879
37880 2006-10-04  Bruno Haible  <bruno@clisp.org>
37881
37882         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
37883         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
37884         gl_LOCK_BODY.
37885         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
37886         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
37887         gl_LOCK_EARLY_BODY.
37888         (gl_LOCK): Require gl_LOCK_BODY.
37889
37890 2006-10-04  Bruno Haible  <bruno@clisp.org>
37891
37892         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
37893         (gl_oset_search_atleast): New declaration.
37894         (struct gl_oset_implementation): Add field 'search_atleast'.
37895         (gl_oset_search_atleast): New inline function.
37896         * lib/gl_oset.c (gl_oset_search_atleast): New function.
37897         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
37898         (gl_array_oset_implementation): Update.
37899         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
37900         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
37901         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
37902
37903 2006-10-04  Bruno Haible  <bruno@clisp.org>
37904
37905         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
37906
37907 2006-10-03  Bruno Haible  <bruno@clisp.org>
37908
37909         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
37910         from gl_avltreehash_list_implementation.
37911
37912 2006-10-03  Bruno Haible  <bruno@clisp.org>
37913
37914         * lib/gl_oset.c (gl_oset_add): Fix return type.
37915
37916 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
37917
37918         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
37919
37920 2006-10-02  Eric Blake  <ebb9@byu.net>
37921
37922         * modules/strnlen (Depends-on): Add extensions.
37923
37924 2006-10-02  Eric Blake  <ebb9@byu.net>
37925
37926         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
37927         definition in 2.60+.
37928
37929 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
37930
37931         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
37932         checks.
37933
37934 2006-10-02  Bruno Haible  <bruno@clisp.org>
37935
37936         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
37937         to the AUTOMAKE_OPTIONS.
37938         Reported by Jim Meyering.
37939
37940 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
37941
37942         Work around bug in Solaris 10 /proc file system:
37943         /proc/self/fd/NNN/.. isn't the parent directory of
37944         the directory whose file descriptor is NNN.  This needs to
37945         be worked around at run time, not compile time, since a
37946         program might be built on Solaris 8, where things work, and
37947         run on Solaris 10.
37948         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
37949         to use the following interface instead:
37950         (OPENAT_BUFFER_SIZE): New macro.
37951         (openat_proc_name): New function.
37952         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
37953         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
37954         Likewise.
37955         * lib/openat-proc.c: New file.
37956         * modules/openat (Files): Add lib/openat-proc.c.
37957         (Depends-on): Add same-inode, stdbool.
37958         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
37959
37960 2006-09-29  Bruno Haible  <bruno@clisp.org>
37961
37962         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
37963         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
37964         argument. Set stdout_closed before testing for ferror, not after.
37965         (fwriteerror, fwriteerror_no_ebadf): New functions.
37966
37967 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37968
37969         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
37970
37971 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
37972
37973         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
37974         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
37975
37976 2006-09-28  Jim Meyering  <jim@meyering.net>
37977
37978         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
37979         Include <unistd.h>.
37980
37981 2006-09-28  Bruno Haible  <bruno@clisp.org>
37982
37983         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
37984         * modules/linkedhash-list (Depends-on): Likewise.
37985         * modules/rbtreehash-list (Depends-on): Likewise.
37986
37987 2006-09-28  Bruno Haible  <bruno@clisp.org>
37988
37989         * lib/strndup.h: Simplify the redefinition of strndup.
37990         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
37991         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
37992
37993 2006-09-28  Bruno Haible  <bruno@clisp.org>
37994
37995         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
37996         * lib/gl_linkedhash_list.c: Likewise.
37997         * lib/gl_rbtreehash_list.c: Likewise.
37998
37999 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
38000
38001         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
38002         getaddrinfo.
38003
38004         * lib/__fpending.h: Don't include <stdio_ext.h> unless
38005         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
38006         it causes <stdio_ext.h> to cause a compile-time error.
38007         Problem reported by Nelson H. F. Beebe.
38008         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
38009         of HAVE_DECL___PENDING.
38010
38011         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
38012         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
38013         declaration.
38014
38015 2006-09-27  Jim Meyering  <jim@meyering.net>
38016
38017         This file could end up with a definition for a function
38018         named __strndup, rather than rpl_strndup on a system with
38019         incomplete weak_alias support.
38020         * lib/strndup.c (strndup): Rename from __strndup.
38021         Remove #defines that used to map __strndup to strndup.
38022         Don't use K&R prototypes.
38023         Remove LIBC-related code, since this file is not sync'd with glibc.
38024         * lib/strndup.h: Revamp, accordingly.
38025         * m4/strndup.m4: Modernize.
38026
38027 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
38028
38029         * modules/savewd (Depends-on): Add 'raise'.
38030         * lib/savewd.c: Include <signal.h>, for 'raise'.
38031
38032 2006-09-26  Jim Meyering  <jim@meyering.net>
38033
38034         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
38035         when we detect Darwin 8.7.0's acl_get_file bug.
38036         Rearrange to perform the new (below) run-test while $LIBS
38037         contains any acl-related library.  Set USE_ACL at the end.
38038         (gl_ACL_GET_FILE): New function.
38039
38040 2006-09-26  Eric Blake  <ebb9@byu.net>
38041
38042         * lib/verror.c: Include <config.h> unconditionally.
38043
38044 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
38045
38046         * modules/clock-time (Maintainer): Add self.
38047         * modules/getlogin_r (Depends-on): Add extensions.
38048
38049 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38050
38051         * modules/clock-time: New module.
38052         * modules/nanosleep (Depends-on): Add clock-time.
38053         * modules/gethrxtime (Depends-on): Likewise.
38054         * modules/gettime (Depends-on): Likewise.
38055         * modules/settime (Depends-on): Likewise.
38056
38057         * modules/fts-lgpl: Depend on openat.
38058         * modules/mkancesdirs: Depend on savewd.
38059         * modules/mkdir-p: Likewise.
38060
38061 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38062
38063         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
38064
38065         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
38066         `gl_have_arbitrary_file_name_length_limit' to
38067         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
38068         actually works between configure runs.
38069
38070 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38071             Bruno Haible  <bruno@clisp.org>
38072
38073         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
38074
38075 2006-09-25  Jim Meyering  <jim@meyering.net>
38076
38077         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
38078         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
38079
38080 2006-09-25  Eric Blake  <ebb9@byu.net>
38081
38082         * gnulib-tool (func_import, func_create_testdir): Fix typos in
38083         exec's in 2006-09-18 patch when shuffling fds.
38084
38085 2006-09-25  Bruno Haible  <bruno@clisp.org>
38086
38087         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
38088         Reported by Jim Meyering.
38089
38090 2006-09-24  Jim Meyering  <jim@meyering.net>
38091
38092         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
38093         compare a pointer against a literal "0".  That caused failures with
38094         at least HP-UX's hpcc.
38095
38096 2006-09-22  Simon Josefsson  <jas@extundo.com>
38097
38098         * modules/gc-sha1:
38099         * modules/gc-md4:
38100         * modules/gc-hmac-sha1:
38101         * modules/gc-hmac-md5:
38102         * modules/gc-des:
38103         * modules/gc-arcfour: Distribute more files.
38104
38105 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38106
38107         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
38108         (gl_linked_iterator_from_to): Initialize struct completely.
38109         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
38110         (gl_tree_iterator_from_to): Likewise
38111         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
38112         * lib/gl_array_list.c [lint] (gl_array_iterator)
38113         (gl_array_iterator_from_to): Likewise.
38114         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
38115         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
38116         (gl_carray_iterator_from_to): Likewise.
38117
38118         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
38119         * lib/md4.c (md4_process_block): Remove unused variable.
38120         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
38121         parentheses for clarity.
38122
38123 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38124
38125         * modules/bison-i18n (Depends-on): Add gettext.
38126
38127 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38128
38129         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
38130         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
38131         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
38132         also add missing comma that caused broken test.
38133         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
38134         stdlib.h, for `abort'.
38135         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
38136         variables.
38137         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
38138         include unistd.h if present, for `rmdir'.
38139         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
38140         variables.
38141         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
38142         in the process include standard headers for prototypes.
38143         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
38144         gets declared on GNU/Linux.
38145         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
38146         unistd.h, for `rmdir'.
38147         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
38148
38149         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
38150         always true.
38151         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
38152
38153         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
38154
38155 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38156
38157         * gnulib-tool (func_version): Create output all at once.  This
38158         may help avoid triggering unnecessary SIGPIPEs, and at any
38159         rate it doesn't hurt.
38160
38161 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38162             Bruno Haible  <bruno@clisp.org>
38163
38164         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
38165         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
38166         * m4/signed.m4 (bh_C_SIGNED): Likewise.
38167
38168         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
38169         (gl_FUNC_VASPRINTF): Invoke it.
38170
38171 2006-09-22  Bruno Haible  <bruno@clisp.org>
38172
38173         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
38174         getloadavg.c as first argument.
38175
38176 2006-09-22  Bruno Haible  <bruno@clisp.org>
38177
38178         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
38179         at the beginning of the gl_INIT macro.
38180         * modules/getloadavg (configure.ac): Pass $gl_source_base to
38181         gl_GETLOADAVG.
38182
38183 2006-09-22  Bruno Haible  <bruno@clisp.org>
38184
38185         * gnulib-tool (func_create_megatestdir): Don't include the config-h
38186         module.
38187         Suggested by Ralf Wildenhues.
38188
38189 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
38190
38191         Import this patch from libc:
38192
38193         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
38194
38195         * lib/regex_internal.c (re_string_reconstruct): Handle
38196         offset < pstr->valid_raw_len && pstr->offsets_needed case.
38197         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
38198         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
38199         re_string_context_at.
38200
38201         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
38202         now requires it.
38203         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
38204         gl_REGEX now does it for us.
38205         (gl_REGEX): Add test taken from
38206         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
38207
38208         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
38209         Check that large offsets work.  Modernize Autoconf usages.
38210         Prefer "yes" to mean a good thing rather than a bad.
38211         Don't put "#define mkstemp" in config.h, as this might interfere
38212         with standard system headers that "#define mkstemp mkstemp64".
38213
38214         * modules/mkstemp (Depends-on): Add extensions, so that
38215         mkstemp is visible on some platforms.
38216         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
38217         (Include): Change to "mkstemp.h" from <stdlib.h>.
38218         (Files): Add mkstemp.h.
38219
38220         * lib/mkstemp.h: New file, since some standard headers
38221         #define mkstemp.
38222         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
38223         Include "mkstemp.h".
38224         Make the _LIBC code resemble glibc original more,
38225         e.g., use K&R style.
38226         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
38227         (mkstemp): Remove, since mkstemp.h does this for us.
38228         * lib/stdlib--.h: Include mkstemp.h.
38229
38230         Import this patch from libc:
38231
38232         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
38233
38234         * lib/tempname.c (__gen_tempname): Change attempts_min
38235         into a macro.  Use preprocessor to decide how to initialize
38236         attempts [Coverity CID 67].
38237
38238 2006-09-20  Bruno Haible  <bruno@clisp.org>
38239
38240         * lib/mkdtemp.c: Import from libc.
38241         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
38242                 * sysdeps/posix/tempname.c (__gen_tempname): Change
38243                 attempts_min into a macro.  Use preprocessor to decide how to
38244                 initialize attempts [Coverity CID 67].
38245         2001-11-27  Paul Eggert  <eggert@twinsun.com>
38246                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
38247                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
38248
38249 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38250
38251         * gnulib-tool (func_exit): New function, to allow to pass the
38252         exit status portably through the trap.  Use everywhere.
38253         (--help, --version): Signal a write error.
38254         (trap): catch SIGPIPE, for write errors.
38255         Exit at the end of the trap, with the correct exit status.
38256
38257 2006-09-19  Karl Berry  <karl@gnu.org>
38258
38259         * doc/gnulib.texi: note about the license texinfo files.
38260
38261 2006-09-19  Eric Blake  <ebb9@byu.net>
38262
38263         * gnulib-tool: Avoid space-tab.
38264
38265 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
38266
38267         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
38268         that prevented coreutils 6.1 from building.  Problem reported
38269         by Petter Reinholdtsen.
38270
38271 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
38272
38273         * gnulib-tool (avoidlist): Fix typo that broke options like
38274         --avoid=lock that are used by coreutils bootstrap.
38275
38276 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
38277
38278         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
38279         more systematically.
38280
38281 2006-09-18  Jim Meyering  <jim@meyering.net>
38282
38283         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
38284
38285 2006-09-18  Bruno Haible  <bruno@clisp.org>
38286
38287         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
38288
38289 2006-09-18  Bruno Haible  <bruno@clisp.org>
38290
38291         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
38292         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
38293         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
38294         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
38295         * m4/gettext.m4: Require autoconf >= 2.52.
38296         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
38297         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
38298         of gl_cv_header_inttypes_h.
38299
38300 2006-09-18  Bruno Haible  <bruno@clisp.org>
38301
38302         * lib/javaversion.c: Include configmake.h.
38303
38304 2006-09-18  Bruno Haible  <bruno@clisp.org>
38305
38306         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
38307         avoid that the while loops be executed in a subshell.
38308
38309 2006-09-18  Bruno Haible  <bruno@clisp.org>
38310
38311         * MODULES.html.sh (func_module): Break long lines.
38312         Suggested by Bruce Korb <bkorb@gnu.org>.
38313
38314 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38315
38316         Speed up by a factor of 1.12.
38317         * gnulib-tool (nl): New variable.
38318         (func_import): Rewrite include directive extraction to only read each
38319         directive once.
38320
38321 2006-09-17  Bruno Haible  <bruno@clisp.org>
38322
38323         * modules/javaversion (Makefile.am): Remove DEFS setting.
38324         (Depends-on): Add configmake, for PKGDATADIR definition.
38325
38326 2006-09-17  Bruno Haible  <bruno@clisp.org>
38327
38328         * gnulib-tool (func_create_testdir): Rewrite all files at once.
38329
38330 2006-09-17  Bruno Haible  <bruno@clisp.org>
38331
38332         * gnulib-tool (func_append): New function, stolen from libtool.m4.
38333         (func_modules_transitive_closure, func_modules_add_dummy,
38334         func_modules_to_filelist, func_import, func_create_testdir,
38335         func_create_megatestdir, ...): Use it wherever possible.
38336         Suggested by Ralf Wildenhues.
38337
38338 2006-09-16  Karl Berry  <karl@gnu.org>
38339
38340         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
38341         to avoid sectioning errors.
38342         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
38343         [ifinfo]: blank line after @center-ed titles.
38344         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
38345         Spell FSF address consistently with others.
38346         (These changes approved by rms.)
38347
38348 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38349
38350         Speed up by a factor of 1.61.
38351         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
38352         already checked module names again.
38353
38354 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38355
38356         Speed up by a factor of 1.13.
38357         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
38358         for new_files, and the input to func_add_or_update.
38359
38360 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38361
38362         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
38363         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
38364
38365 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
38366
38367         * modules/mkancesdirs (Depends-on): Add fcntl.
38368         * modules/savewd: New file.
38369         * MODULES.html.sh (File system functions): Add savewd.
38370
38371         * modules/configmake (Makefile.am): Add support for the
38372         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
38373
38374 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
38375
38376         * m4/savewd.m4: New file.
38377
38378 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
38379
38380         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
38381         (dirchownmod): New arg FD.  All callers changed.
38382         Use FD rather than opening the directory ourself, as opening is
38383         now the caller's responsibility.
38384         * lib/dirchownmod.h: Likewise.
38385         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
38386         hosts that require <sys/types.h> before <sys/stat.h>.  Include
38387         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
38388         (test_dir): Remove.
38389         (mkancesdirs): Return length of prefix of FILE that has already
38390         been made, or -2 if there is a child doing the work.  Redo
38391         algorithm so that it is O(N) rather than O(N**2).  Optimize away
38392         ".", and treat ".." specially since it might stray back into
38393         already-created areas.  Use a subprocess if necessary.  New arg
38394         WD; all users changed.  MAKE_DIR function should now return 1
38395         if it creates a directory that is not readable.  Return -2 if
38396         a child process is spun off.
38397         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
38398         Adjust signature to match code.
38399         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
38400         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
38401         all users changed.
38402         * lib/savewd.c, lib/savewd.h: New files.
38403
38404 2006-09-15  Jim Meyering  <jim@meyering.net>
38405
38406         * modules/rename-dest-slash: New module.
38407         * MODULES.html.sh (posix_compat): Add it here.
38408
38409         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
38410
38411 2006-09-15  Jim Meyering  <jim@meyering.net>
38412
38413         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
38414         file.
38415
38416         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
38417
38418 2006-09-15  Jim Meyering  <jim@meyering.net>
38419
38420         * lib/rename-dest-slash.c (has_trailing_slash): Use
38421         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
38422         (rpl_rename_dest_slash): Perform the cheaper trailing slash
38423         test before testing whether SRC is a directory.
38424         Suggestions from Bruno Haible.
38425
38426         Avoid a warning about an unused variable.
38427         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
38428         into the #ifdef block where it's used.
38429
38430         * lib/rename-dest-slash.c: New file.
38431
38432 2006-09-14  Bruno Haible  <bruno@clisp.org>
38433
38434         * lib/allocsa.c: Include <config.h> unconditionally.
38435         * lib/asnprintf.c: Likewise.
38436         * lib/asprintf.c: Likewise.
38437         * lib/c-strcasecmp.c: Likewise.
38438         * lib/c-strcasestr.c: Likewise.
38439         * lib/c-strncasecmp.c: Likewise.
38440         * lib/c-strstr.c: Likewise.
38441         * lib/classpath.c: Likewise.
38442         * lib/clean-temp.c: Likewise.
38443         * lib/concatpath.c: Likewise.
38444         * lib/copy-file.c: Likewise.
38445         * lib/csharpcomp.c: Likewise.
38446         * lib/csharpexec.c: Likewise.
38447         * lib/execute.c: Likewise.
38448         * lib/fatal-signal.c: Likewise.
38449         * lib/findprog.c: Likewise.
38450         * lib/fwriteerror.c: Likewise.
38451         * lib/gl_array_list.c: Likewise.
38452         * lib/gl_array_oset.c: Likewise.
38453         * lib/gl_avltree_list.c: Likewise.
38454         * lib/gl_avltree_oset.c: Likewise.
38455         * lib/gl_avltreehash_list.c: Likewise.
38456         * lib/gl_carray_list.c: Likewise.
38457         * lib/gl_linked_list.c: Likewise.
38458         * lib/gl_linkedhash_list.c: Likewise.
38459         * lib/gl_list.c: Likewise.
38460         * lib/gl_oset.c: Likewise.
38461         * lib/gl_rbtree_list.c: Likewise.
38462         * lib/gl_rbtree_oset.c: Likewise.
38463         * lib/gl_rbtreehash_list.c: Likewise.
38464         * lib/imaxabs.c: Likewise.
38465         * lib/imaxdiv.c: Likewise.
38466         * lib/javacomp.c: Likewise.
38467         * lib/javaexec.c: Likewise.
38468         * lib/javaversion.c: Likewise.
38469         * lib/linebreak.c: Likewise.
38470         * lib/localcharset.c: Likewise.
38471         * lib/lock.c: Likewise.
38472         * lib/mbchar.c: Likewise.
38473         * lib/mbswidth.c: Likewise.
38474         * lib/mkdtemp.c: Likewise.
38475         * lib/pipe.c: Likewise.
38476         * lib/printf-args.c: Likewise.
38477         * lib/printf-parse.c: Likewise.
38478         * lib/progname.c: Likewise.
38479         * lib/progreloc.c: Likewise.
38480         * lib/readlink.c: Likewise.
38481         * lib/sh-quote.c: Likewise.
38482         * lib/stpcpy.c: Likewise.
38483         * lib/stpncpy.c: Likewise.
38484         * lib/strcasecmp.c: Likewise.
38485         * lib/strcasestr.c: Likewise.
38486         * lib/strcspn.c: Likewise.
38487         * lib/striconv.c: Likewise.
38488         * lib/strncasecmp.c: Likewise.
38489         * lib/strnlen1.c: Likewise.
38490         * lib/strstr.c: Likewise.
38491         * lib/strtok_r.c: Likewise.
38492         * lib/tls.c: Likewise.
38493         * lib/tmpdir.c: Likewise.
38494         * lib/unicodeio.c: Likewise.
38495         * lib/unsetenv.c: Likewise.
38496         * lib/vasnprintf.c: Likewise.
38497         * lib/vasprintf.c: Likewise.
38498         * lib/wait-process.c: Likewise.
38499         * lib/xallocsa.c: Likewise.
38500         * lib/xsetenv.c: Likewise.
38501         * lib/xstriconv.c: Likewise.
38502
38503 2006-09-13  Simon Josefsson  <jas@extundo.com>
38504
38505         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
38506         that internally, suggested by Ralf Wildenhues
38507         <Ralf.Wildenhues@gmx.de>.
38508
38509 2006-09-13  Simon Josefsson  <jas@extundo.com>
38510
38511         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
38512         @LIBOBJS@.
38513         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38514
38515 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
38516
38517         * lib/_fpending.c: Include <config.h> unconditionally, since we no
38518         longer worry about uses that don't define HAVE_CONFIG_H.
38519         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
38520         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
38521         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
38522         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
38523         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
38524         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
38525         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
38526         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
38527         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
38528         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
38529         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
38530         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
38531         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
38532         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
38533         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
38534         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
38535         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
38536         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
38537         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
38538         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
38539         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
38540         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
38541         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
38542         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
38543         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
38544         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
38545         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
38546         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
38547         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
38548         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
38549         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
38550         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
38551         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
38552         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
38553         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
38554         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
38555         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
38556         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
38557         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
38558         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
38559         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
38560         Likewise.
38561
38562 2006-09-13  Eric Blake  <ebb9@byu.net>
38563
38564         * lib/getopt.c: Fix typo in last commit.
38565
38566 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
38567
38568         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
38569         dgettext.
38570
38571 2006-09-12  Jim Meyering  <jim@meyering.net>
38572
38573         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
38574         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
38575         Reported by Nelson H. F. Beebe.
38576
38577 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
38578
38579         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
38580         program_invocation_name and program_invocation_short_name are
38581         initialized.
38582         * lib/argp-namefrob.h: Move declarations of program_invocation_name
38583         and program_invocation_short_name to argp.h, so they are visible
38584         to user programs.
38585         * lib/argp.h: Likewise
38586
38587 2006-09-10  Bruno Haible  <bruno@clisp.org>
38588
38589         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
38590         m4/inttypes_h.m4, m4/uintmax_t.m4.
38591
38592 2006-09-10  Bruno Haible  <bruno@clisp.org>
38593
38594         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
38595         gl_AC_TYPE_UINTMAX_T.
38596
38597 2006-09-10  Bruno Haible  <bruno@clisp.org>
38598
38599         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
38600
38601 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
38602
38603         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
38604         convention.  Text proposed by Bruno Haible.
38605         (struct argp_option): Document the use of N_() wrappers.
38606
38607         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
38608         '\v', and translate the two parts separately, instead of feeding
38609         the whole string to gettext.  This allows to exclude
38610         '\v' from the strings visible to the translator by writing doc
38611         strings as N_("..") "\v" N_("..").
38612
38613 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
38614
38615         * config/srclist.txt: Undo latest change; the bug was fixed.
38616
38617 2006-09-09  Bruno Haible  <bruno@clisp.org>
38618
38619         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
38620         assignments if building a library without libtool.
38621         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
38622         in func_emit_lib_Makefile_am.
38623         (func_import): When building a static library libfoo.a, arrange to
38624         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
38625         (func_create_testdir): Likewise.
38626         * modules/gc (configure.ac, Makefile.am): If building statically,
38627         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
38628         * modules/iconvme (configure.ac, Makefile.am): Likewise.
38629         * modules/striconv (configure.ac, Makefile.am): Likewise.
38630         Based on a suggestion by Ralf Wildenhues.
38631
38632 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
38633
38634         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
38635         Check for unistd.h too, since Autoconf doesn't assume POSIX.
38636         Also:
38637
38638         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
38639         Add year_2050_test to catch glibc bug 2821
38640         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
38641
38642         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
38643         Prefer #ifdef to #if.
38644
38645         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
38646         Return from 'main' instead of calling 'exit'.
38647
38648 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
38649
38650         * lib/mktime.c (guess_time_tm): Fix bug where mktime
38651         returned the maximum time_t value rather than (time_t) -1.
38652         Problem originally reported by William Bardwell
38653         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
38654
38655         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
38656         Moved to here ...
38657         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
38658         ... from here.
38659
38660 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
38661
38662         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
38663         2821 is fixed.
38664
38665 2006-09-08  Jim Meyering  <jim@meyering.net>
38666
38667         Don't make generated files read-only.  That would bother too many
38668         people.  However, do retain the ability to work when targets are
38669         read-only: remove the destination and temporary files before writing
38670         them (when generated via sed or echo), or by using the -f option for
38671         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
38672         * modules/alloca-opt, modules/argz, modules/arpa_inet:
38673         * modules/byteswap, modules/configmake, modules/fcntl:
38674         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
38675         * modules/localcharset, modules/netinet_in, modules/poll:
38676         * modules/stdbool, modules/stdint, modules/sys_select:
38677         * modules/sys_socket, modules/sys_stat, modules/sysexits:
38678
38679 2006-09-08  Jim Meyering  <jim@meyering.net>
38680
38681         Avoid new build failure on FreeBSD 6.0.
38682         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
38683         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
38684         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
38685
38686 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38687
38688         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
38689
38690 2006-09-07  Jim Meyering  <jim@meyering.net>
38691
38692         Fix global typo in last change: use chmod u-w, not chmod u-x.
38693         Spotted by Paul Eggert and Bruce Korb.
38694         * modules/alloca-opt, modules/argz, modules/arpa_inet:
38695         * modules/byteswap, modules/configmake, modules/fcntl:
38696         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
38697         * modules/localcharset, modules/netinet_in, modules/poll:
38698         * modules/stdbool, modules/stdint, modules/sys_select:
38699         * modules/sys_socket, modules/sys_stat, modules/sysexits:
38700
38701 2006-09-06  Jim Meyering  <jim@meyering.net>
38702
38703         Make generated files be read-only.
38704         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
38705         Ensure that each generated file is now read-only.
38706         * modules/argz: Likewise.
38707         * modules/arpa_inet: Likewise.
38708         * modules/byteswap: Likewise.
38709         * modules/configmake: Likewise.
38710         * modules/fcntl: Likewise.
38711         * modules/fnmatch: Likewise.
38712         * modules/getopt: Likewise.
38713         * modules/glob: Likewise.
38714         * modules/inttypes: Likewise.
38715         * modules/netinet_in: Likewise.
38716         * modules/poll: Likewise.
38717         * modules/stdbool: Likewise.
38718         * modules/stdint: Likewise.
38719         * modules/sys_select: Likewise.
38720         * modules/sys_socket: Likewise.
38721         * modules/sys_stat: Likewise.
38722         * modules/sysexits: Likewise.
38723         * modules/localcharset: Same as above, but continue using temporary
38724         file named "t-$@" (why different?) rather than the "$@-t" used
38725         everywhere else.
38726
38727         * modules/sysexits (Makefile.am): Replace literal occurrences
38728         of "sysexit.h" more readable, and more consistent, "$@".
38729
38730 2006-09-06  Bruno Haible  <bruno@clisp.org>
38731
38732         * modules/striconv: New file.
38733         * modules/xstriconv: New file.
38734         * MODULES.html.sh (Internationalization functions): Add striconv,
38735         xstriconv.
38736
38737 2006-09-06  Bruno Haible  <bruno@clisp.org>
38738
38739         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
38740         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
38741         not using libtool correctly.
38742
38743 2006-09-06  Bruno Haible  <bruno@clisp.org>
38744
38745         * lib/striconv.h: New file.
38746         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
38747         iconvstring.c.
38748         * lib/xstriconv.h: New file.
38749         * lib/xstriconv.c: New file.
38750
38751 2006-09-06  Bruno Haible  <bruno@clisp.org>
38752
38753         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
38754         lib_..._LDFLAGS.
38755
38756 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38757
38758         * lib/argz_.h: Sync from Libtool.
38759
38760         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
38761                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
38762
38763         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
38764
38765 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
38766
38767         * modules/trim: New file.
38768
38769 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
38770
38771         * lib/trim.h: New file.
38772         * lib/trim.c: New file.
38773
38774 2006-09-05  Bruno Haible  <bruno@clisp.org>
38775
38776         * MODULES.html.sh (String handling): Add trim.
38777
38778 2006-09-04  Karl Berry  <karl@gnu.org>
38779
38780         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
38781         until next release.
38782
38783 2006-09-03  Bruno Haible  <bruno@clisp.org>
38784
38785         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
38786         correctly.
38787
38788 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
38789
38790         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
38791         not gl_GETLOADAVG.  Omit unneeded semicolons.
38792         Problems reported by Ralf Wildenhues in
38793         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
38794         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
38795         at the end, which is the usual gnulib style.
38796
38797         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
38798         of doing all the work ourselves.
38799         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
38800         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
38801
38802 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
38803
38804         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
38805         Problem reported by Ralf Wildenhues in
38806         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
38807
38808         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
38809         HAVE_STRUCT_STATFS_F_FSTYPENAME.
38810
38811 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
38812
38813         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
38814         yesterday's patch by changing test -n to test -z.
38815
38816 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
38817
38818         * modules/getloadavg (Files): Add m4/getloadavg.m4.
38819         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
38820         the former is now obsolescent.
38821
38822         * modules/chdir-long (Depends-on): Add fcntl.
38823
38824 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
38825
38826         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
38827         obsolescent, and programs should use gnulib instead.
38828         * m4/getloadavg.m4: New file, with contents taken from Autoconf
38829         but with prefixes changed.
38830
38831 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
38832
38833         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
38834         or stdbool.h, because they might not exist while configuring.
38835
38836         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
38837         Don't include unistd.h or limits.h; not needed, since chdir-long.h
38838         does that for us.
38839         (O_DIRECTORY): Remove.
38840
38841 2006-08-31  Eric Blake  <ebb9@byu.net>
38842
38843         * gnulib-tool: Don't let emacs change spaces to TAB.
38844
38845 2006-08-31  Bruno Haible  <bruno@clisp.org>
38846
38847         * gnulib-tool: When calling func_import more than once, do it in a
38848         subshell.
38849         Reported by Eric Blake <ebb9@byu.net>.
38850
38851 2006-08-31  Bruno Haible  <bruno@clisp.org>
38852
38853         * gnulib-tool (nl): Remove variable.
38854         (sed_transform_lib_file): Use more robust test for config-h module.
38855         (func_import): Fix typo in 2006-08-25 patch.
38856
38857 2006-08-31  Bruno Haible  <bruno@clisp.org>
38858
38859         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
38860         specified, augment Makefile.am variables instead of assigning them.
38861
38862 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
38863
38864         Work around a bug in both the Linux and SunOS 64-bit kernels:
38865         nanosleep mishandles sleeps for longer than 2**31 seconds.
38866         Problem reported by Frank v Waveren in
38867         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
38868         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
38869         Check for nanosleep bug.
38870         (LIB_NANOSLEEP): Append clock_gettime library if needed.
38871
38872 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
38873
38874         Work around a bug in both the Linux and SunOS 64-bit kernels:
38875         nanosleep mishandles sleeps for longer than 2**31 seconds.
38876         Problem reported by Frank v Waveren in
38877         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
38878         * lib/nanosleep.c (BILLION): New constant.
38879         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
38880         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
38881         implementation.
38882
38883 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
38884
38885         * modules/nanosleep (Depends-on): Add gettime.
38886
38887 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
38888         and Simon Josefsson  <jas@extundo.com>
38889         and Oskar Liljeblad  <oskar@osk.mine.nu>
38890
38891         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
38892         * gnulib-tool (func_import): New license type 'unmodifiable license
38893         text'.
38894         * modules/fdl: Use it.  Longer description.
38895         * module/gpl, module/lgpl: New files.
38896
38897 2006-08-30  Jim Meyering  <jim@meyering.net>
38898
38899         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
38900         shadowing the parameter.
38901
38902 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38903
38904         Sync from Libtool:
38905
38906         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38907
38908         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
38909         sharing with gnulib.  Report by Eric Blake.
38910
38911 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
38912
38913         * modules/isapipe: New file.
38914         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
38915
38916 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
38917
38918         * modules/configmake (Makefile.am): Add a comment, and omit
38919         the CONFIGMAKE_ prefix from generated macro names.  Suggested
38920         by Bruno Haible.
38921
38922 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
38923
38924         * m4/isapipe.m4: New file.
38925
38926 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
38927
38928         * lib/isapipe.c, lib/isapipe.h: New files.
38929
38930 2006-08-29  Jim Meyering  <jim@meyering.net>
38931
38932         * modules/configmake (Makefile.am): Make configmake.h depend on
38933         Makefile.  Otherwise, a stale configmake.h could hang around.
38934
38935 2006-08-29  Eric Blake  <ebb9@byu.net>
38936
38937         * lib/error.c (error_at_line, print_errno_message): Match libc, after
38938         resolution of upstream bug 3044.
38939
38940 2006-08-29  Bruno Haible  <bruno@clisp.org>
38941
38942         * modules/localcharset (Depends-on): Add configmake.
38943         (Makefile.am): Remove setting of LIBDIR through DEFS.
38944
38945 2006-08-29  Bruno Haible  <bruno@clisp.org>
38946
38947         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
38948         defined.
38949
38950 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
38951
38952         * modules/fcntl: New file.
38953         * modules/chdir-safer (Depends-on): Add fcntl.
38954         * modules/fts: Likewise.
38955         * modules/mkdir-p: Likewise.
38956
38957         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
38958         This undoes the most recent change, since we're now addressing the
38959         problem in a different way.
38960
38961         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
38962         into output, since the output might be called Makefile.am even
38963         if $makefile_name is something different.
38964         (func_import): Use $makefile_am rather than
38965         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
38966         empty.
38967
38968         * modules/inttypes (Files): Add m4/inttypes-h.m4.
38969
38970 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
38971
38972         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
38973         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
38974         recent change to stdint.m4, since we're now addressing the problem in a
38975         different way.
38976
38977 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
38978
38979         * m4/fcntl_h.m4: New file.
38980
38981 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
38982
38983         * lib/fcntl_.h: New file.
38984         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
38985         the fcntl module.
38986         * lib/dirchownmod.c: Likewise.
38987         * lib/fts.c: Likewise.
38988
38989         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
38990         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
38991         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
38992         just before including <inttypes.h>, to avoid circular inclusion.
38993
38994 2006-08-28  Jim Meyering  <jim@meyering.net>
38995
38996         * doc/visibility.texi: Actually read and correct the grammar of the
38997         sentence affected by yesterday's change.
38998
38999 2006-08-28  Eric Blake  <ebb9@byu.net>
39000
39001         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
39002         needs wrapper.
39003
39004 2006-08-28  Eric Blake  <ebb9@byu.net>
39005
39006         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
39007
39008 2006-08-28  Eric Blake  <ebb9@byu.net>
39009
39010         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
39011
39012 2006-08-28  Bruno Haible  <bruno@clisp.org>
39013
39014         * modules/c-strstr: New file, from GNU gettext.
39015         * MODULES.html.sh (String handling): Add c-strstr.
39016
39017 2006-08-28  Bruno Haible  <bruno@clisp.org>
39018
39019         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
39020         macros.
39021         Reported by Eric Blake.
39022
39023 2006-08-28  Bruno Haible  <bruno@clisp.org>
39024
39025         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
39026         (VASNPRINTF): Return a string of length > INT_MAX without failing.
39027         * lib/vasprintf.c: Include errno.h, limits.h.
39028         (EOVERFLOW): New fallback definition.
39029         (vasprintf): Test here whether the string length is > INT_MAX.
39030         * lib/vsnprintf.c: Include errno.h, limits.h.
39031         (EOVERFLOW): New fallback definition.
39032         (vsnprintf): Fix bug when generated string was too long for the buffer.
39033         Test here whether the string length is > INT_MAX.
39034
39035 2006-08-28  Bruno Haible  <bruno@clisp.org>
39036
39037         * lib/inttypes_.h (SCNX*): Remove definitions.
39038         Reported by Eric Blake.
39039
39040 2006-08-28  Bruno Haible  <bruno@clisp.org>
39041
39042         * lib/c-strstr.h: New file, from GNU gettext.
39043         * lib/c-strstr.c: New file, from GNU gettext.
39044
39045 2006-08-28  Bruno Haible  <bruno@clisp.org>
39046
39047         * gnulib-tool: Reorder some statements.
39048
39049 2006-08-28  Bruno Haible  <bruno@clisp.org>
39050
39051         * gnulib-tool: New option --makefile-name.
39052         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
39053         $makefile_name.
39054         (func_import): Write $makefile_name to the cache file, and read it from
39055         there unless explicitly specified. Use $makefile_name as file name
39056         instead of Makefile.am. Adjust the recommendations accordingly.
39057
39058 2006-08-28  Bruno Haible  <bruno@clisp.org>
39059
39060         * gnulib-tool (func_verify_module): Check against misapplying patch.
39061
39062 2006-08-28  Bruno Haible  <bruno@clisp.org>
39063
39064         * gnulib-tool (func_relativize, func_relconcat): New functions.
39065         Give an error if --local-dir is given with --update.
39066         Remove trailing slashes from $local_gnulib_dir.
39067         (func_import): Store the relativized $local_gnulib_dir in
39068         gnulib-cache.m4, and read it from there if not specified explicitly.
39069
39070 2006-08-28  Bruno Haible  <bruno@clisp.org>
39071
39072         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
39073         is the current directory. Respect also $local_gnulib_dir.
39074
39075 2006-08-28  Bruno Haible  <bruno@clisp.org>
39076             Simon Josefsson  <jas@extundo.com>
39077
39078         BeOS portability.
39079         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
39080
39081 2006-08-27  Jim Meyering  <jim@meyering.net>
39082
39083         * doc/visibility.texi: Remove duplicate word: "pointer".
39084
39085 2006-08-26  Bruno Haible  <bruno@clisp.org>
39086
39087         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
39088         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
39089         (Makefile.am): Create inttypes.h from inttypes_.h.
39090         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
39091
39092         * modules/imaxabs: New file.
39093
39094         * modules/imaxdiv: New file.
39095
39096 2006-08-26  Bruno Haible  <bruno@clisp.org>
39097
39098         * m4/inttypes.m4: New file.
39099         * m4/_inttypes_h.m4: Remove file.
39100         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
39101         PRI_MACROS_BROKEN.
39102         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
39103
39104         * m4/imaxabs.m4: New file.
39105
39106         * m4/imaxdiv.m4: New file.
39107
39108 2006-08-26  Bruno Haible  <bruno@clisp.org>
39109
39110         * lib/inttypes_.h: New file.
39111         * lib/inttypes.h: Remove file.
39112         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
39113
39114         * lib/imaxabs.c: New file.
39115
39116         * lib/imaxdiv.c: New file.
39117
39118 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
39119
39120         New config-h module, so that "make" output needn't be cluttered
39121         by -DHAVE_CONFIG_H.
39122         * MODULES.html.sh (Support for building libraries and executables):
39123         Add config-h.
39124         * modules/config-h: New file.
39125         * gnulib-tool (nl, sed_transform_lib_file): New vars.
39126         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
39127         the config-h module is used.
39128
39129         New configmake module, so that "make" output needn't be cluttered
39130         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
39131         * MODULES.html.sh (Support for building libraries and executables):
39132         Add configmake.
39133         * modules/configmake: New file.
39134
39135 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
39136
39137         * m4/config-h.m4: New file.
39138
39139 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
39140
39141         * config/srclist.txt: Add elisp-comp.
39142
39143 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
39144
39145         * MODULES.html.sh (Support for building libraries and executables):
39146         Add elisp-comp.
39147         * build-aux/elisp-comp: New file.
39148         * modules/elisp-comp: New file.
39149
39150 2006-08-24  Bruno Haible  <bruno@clisp.org>
39151
39152         * gnulib-tool (func_create_testdir): Use non-default values of
39153         sourcebase and m4base.
39154
39155 2006-08-24  Bruno Haible  <bruno@clisp.org>
39156
39157         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
39158         HTML structure.
39159
39160 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
39161
39162         * modules/openat (Depends-on): Add lchown.
39163
39164 2006-08-23  Bruno Haible  <bruno@clisp.org>
39165
39166         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
39167         of gl_LOCK_EARLY instead of gl_LOCK.
39168
39169 2006-08-23  Bruno Haible  <bruno@clisp.org>
39170
39171         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
39172         on OSF/1 to no.
39173         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
39174
39175 2006-08-23  Bruno Haible  <bruno@clisp.org>
39176
39177         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
39178         as unusable.
39179
39180         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
39181         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
39182         (gl_LOCK): New macro.
39183
39184 2006-08-22  Simon Josefsson  <jas@extundo.com>
39185
39186         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
39187         to md5 module.
39188
39189 2006-08-22  Simon Josefsson  <jas@extundo.com>
39190
39191         * MODULES.html.sh: Add "Support for maintaining and release
39192         projects".
39193
39194         * build-aux/gnupload: New file, from coreutils.
39195
39196 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
39197
39198         Avoid the need for AC_LIBSOURCES in m4 macros.
39199         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
39200         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
39201         * modules/check-version (EXTRA_DIST): Add check-version.h.
39202         * modules/crc (EXTRA_DIST): Add crc.h.
39203         * modules/des (EXTRA_DIST): Add des.h.
39204         * modules/gc (EXTRA_DIST): Add gc.h.
39205         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
39206         * modules/getline (EXTRA_DIST): Add getline.h.
39207         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
39208         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
39209         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
39210         * modules/md2 (EXTRA_DIST): Add md2.h.
39211         * modules/md4 (EXTRA_DIST): Add md4.h.
39212         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
39213         * modules/read-file (EXTRA_DIST): Add read-file.h.
39214         * modules/readline (EXTRA_DIST): Add readline.h.
39215         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
39216         rijndael-api-fst.h.
39217
39218 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
39219
39220         * m4/rijndael.m4 (gl_ARCFOUR):
39221         * m4/arctwo.m4 (gl_ARCTWO):
39222         * m4/check-version.m4 (gl_CHECK_VERSION):
39223         * m4/crc.m4 (gl_CRC):
39224         * m4/des.m4 (gl_DES):
39225         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
39226         * m4/gc.m4 (gl_GC):
39227         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
39228         * m4/getline.m4 (gl_FUNC_GETLINE):
39229         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
39230         * m4/hmac-md5.m4 (gl_HMAC_MD5):
39231         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
39232         * m4/md2.m4 (gl_MD2):
39233         * m4/md4.m4 (gl_MD4):
39234         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
39235         * m4/read-file.m4 (gl_FUNC_READ_FILE):
39236         * m4/readline.m4 (gl_FUNC_READLINE):
39237         * m4/rijndael.m4 (gl_RIJNDAEL):
39238         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
39239         to get the necessary .h files and whatnot.
39240
39241 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
39242
39243         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
39244         gnulib rather than the other way around.
39245         * config/srclistvars.sh (COREUTILS): Remove.
39246
39247 2006-08-22  Jim Meyering  <jim@meyering.net>
39248
39249         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
39250
39251         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
39252
39253 2006-08-22  Eric Blake  <ebb9@byu.net>
39254
39255         * modules/regexprops-generic: New file.
39256         * MODULES.html.sh (Support for building documentation): List it.
39257
39258 2006-08-22  Eric Blake  <ebb9@byu.net>
39259
39260         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
39261         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
39262         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
39263         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
39264
39265 2006-08-22  Bruno Haible  <bruno@clisp.org>
39266
39267         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
39268         and lib_LTLIBRARIES like the other lib_* variables.
39269
39270 2006-08-22  Bruno Haible  <bruno@clisp.org>
39271
39272         * build-aux/x-to-1.in: New file, from GNU gettext.
39273
39274 2006-08-22  Bruno Haible  <bruno@clisp.org>
39275
39276         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
39277         <utmpx.h> exists.
39278
39279 2006-08-22  Bruno Haible  <bruno@clisp.org>
39280
39281         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
39282         <utmpx.h> exists.
39283
39284 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
39285
39286         BeOS portability.
39287         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
39288         exist.
39289         Problem reported by Bruno Haible.
39290
39291 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
39292
39293         Avoid the need for AC_LIBSOURCES in m4 macros.
39294         * modules/acl (EXTRA_DIST): Add acl.h.
39295         * modules/argmatch (Files): Add m4/argmatch.m4.
39296         (configure.ac): Add gl_ARGMATCH.
39297         (EXTRA_DIST): Renamed from lib_SOURCES, for
39298         consistency with the other modules.  Remove argmatch.c.
39299         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
39300         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
39301         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
39302         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
39303         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
39304         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
39305         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
39306         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
39307         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
39308         * modules/closeout (EXTRA_DIST): Add closeout.h.
39309         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
39310         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
39311         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
39312         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
39313         dirname.h; remove basename.c and stripslash.c.
39314         * modules/exclude (EXTRA_DIST): Add exclude.h.
39315         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
39316         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
39317         * modules/file-type (EXTRA_DIST): Add file-type.h.
39318         * modules/filemode (EXTRA_DIST): Add filemode.h.
39319         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
39320         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
39321         * modules/fpending (EXTRA_DIST): Add __fpending.h.
39322         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
39323         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
39324         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
39325         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
39326         * modules/getdate (EXTRA_DIST): Add getdate.c.
39327         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
39328         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
39329         * modules/getpass (EXTRA_DIST): Add getpass.h.
39330         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
39331         * modules/group-member (EXTRA_DIST): Add group-member.h.
39332         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
39333         * modules/hash (EXTRA_DIST): Add hash.h.
39334         * modules/human (EXTRA_DIST): Add human.h.
39335         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
39336         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
39337         * modules/lchown (EXTRA_DIST): Add lchown.h.
39338         * modules/long-options (EXTRA_DIST): Add long-options.h.
39339         * modules/lstat (EXTRA_DIST): Add lstat.h.
39340         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
39341         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
39342         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
39343         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
39344         * modules/memxor (EXTRA_DIST): Add memxor.h.
39345         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
39346         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
39347         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
39348         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
39349         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
39350         * modules/physmem (EXTRA_DIST): Add physmem.h.
39351         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
39352         * modules/posixver (EXTRA_DIST): Add posixver.h.
39353         * modules/quote (EXTRA_DIST): Add quote.h.
39354         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
39355         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
39356         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
39357         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
39358         regex_internal.h regexec.c.
39359         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
39360         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
39361         * modules/same (EXTRA_DIST): Add same.h.
39362         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
39363         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
39364         * modules/savedir (EXTRA_DIST): Add savedir.h.
39365         * modules/sha1 (EXTRA_DIST): Add sha1.h.
39366         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
39367         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
39368         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
39369         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
39370         * modules/strdup (EXTRA_DIST): Add strdup.h.
39371         * modules/strftime (EXTRA_DIST): Add strftime.h.
39372         * modules/strndup (EXTRA_DIST): Add strndup.h.
39373         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
39374         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
39375         * modules/time_r (EXTRA_DIST): Add time_r.h.
39376         * modules/timespec (EXTRA_DIST): Add timespec.h.
39377         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
39378         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
39379         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
39380         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
39381         * modules/userspec (EXTRA_DIST): Add userspec.h.
39382         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
39383         * modules/utimens (EXTRA_DIST): Add utimens.h.
39384         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
39385         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
39386         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
39387         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
39388         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
39389         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
39390         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
39391         * modules/yesno (EXTRA_DIST): Add yesno.h.
39392
39393 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
39394
39395         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
39396
39397         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
39398         * m4/dev-ino.m4, same-inode.m4: Remove.
39399
39400         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
39401         * m4/acl.m4 (AC_FUNC_ACL):
39402         * m4/backupfile.m4 (gl_BACKUPFILE):
39403         * m4/c-strtod.m4 (gl_C99_STRTOLD):
39404         * m4/canon-host.m4 (gl_CANON_HOST):
39405         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
39406         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
39407         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
39408         * m4/cloexec.m4 (gl_CLOEXEC):
39409         * m4/close-stream.m4 (gl_CLOSE_STREAM):
39410         * m4/closeout.m4 (gl_CLOSEOUT):
39411         * m4/dirfd.m4 (gl_FUNC_DIRFD):
39412         * m4/dirname.m4 (gl_DIRNAME):
39413         * m4/exclude.m4 (gl_EXCLUDE):
39414         * m4/exitfail.m4 (gl_EXITFAIL):
39415         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
39416         * m4/file-type.m4 (gl_FILE_TYPE):
39417         * m4/filemode.m4 (gl_FILEMODE):
39418         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
39419         * m4/fpending.m4 (gl_FUNC_FPENDING):
39420         * m4/fprintftime.m4 (gl_FPRINTFTIME):
39421         * m4/fts.m4 (gl_FUNC_FTS):
39422         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
39423         * m4/getdate.m4 (gl_GETDATE):
39424         * m4/gethrxtime.m4 (gl_GETHRXTIME):
39425         * m4/getpagesize.m4 (gl_GETPAGESIZE):
39426         * m4/getpass.m4 (gl_FUNC_GETPASS):
39427         * m4/gettime.m4 (gl_GETTIME):
39428         * m4/getugroups.m4 (gl_GETUGROUPS):
39429         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
39430         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
39431         * m4/hard-locale.m4 (gl_HARD_LOCALE):
39432         * m4/hash.m4 (gl_HASH):
39433         * m4/idcache.m4 (gl_IDCACHE):
39434         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
39435         * m4/lchown.m4 (gl_FUNC_LCHOWN):
39436         * m4/long-options.m4 (gl_LONG_OPTIONS):
39437         * m4/lstat.m4 (gl_FUNC_LSTAT):
39438         * m4/md5.m4 (gl_MD5):
39439         * m4/memcasecmp.m4 (gl_MEMCASECMP):
39440         * m4/memcoll.m4 (gl_MEMCOLL):
39441         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
39442         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
39443         * m4/memxor.m4 (gl_MEMXOR):
39444         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
39445         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
39446         * m4/modechange.m4 (gl_MODECHANGE):
39447         * m4/mountlist.m4 (gl_MOUNTLIST):
39448         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
39449         * m4/openat.m4 (gl_FUNC_OPENAT):
39450         * m4/pathmax.m4 (gl_PATHMAX):
39451         * m4/physmem.m4 (gl_PHYSMEM):
39452         * m4/posixtm.m4 (gl_POSIXTM):
39453         * m4/posixver.m4 (gl_POSIXVER):
39454         * m4/quote.m4 (gl_QUOTE):
39455         * m4/quotearg.m4 (gl_QUOTEARG):
39456         * m4/readtokens.m4 (gl_READTOKENS):
39457         * m4/readutmp.m4 (gl_READUTMP):
39458         * m4/regex.m4 (gl_REGEX):
39459         * m4/safe-read.m4 (gl_SAFE_READ):
39460         * m4/safe-write.m4 (gl_SAFE_WRITE):
39461         * m4/same.m4 (gl_SAME):
39462         * m4/save-cwd.m4 (gl_SAVE_CWD):
39463         * m4/savedir.m4 (gl_SAVEDIR):
39464         * m4/settime.m4 (gl_SETTIME):
39465         * m4/sha1.m4 (gl_SHA1):
39466         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
39467         * m4/stat-macros.m4 (gl_STAT_MACROS):
39468         * m4/stat-time.m4 (gl_STAT_TIME):
39469         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
39470         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
39471         * m4/strdup.m4 (gl_FUNC_STRDUP):
39472         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
39473         * m4/strndup.m4 (gl_FUNC_STRNDUP):
39474         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
39475         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
39476         * m4/time_r.m4 (gl_TIME_R):
39477         * m4/timespec.m4 (gl_TIMESPEC):
39478         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
39479         * m4/unlinkdir.m4 (gl_UNLINKDIR):
39480         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
39481         * m4/userspec.m4 (gl_USERSPEC):
39482         * m4/utimecmp.m4 (gl_UTIMECMP):
39483         * m4/utimens.m4 (gl_UTIMENS):
39484         * m4/xalloc.m4 (gl_XALLOC):
39485         * m4/xgetcwd.m4 (gl_XGETCWD):
39486         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
39487         * m4/xreadlink.m4 (gl_XREADLINK):
39488         * m4/xstrtod.m4 (gl_XSTRTOD):
39489         * m4/yesno.m4 (gl_YESNO):
39490         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
39491         to get the necessary .h files and whatnot.
39492
39493 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
39494             Bruno Haible  <bruno@clisp.org>
39495
39496         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
39497         /bin/sh understanding of '!' conditional negation.
39498
39499 2006-08-21  Jim Meyering  <jim@meyering.net>
39500
39501         * modules/openat (Depends-on): Really alphabetize.
39502
39503         * modules/acl (Depends-on): Add error and quote.
39504
39505         * check-module (find_included_lib_files): Add at-func.c to the
39506         ok-to-include-more-than-once white list.
39507
39508         * modules/openat (Depends-on): Add lstat.  Alphabetize.
39509
39510 2006-08-21  Bruno Haible  <bruno@clisp.org>
39511
39512         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
39513         Emit a pkgdata_DATA variable only if some snippets add contents to it.
39514         Reported by Martin Lambers <marlam@marlam.de>.
39515
39516 2006-08-21  Bruno Haible  <bruno@clisp.org>
39517
39518         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
39519         specify an installation location, don't emit a noinst_LIBRARIES or
39520         noinst_LTLIBRARIES assignment.
39521
39522 2006-08-21  Bruno Haible  <bruno@clisp.org>
39523
39524         BeOS portability.
39525         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
39526         BeOS has mbrtowc() but no <wctype.h>.
39527
39528 2006-08-21  Bruno Haible  <bruno@clisp.org>
39529
39530         BeOS portability.
39531         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
39532         exist.
39533
39534 2006-08-21  Bruno Haible  <bruno@clisp.org>
39535
39536         BeOS portability.
39537         * lib/mbchar.h: Include <wctype.h> only if it exists.
39538
39539 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
39540
39541         Remove files that are no longer needed by their respective modules.
39542         * m4/obstack.m4: Remove.
39543         * m4/strerror_r.m4: Remove.
39544         * m4/uint32_t.m4: Remove.
39545         * m4/uintptr_t.m4: Remove.
39546         * m4/ullong_max.m4: Remove.
39547         * m4/xstrtoimax.m4: Remove.
39548         * m4/xstrtoumax.m4: Remove.
39549
39550         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
39551         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
39552         dependencies now capture this.
39553
39554         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
39555         Do not use AC_LIBSOURCES, since gnulib modules now do this.
39556         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
39557         * m4/human.m4 (gl_HUMAN): Likewise.
39558         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
39559         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
39560
39561         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
39562
39563         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
39564         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
39565         stdint.
39566         * m4/human.m4 (gl_HUMAN): Likewise.
39567         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
39568         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
39569         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
39570         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
39571         * m4/xstrtol (gl_XSTRTOL): Likewise.
39572
39573         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
39574         AC_TYPE_LONG_LONG_INT.
39575         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
39576         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
39577         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
39578         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
39579
39580         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
39581         on stdbool.
39582
39583         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
39584         (gl_PREREQ_XSTRTOUL): Remove.
39585
39586         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
39587
39588         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
39589         mode.
39590
39591 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
39592
39593         Add and change modules to make it easier for coreutils to use
39594         gnulib-tool.
39595         * modules/backupfile (Files): Remove m4/d-ino.m4.
39596         (Depends-on): Add d-ino.
39597         * modules/cycle-check (Depends-on): Add stdint.
39598         (lib_SOURCES): Add cycle-check.h.
39599         * modules/d-ino: New module.
39600         * modules/d-type: New module.
39601         * modules/error (Files): Remove m4/strerror_r.m4.
39602         * modules/filemode (Files): Add m4/st_dm_mode.m4.
39603         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
39604         m4/inttypes_h.m4, m4/uintmax_t.m4.
39605         (Depends-on): Add stdint.
39606         (lib_SOURCES): Add fsusage.h.
39607         * modules/getcwd (Files): Remove d-ino.m4.
39608         (Depends-on): Add d-ino.
39609         * modules/getndelim2 (Depends-on): Add stdint.
39610         * modules/glob (Files): Remove m4/d-type.m4.
39611         (Depends-on): Add d-type.
39612         * modules/host-os: New module.
39613         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
39614         m4/inttypes_h.m4, m4/uintmax_t.m4.
39615         * Depends-on: Add stdint.
39616         (lib_SOURCES): Add human.h.
39617         * modules/inttostr (Files): Remove m4/intmax_t.m4,
39618         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
39619         m4/uintmax_t.m4, m4/ulonglong.m4.
39620         (Depends-on): Add stdint.
39621         (EXTRA_DIST): Add inttostr.h.
39622         * modules/lchmod: New module.
39623         * modules/link-follow: New module.
39624         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
39625         (Depends-on): Add lchmod.
39626         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
39627         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
39628         (Depends-on): Add stdint.
39629         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
39630         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
39631         (Depends-on): Add stdint.
39632         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
39633         * modules/perl: New module.
39634         * modules/regex (Depends-on): Add stdint.
39635         * modules/rmdir-errno: New module.
39636         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
39637         m4/intmax_t.m4.
39638         (Depends-on): Add stdint.
39639         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
39640         m4/uintmax_t.m4.
39641         (Depends-on): Add stdint.
39642         * modules/unlink-busy: New module.
39643         * modules/utimecmp (Depends-on): Add stdint.
39644         * modules/uptime: New module.
39645         * modules/winsz-ioctl: New module.
39646         * modules/winsz-termios: New module.
39647         * modules/xnanosleep (Depends-on): Add nanosleep.
39648         * modules/ullong_max: Remove.
39649         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
39650         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
39651         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
39652         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
39653         (Depends-on): Add inttypes.
39654         (lib_SOURCES): Add xstrtol.h.
39655         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
39656         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
39657         * MODULES.html.sh: Move 'assert' into the assert section.
39658         Move 'dummy' into the linking section.
39659         Remove ullong_max.
39660         Add section for compatibility checks for POSIX:2001 functions,
39661         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
39662         winsz-ioctl, and winsz-termios into it.
39663         Add lchmod.
39664         Add top-level Misc section and put host-os, perl, and uptime
39665         into it.
39666
39667 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
39668
39669         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
39670         now assume the stdint module.  Do not include inttypes.h.
39671         * lib/fsusage.h: Likewise.
39672         * lib/getndelim2.c: Likewise.
39673         * lib/human.h: Likewise.
39674         * lib/inttostr.h: Likewise.
39675         * lib/obstack.c: Likewise.
39676         * lib/regex_internal.h: Likewise.
39677         * lib/tempname.c: Likewise.
39678         * lib/utimecmp.c: Likewise.
39679         * lib/xstrtol.h: Likewise.
39680
39681         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
39682
39683         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
39684         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
39685         * lib/xtime.h: Likewise.
39686
39687 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
39688
39689         * modules/openat (Files): Add lib/fchmodat.c.
39690         Fixes problem reported by Jay Youngman.
39691
39692 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
39693
39694         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
39695         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
39696
39697 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
39698             Bruno Haible  <bruno@clisp.org>
39699
39700         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
39701         and is a script that invokes bison. Tighten the code. Add comments.
39702
39703 2006-08-18  Jim Meyering  <jim@meyering.net>
39704
39705         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
39706         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
39707         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
39708         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
39709
39710 2006-08-18  Bruno Haible  <bruno@clisp.org>
39711
39712         * modules/bison-i18n: New file.
39713         * MODULES.html.sh (Internationalization functions): Add it.
39714
39715 2006-08-18  Bruno Haible  <bruno@clisp.org>
39716
39717         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
39718         sys/statvfs.h. When getmntinfo was found, check its declaration and
39719         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
39720
39721 2006-08-18  Bruno Haible  <bruno@clisp.org>
39722
39723         * m4/bison-i18n.m4: New file, from bison.
39724
39725 2006-08-18  Bruno Haible  <bruno@clisp.org>
39726
39727         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
39728         (ME_DUMMY): Treat "kernfs" as a dummy.
39729         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
39730
39731 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
39732
39733         Update from coreutils.
39734
39735         2006-08-15  Jim Meyering  <jim@meyering.net>
39736
39737         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
39738
39739         2006-01-17  Jim Meyering  <jim@meyering.net>
39740
39741         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
39742
39743         2006-01-11  Jim Meyering  <jim@meyering.net>
39744
39745         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
39746         Check for the lchmod function.
39747
39748 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
39749
39750         Update from coreutils.
39751
39752         * lib/__fpending.h: Add copyright notice.
39753         * lib/fprintftime.h: Likewise.
39754         * lib/savedir.c: Use (C) in copyright notice.
39755         * lib/savedir.h: Likewise.
39756
39757         2006-08-15  Jim Meyering  <jim@meyering.net>
39758
39759         * lib/at-func.c: New file, with the logic of all emulated at-functions.
39760         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
39761         in support of the EXPECTED_ERRNO macro.
39762         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
39763         definitions.  Instead, define the appropriate symbols and include
39764         "at-func.c".
39765         * lib/mkdirat.c (mkdirat): Likewise.
39766         * lib/fchmodat.c (fchmodat): Likewise.
39767         (ENOSYS): Remove definition.
39768         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
39769         it.  Don't include "unistd--.h" -- it wasn't ever used.
39770
39771         2006-01-17  Jim Meyering  <jim@meyering.net>
39772
39773         Rewrite fts.c not to change the current working directory,
39774         by using openat, fstatat, fdopendir, etc..
39775
39776         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
39777         (HAVE_OPENAT_SUPPORT): Define.
39778         [_LIBC] (fchdir): Don't undef or define; no longer used.
39779         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
39780         Now, this `function' always succeeds, and consumes its file descriptor
39781         parameter -- so callers must not close such FDs.  Update callers.
39782         (diropen_fd, opendirat, cwd_advance_fd): New functions.
39783         (diropen): Add parameter, SP.  Adjust all callers.
39784         Implement using diropen_fd, rather than open.
39785         (fts_open): Initialize new member, fts_cwd_fd.
39786         Remove fts_rft-setting code.
39787         (fts_close): Close fts_cwd_fd, if necessary.
39788         (__opendir2): Define in terms of opendir or opendirat,
39789         depending on whether the FST_NOCHDIR flag is set.
39790         (fts_build): Since fts_safe_changedir consumes its FD, and since
39791         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
39792         and close the dup'd file descriptor upon failure.
39793         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
39794         (fts_safe_changedir): Tweak semantics to reflect that this function
39795         now calls cwd_advance_fd and hence consumes its FD argument.
39796         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
39797         [struct FTS] (fts_rft): Remove now-unused member.
39798         [struct FTS] (fts_cycle.state): Improve comment.
39799
39800         * lib/openat.c (openat_needs_fchdir): New function.
39801         * lib/openat.h (openat_needs_fchdir): Declare it.
39802
39803 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
39804
39805         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
39806         Problem and fix reported by Pádraig Brady in
39807         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
39808
39809 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
39810
39811         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
39812
39813 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
39814
39815         * lib/memcoll.c (memcoll): Optimize for the common case where the
39816         arguments are bytewise equal.
39817
39818 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
39819
39820         * doc/regexprops-generic.texi: Add a copyright notice.
39821
39822 2006-08-15  Bruno Haible  <bruno@clisp.org>
39823
39824         * modules/tmpdir (License): Change to LGPL.
39825
39826 2006-08-15  Bruno Haible  <bruno@clisp.org>
39827
39828         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
39829         module.
39830
39831 2006-08-14  Simon Josefsson  <jas@extundo.com>
39832
39833         * config/srclist.txt: Add gnupload.
39834
39835 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
39836
39837         Change copyright notice from LGPL 2 to GPL 2, since that's the
39838         standard form used in the gnulib repository.
39839         * tests/test-lock.c: Likewise.
39840         * tests/test-stdint.c: Likewise.
39841         * tests/test-tls.c: Likewise.
39842
39843         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
39844         prelude-manager.  User shorter URLs for GNU projects, without '?'.
39845         Add copyright notice.
39846
39847         * check-module: Add copyright notice.  Output a copyright
39848         notice if "--version" is specified.
39849         * modules/COPYING: New file.
39850         * tests/test-getaddrinfo.c: Add copyright notice.
39851         * tests/test-verify.c: Likewise.
39852
39853 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
39854
39855         Change copyright notice from LGPL 2 to GPL 2, since that's the
39856         standard form used in the gnulib repository.
39857         * lib/lock.c: LGPL -> GPL.
39858         * lib/lock.h: Likewise.
39859         * lib/strnlen1.c: Likewise.
39860         * lib/strnlen1.h: Likewise.
39861         * lib/tls.c: Likewise.
39862         * lib/tls.h: Likewise.
39863         * lib/tmpdir.c: Likewise.
39864
39865         * lib/TODO: Remove; this belongs only in coreutils.
39866
39867 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
39868
39869         Add copyright notices to long-enough files that lack them, since
39870         otherwise the files aren't clearly free.  Use the same notice that
39871         getdate.texi already uses.
39872         * doc/alloca-opt.texi: Add copyright notice.
39873         * doc/alloca.texi: Likewise.
39874         * doc/ctime.texi: Likewise.
39875         * doc/functions.texi: Likewise.
39876         * doc/gcd.texi: Likewise.
39877         * doc/gnulib-tool.texi: Likewise.
39878         * doc/inet_ntoa.texi: Likewise.
39879         * doc/visibility.texi: Likewise.
39880
39881         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
39882         * doc/quote.texi: Add copyright notice.
39883
39884         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
39885         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
39886         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
39887         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
39888         is now obsolete, and give a pointer to the Sun list.
39889         Add copyright notice.
39890
39891 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
39892
39893         * config/srclistvars.sh: Add copyright notice.
39894
39895 2006-08-14  Eric Blake  <ebb9@byu.net>
39896
39897         Import the following change from libc:
39898
39899         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
39900
39901         Upstream bug 2997.
39902         * lib/misc/error.c: Add space between program name and message if file
39903         name is missing.
39904
39905 2006-08-12  Karl Berry  <karl@gnu.org>
39906
39907         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
39908         remove, these originate in gnulib now.
39909
39910 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39911
39912         * doc/Makefile (standards.info standards.html standards.dvi):
39913         Also depend on make-stds.texi.
39914
39915 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
39916
39917         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
39918         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
39919
39920         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
39921         in wchar_t.  Problem reported by Eric Blake.
39922
39923         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
39924         LEN is smaller than SIZE.  Suggested by Bruno Haible.
39925         Also, help the compiler to keep LEN in a register.
39926
39927 2006-08-11  Eric Blake  <ebb9@byu.net>
39928
39929         * users.txt: Sort.  Add tar.
39930
39931 2006-08-11  Bruno Haible  <bruno@clisp.org>
39932
39933         * users.txt: New file.
39934
39935 2006-08-11  Bruno Haible  <bruno@clisp.org>
39936
39937         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
39938         before <wchar.h>. Needed for OSF/1 and BSD/OS.
39939
39940 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
39941
39942         * modules/snprintf (Depends-on): Remove minmax.
39943         (Maintainer): Add self and Bruno.
39944
39945 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
39946
39947         * lib/.cppi-disable: Add snprintf.h, socket_.h.
39948         * lib/snprintf.c: Include <errno.h> and <limits.h>.
39949         (EOVERFLOW): Define if the system does not.
39950         Do not include "minmax.h"; it wasn't used.
39951         (snprintf): Don't assume size_t promotes to an unsigned type.
39952         Fix bug when generated string was too long for the buffer: the
39953         buffer's contents are supposed to be the initial prefix of the
39954         output.  Don't assume vasnprintf returns EOVERFLOW if the size
39955         exceeds INT_MAX; do the check ourselves.
39956
39957         Import the following changes from libc:
39958
39959         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
39960
39961         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
39962         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
39963         set wc to the byte which couldn't be converted.
39964         (re_string_reconstruct): Don't clear valid_raw_len before calling
39965         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
39966         tip_context using re_string_context_at.
39967
39968         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
39969
39970         * lib/posix/regex.h: g++ still cannot handled [restrict].
39971
39972         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
39973
39974         * lib/posix/regex.h: Remove special handling for VMS.
39975
39976 2006-08-10  Jim Meyering  <jim@meyering.net>
39977
39978         * modules/same-inode: New module.
39979         * modules/dev-ino: New module.
39980         * modules/cycle-check: Depend on these modules, rather than simply
39981         including their .h files.
39982         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
39983         required via m4/cycle-check.m4.
39984         * modules/same: Depend on new same-inode module, rather than
39985         including same-inode.h.
39986         * modules/chdir-safer: New file.
39987
39988         * modules/chown (Depends-on): Add stat-macros.
39989
39990 2006-08-10  Jim Meyering  <jim@meyering.net>
39991
39992         * m4/cycle-check.m4: New file.
39993         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
39994         * m4/dev-ino.m4, m4/same-inode.m4: New files.
39995
39996 2006-08-10  Eric Blake  <ebb9@byu.net>
39997
39998         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
39999         in from original proposal.
40000
40001 2006-08-10  Eric Blake  <ebb9@byu.net>
40002         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
40003
40004         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
40005         namespace.
40006
40007 2006-08-10  Bruno Haible  <bruno@clisp.org>
40008
40009         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
40010         as well.
40011
40012 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
40013
40014         Sync from coreutils.
40015
40016         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
40017
40018         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
40019         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
40020
40021 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
40022
40023         * modules/restrict: Remove; no longer needed now that we assume
40024         Autoconf 2.59 or later.
40025         * MODULES.html.sh: Remove 'restrict'.
40026         * modules/argp (Depends-on): Remove 'restrict'.
40027         * modules/base64 (Depends-on): Likewise.
40028         * modules/gc (Depends-on): Likewise.
40029         * modules/getaddrinfo (Depends-on): Likewise.
40030         * modules/glob (Depends-on): Likewise.
40031         * modules/inet_ntop (Depends-on): Likewise.
40032         * modules/inet_pton (Depends-on): Likewise.
40033         * modules/memxor (Depends-on): Likewise.
40034         * modules/regex (Depends-on): Likewise.
40035         * modules/strtok_r (Depends-on): Likewise.
40036         * modules/time_r (Depends-on): Likewise.
40037
40038 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
40039
40040         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
40041         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
40042         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
40043         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
40044         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
40045         * m4/memxor.m4 (gl_MEMXOR): Likewise.
40046         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
40047         gl_C_RESTRICT replaced by AC_C_RESTRICT.
40048
40049         Merge from coreutils.
40050         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
40051         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
40052         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
40053         * m4/time_r.m4 (gl_TIME_R): Likewise.
40054
40055 2006-08-09  Karl Berry  <karl@gnu.org>
40056
40057         * config/srclist.txt: no more gettext-tools, per Bruno.
40058
40059 2006-08-08  Eric Blake  <ebb9@byu.net>
40060
40061         * modules/verror: New module.
40062         * MODULES.html.sh: Document it.
40063
40064 2006-08-08  Eric Blake  <ebb9@byu.net>
40065
40066         * lib/verror.h, lib/verror.c: New files.
40067
40068 2006-08-08  Eric Blake  <ebb9@byu.net>
40069
40070         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
40071         verror_at_line output complies with GNU Coding Standards even when
40072         file is NULL.
40073
40074 2006-08-07  Bruno Haible  <bruno@clisp.org>
40075
40076         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
40077         versions of AIX.
40078         Reported by Ralf Wildenhues.
40079
40080 2006-08-07  Bruno Haible  <bruno@clisp.org>
40081
40082         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
40083         in an AC_DEFUN. Needed so that the autoconf snippets can use
40084         AC_REQUIRE.
40085
40086 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40087
40088         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
40089         Initialize pkgdata_DATA.
40090         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
40091         overriding it.
40092
40093 2006-08-06  Eric Blake  <ebb9@byu.net>
40094
40095         * lib/error.h: Fold in some upstream changes from glibc.
40096         * lib/error.c: Likewise.
40097
40098 2006-08-04  Bruno Haible  <bruno@clisp.org>
40099
40100         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
40101         Make the mostlyclean-local rule depend on mostlyclean-generic.
40102         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
40103
40104 2006-07-31  Bruno Haible  <bruno@clisp.org>
40105
40106         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
40107         <stdlib.h>, <string.h>.
40108
40109 2006-07-30  Bruno Haible  <bruno@clisp.org>
40110
40111         * modules/readlink (License): Change to LGPL.
40112
40113 2006-07-30  Bruno Haible  <bruno@clisp.org>
40114
40115         * modules/javaversion (Makefile.am): Distribute javaversion.java and
40116         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
40117         set PKGDATADIR to point to it.
40118
40119 2006-07-30  Bruno Haible  <bruno@clisp.org>
40120
40121         * modules/csharpexec (configure.ac): Comment out macro invocation.
40122         * modules/javaexec (configure.ac): Likewise.
40123         * modules/javacomp-script (configure.ac): Likewise.
40124
40125         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
40126
40127 2006-07-30  Bruno Haible  <bruno@clisp.org>
40128
40129         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
40130         linked-list.
40131
40132 2006-07-30  Bruno Haible  <bruno@clisp.org>
40133
40134         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
40135
40136 2006-07-30  Bruno Haible  <bruno@clisp.org>
40137
40138         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
40139         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
40140         get removed.
40141
40142 2006-07-29  Bruno Haible  <bruno@clisp.org>
40143
40144         Make it possible for gnulib-tool to work with locally modified or
40145         augmented gnulib repositories.
40146         * gnulib-tool (func_usage): Document --local-dir option.
40147         (local_gnulib_dir): New variable.
40148         Handle --local-dir option.
40149         (func_lookup_file): New function.
40150         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
40151         (func_get_description, func_get_filelist, func_get_description,
40152         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
40153         func_get_automake_snippet, func_get_include_directive,
40154         func_get_license, func_get_maintainer): Use func_lookup_file.
40155         (func_import, func_create_testdir): Use func_lookup_file.
40156
40157 2006-07-29  Bruno Haible  <bruno@clisp.org>
40158
40159         * modules/setenv (Depends-on): Add unistd.
40160
40161 2006-07-29  Bruno Haible  <bruno@clisp.org>
40162
40163         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
40164
40165 2006-07-29  Bruno Haible  <bruno@clisp.org>
40166
40167         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
40168
40169 2006-07-29  Bruno Haible  <bruno@clisp.org>
40170
40171         * gnulib-tool (import, update): If there is no Makefile.am, look at
40172         aclocal.m4, instead of bailing out.
40173
40174 2006-07-29  Bruno Haible  <bruno@clisp.org>
40175
40176         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
40177         Categorize the options by when they are useful.
40178
40179 2006-07-29  Bruno Haible  <bruno@clisp.org>
40180
40181         * gnulib-tool (func_usage): Document option --no-libtool.
40182         Handle option --no-libtool.
40183         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
40184         for changed semantics of $libtool variable.
40185         (func_import): Likewise. If libtool is not used, show this through
40186         an option --no-libtool.
40187         (func_create_testdir): Update.
40188
40189 2006-07-29  Bruno Haible  <bruno@clisp.org>
40190
40191         * gnulib-tool (func_import): Extend error message about missing
40192         --doc-base.
40193
40194 2006-07-29  Bruno Haible  <bruno@clisp.org>
40195
40196         * gnulib-tool (func_import): Don't create the $docbase directory if
40197         there is no file to store there.
40198
40199 2006-07-29  Bruno Haible  <bruno@clisp.org>
40200
40201         * gnulib-tool (autoconf_minversion): If a --dir option is given and
40202         relevant, look for configure.ac there, not in the current directory.
40203         Also use a simple search for AC_PREREQ, not "autoconf --trace".
40204
40205 2006-07-29  Bruno Haible  <bruno@clisp.org>
40206
40207         * gnulib-tool (SORT): New variable.
40208         (func_usage): Undocument --assume-autoconf option.
40209         Remove --assume-autoconf option handling.
40210         (autoconf_minversion): Determine from the contents of configure.ac.
40211         (func_import): Remove autoconf_minversion handling.
40212         Suggested by Eric Blake.
40213
40214 2006-07-29  Bruno Haible  <bruno@clisp.org>
40215
40216         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
40217
40218 2006-07-29  Bruno Haible  <bruno@clisp.org>
40219
40220         * config/srclist.txt (*setenv.[ch]): Remove rules.
40221
40222 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40223
40224         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
40225
40226 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40227
40228         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
40229         arpa/inet.h.
40230
40231 2006-07-28  Simon Josefsson  <jas@extundo.com>
40232
40233         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
40234         * modules/inet_pton (Depends-on): Likewise.
40235
40236 2006-07-28  Simon Josefsson  <jas@extundo.com>
40237
40238         * m4/netinet_in_h.m4: New file.
40239
40240 2006-07-28  Simon Josefsson  <jas@extundo.com>
40241
40242         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
40243         #include's.
40244
40245 2006-07-28  Simon Josefsson  <jas@extundo.com>
40246
40247         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
40248         #include's.
40249
40250 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
40251
40252         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
40253         setgid on directories only if they set these bits.
40254         * lib/modechange.h: Remove obsolete comment about masks.
40255
40256 2006-07-28  Eric Blake  <ebb9@byu.net>
40257
40258         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
40259         macro expansion.
40260
40261 2006-07-28  Bruno Haible  <bruno@clisp.org>
40262
40263         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
40264
40265 2006-07-28  Bruno Haible  <bruno@clisp.org>
40266
40267         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
40268
40269 2006-07-28  Bruno Haible  <bruno@clisp.org>
40270
40271         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
40272         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
40273         Define fallbacks.
40274         Avoids link error on FreeBSD 4.x.
40275         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
40276
40277         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
40278         encoding.
40279         * lib/mbswidth.c (iswcntrl): Likewise.
40280
40281 2006-07-27  Bruno Haible  <bruno@clisp.org>
40282
40283         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
40284         test.
40285
40286 2006-07-27  Bruno Haible  <bruno@clisp.org>
40287
40288         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
40289         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
40290         defined.
40291
40292 2006-07-26  Eric Blake  <ebb9@byu.net>
40293
40294         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
40295
40296 2006-07-26  Eric Blake  <ebb9@byu.net>
40297
40298         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
40299         like mingw that lack mkstemp.
40300         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
40301         avoid compilation warning on mingw.
40302
40303 2006-07-26  Bruno Haible  <bruno@clisp.org>
40304
40305         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
40306         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
40307         INT_FAST*_MIN, INTPTR_MIN.
40308
40309 2006-07-25  Bruno Haible  <bruno@clisp.org>
40310
40311         * modules/version-etc (Depends-on): Add stdarg.
40312
40313 2006-07-25  Bruno Haible  <bruno@clisp.org>
40314
40315         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
40316         complex commands.
40317
40318 2006-07-25  Bruno Haible  <bruno@clisp.org>
40319
40320         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
40321         defined in <stdarg.h> or config.h.
40322
40323 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
40324
40325         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
40326         (gl_STDIO_SAFER): Remove.
40327
40328 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
40329
40330         * MODULES.html.sh (File stream based Input/Output):
40331         Add fopen-safer, tmpfile-safer; remove stdio-safer.
40332         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
40333         * modules/fopen-safer, modules/tmpfile-safer: New files.
40334         * modules/stdio-safer: Remove.
40335
40336 2006-07-24  Bruno Haible  <bruno@clisp.org>
40337
40338         * modules/tmpdir: New file.
40339         * MODULES.html.sh (File system functions): Add it.
40340
40341 2006-07-24  Bruno Haible  <bruno@clisp.org>
40342
40343         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
40344         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
40345
40346 2006-07-24  Bruno Haible  <bruno@clisp.org>
40347
40348         * modules/clean-temp: New file.
40349
40350 2006-07-24  Bruno Haible  <bruno@clisp.org>
40351
40352         * m4/tmpdir.m4: New file, from GNU gettext.
40353
40354 2006-07-24  Bruno Haible  <bruno@clisp.org>
40355
40356         * lib/tmpdir.h: New file, from GNU gettext.
40357         * lib/tmpdir.c: New file, from GNU gettext.
40358
40359 2006-07-24  Bruno Haible  <bruno@clisp.org>
40360
40361         * lib/clean-temp.h: New file, from GNU gettext.
40362         * lib/clean-temp.c: New file, from GNU gettext.
40363
40364 2006-07-23  Eric Blake  <ebb9@byu.net>
40365
40366         * modules/stdio-safer (Files): Add tmpfile-safer.c.
40367         (Depends-on): Add binary-io.
40368
40369 2006-07-23  Eric Blake  <ebb9@byu.net>
40370
40371         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
40372
40373 2006-07-23  Eric Blake  <ebb9@byu.net>
40374
40375         * lib/tmpfile-safer.c: New file.
40376         * lib/stdio-safer.h (fopen_safer): Add prototype.
40377         * lib/stdio--.h (tmpfile): Make safer.
40378
40379 2006-07-23  Bruno Haible  <bruno@clisp.org>
40380
40381         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
40382         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
40383         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
40384         gl_linked_remove_at): Use it.
40385
40386 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40387         and Simon Josefsson <jas@extundo.com>
40388
40389         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
40390
40391         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
40392
40393 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
40394
40395         * modules/close-stream: New file.
40396         * modules/closeout (Description): Make it clear that it exits
40397         with a diagnostic on error.
40398         (Depends-on): Add close-stream.  Remove fpending, stdbool.
40399         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
40400
40401 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
40402
40403         * m4/close-stream.m4: New file.
40404
40405 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
40406
40407         * lib/close-stream.c, lib/close-stream.h: New files.
40408
40409 2006-07-22  Bruno Haible  <bruno@clisp.org>
40410
40411         Merge from GNU gettext 0.15.
40412
40413         2006-05-01  Bruno Haible  <bruno@clisp.org>
40414
40415                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
40416
40417         2006-07-22  Bruno Haible  <bruno@clisp.org>
40418
40419                 * modules/javaversion: New file.
40420                 * MODULES.html.sh (Java): Add javaversion.
40421
40422         2006-03-12  Bruno Haible  <bruno@clisp.org>
40423
40424                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
40425
40426         2005-12-04  Bruno Haible  <bruno@clisp.org>
40427
40428                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
40429                 (untested).
40430
40431         2006-06-21  Bruno Haible  <bruno@clisp.org>
40432
40433                 Avoid warnings from recent versions of mcs.
40434                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
40435                 -o, -L, -r any more. Use options documented since mcs-1.0
40436                 instead. Similarly for -g.
40437
40438         2005-12-04  Bruno Haible  <bruno@clisp.org>
40439
40440                 * build-aux/csharpcomp.sh.in: Suffix for resources is
40441                 .resources, not .resource.
40442
40443         2005-07-09  Bruno Haible  <bruno@clisp.org>
40444
40445                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
40446                 add a .dll suffix.
40447                 Reported by Mark Junker <mjscod@gmx.de>.
40448
40449         2006-07-22  Bruno Haible  <bruno@clisp.org>
40450
40451                 * modules/gettext: Upgrade to gettext-0.15.
40452                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
40453                 m4/visibility.m4.
40454                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
40455
40456 2006-07-22  Bruno Haible  <bruno@clisp.org>
40457
40458         Merge from GNU gettext 0.15.
40459
40460         2006-03-25  Bruno Haible  <bruno@clisp.org>
40461
40462                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
40463
40464         2006-07-21  Bruno Haible  <bruno@clisp.org>
40465
40466                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
40467                 "1.1".
40468
40469         2006-05-09  Bruno Haible  <bruno@clisp.org>
40470
40471                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
40472                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
40473                 for the conftestver execution.
40474
40475         2006-05-01  Bruno Haible  <bruno@clisp.org>
40476
40477                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
40478                 optional target-version argument. Verify that the compiler
40479                 groks source of the specified source-version, or add -source
40480                 option as necessary. Verify that the compiler produces
40481                 bytecode in the specified target-version, or add -target and
40482                 -source options as necessary. Make the result of the test
40483                 available as variable CONF_JAVAC. Also log error output in
40484                 config.log.
40485
40486         2006-03-11  Bruno Haible  <bruno@clisp.org>
40487
40488                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
40489
40490         2006-05-09  Bruno Haible  <bruno@clisp.org>
40491
40492                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
40493                 CLASSPATH_SEPARATOR to a semicolon.
40494
40495         2006-03-12  Bruno Haible  <bruno@clisp.org>
40496
40497                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
40498                 available as variable CONF_JAVA, for subsequent autoconf
40499                 tests. Also log error output in config.log.
40500
40501         2006-07-19  Bruno Haible  <bruno@clisp.org>
40502
40503                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
40504                 that getline works on glibc2 systems. Needed to avoid trouble
40505                 in relocatable.c.
40506                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
40507
40508         2005-12-04  Bruno Haible  <bruno@clisp.org>
40509
40510                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
40511                 launcher (untested).
40512
40513         2005-12-04  Bruno Haible  <bruno@clisp.org>
40514
40515                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
40516
40517         2006-07-22  Bruno Haible  <bruno@clisp.org>
40518
40519                 * gettext.m4: Update from GNU gettext-0.15.
40520                 * nls.m4: Likewise.
40521                 * po.m4: Likewise.
40522                 * inttypes-pri.m4: Likewise.
40523                 * inttypes-h.m4: Renamed from inttypes.m4.
40524                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
40525
40526 2006-07-22  Bruno Haible  <bruno@clisp.org>
40527
40528         Merge from GNU gettext 0.15.
40529
40530         2005-07-05  Bruno Haible  <bruno@clisp.org>
40531
40532                 * printf-args.c (printf_fetchargs): Work around broken
40533                 definition of wint_t on mingw.
40534
40535         2005-02-12  Bruno Haible  <bruno@clisp.org>
40536
40537                 * xallocsa.h: Add extern "C" for C++.
40538
40539         2006-05-17  Bruno Haible  <bruno@clisp.org>
40540
40541                 Cygwin portability.
40542                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
40543
40544         2006-04-30  Bruno Haible  <bruno@clisp.org>
40545
40546                 * progreloc.c: Include <mach-o/dyld.h> if available.
40547                 (find_executable): Use _NSGetExecutablePath when possible.
40548
40549         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
40550
40551                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
40552                 function.
40553
40554         2005-12-29  Bruno Haible  <bruno@clisp.org>
40555
40556                 * progreloc.c (set_program_name_and_installdir): Fix
40557                 compilation error.
40558
40559         2005-12-04  Bruno Haible  <bruno@clisp.org>
40560
40561                 Cygwin portability.
40562                 * progreloc.c: Include <windows.h> also on Cygwin.
40563                 (find_executable): Add support for Cygwin.
40564                 (set_program_name_and_installdir): Handle also platforms with
40565                 nonempty EXEEXT.
40566
40567         2006-07-11  Bruno Haible  <bruno@clisp.org>
40568
40569                 * javacomp.c: Fix a comment.
40570                 Reported by Jim Meyering.
40571
40572         2006-04-30  Bruno Haible  <bruno@clisp.org>
40573
40574                 * javacomp.h (compile_java_class): Add source_version,
40575                 target_version arguments.
40576                 * javacomp.c: Rewritten to choose only a compiler that
40577                 respects the specified source_version and target_version.
40578
40579         2006-06-27  Bruno Haible  <bruno@clisp.org>
40580
40581                 Assume correct S_ISDIR macro.
40582                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
40583
40584         2006-07-22  Bruno Haible  <bruno@clisp.org>
40585
40586                 * javaversion.h: New file, from GNU gettext.
40587                 * javaversion.c: New file, from GNU gettext.
40588                 * javaversion.java: New file, from GNU gettext.
40589                 * javaversion.class: New file, from GNU gettext.
40590
40591         2006-05-17  Bruno Haible  <bruno@clisp.org>
40592
40593                 Cygwin portability.
40594                 * javaexec.c (execute_java_class): Test for jview program
40595                 also on Cygwin.
40596
40597         2006-04-09  Bruno Haible  <bruno@clisp.org>
40598
40599                 * fatal-signal.c: Don't include string.h.
40600                 (at_fatal_signal): Use a copying loop instead of memcpy.
40601
40602         2005-12-04  Bruno Haible  <bruno@clisp.org>
40603
40604                 * csharpexec.c: Add support for 'clix' launcher (untested).
40605                 (execute_csharp_using_sscli): New function.
40606                 (execute_csharp_program): Call it.
40607
40608         2006-06-21  Bruno Haible  <bruno@clisp.org>
40609
40610                 Avoid warnings from recent versions of mcs.
40611                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
40612                 -o, -L, -r any more. Use options documented since mcs-1.0
40613                 instead. Similarly for -g.
40614
40615         2005-07-09  Bruno Haible  <bruno@clisp.org>
40616
40617                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
40618                 add a .dll suffix.
40619                 Reported by Mark Junker <mjscod@gmx.de>.
40620
40621         2006-06-17  Bruno Haible  <bruno@clisp.org>
40622
40623                 * config.charset: Update for NetBSD 3.0.
40624
40625         2006-05-17  Bruno Haible  <bruno@clisp.org>
40626
40627                 Cygwin portability.
40628                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
40629
40630         2006-05-16  Bruno Haible  <bruno@clisp.org>
40631
40632                 * localcharset.c [CYGWIN]: Include <windows.h>.
40633                 (get_charset_aliases): For Cygwin, return the same CPxxx
40634                 aliases list as under WIN32.
40635                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
40636                 the environment variables. Fall back to GetACP().
40637
40638         2006-04-05  Bruno Haible  <bruno@clisp.org>
40639
40640                 * config.charset: Update Juan Manuel Guerrero's address.
40641
40642         2005-02-12  Bruno Haible  <bruno@clisp.org>
40643
40644                 * allocsa.h: Add extern "C" for C++.
40645
40646         2005-02-10  Bruno Haible  <bruno@clisp.org>
40647
40648                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
40649                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
40650
40651         2006-07-22  Bruno Haible  <bruno@clisp.org>
40652
40653                 * gettext.h: Update to GNU gettext-0.15.
40654
40655 2006-07-22  Bruno Haible  <bruno@clisp.org>
40656
40657         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
40658         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
40659         lib-prefix.m4, longdouble.m4, ssize_t.m4.
40660
40661 2006-07-21  Eric Blake  <ebb9@byu.net>
40662
40663         * modules/stdlib-safer: New file.
40664         * MODULES.html.sh (File stream based Input/Output): Add
40665         stdlib-safer.
40666
40667 2006-07-21  Eric Blake  <ebb9@byu.net>
40668
40669         * lib/stdlib-safer.h: New file from coreutils, required by
40670         stdlib--.h.
40671
40672 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
40673
40674         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
40675
40676 2006-07-20  Bruno Haible  <bruno@clisp.org>
40677
40678         * gnulib-tool: Recognize new option --assume-autoconf.
40679         (autoconf_minversion): New variable.
40680         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
40681
40682 2006-07-20  Bruno Haible  <bruno@clisp.org>
40683
40684         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
40685
40686 2006-07-19  Derek R. Price  <derek@ximbiot.com>
40687
40688         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
40689         Reindent and repaginate.
40690
40691 2006-07-19  Derek Price  <derek@ximbiot.com>
40692
40693         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
40694         Correct grammar.
40695
40696 2006-07-17  Bruno Haible  <bruno@clisp.org>
40697
40698         * modules/list: New file.
40699         * modules/array-list: New file.
40700         * modules/carray-list, modules/carray-list-tests: New files.
40701         * modules/linked-list, modules/linked-list-tests: New files.
40702         * modules/avltree-list, modules/avltree-list-tests: New files.
40703         * modules/rbtree-list, modules/rbtree-list-tests: New files.
40704         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
40705         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
40706         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
40707         * modules/oset: New file.
40708         * modules/array-oset: New file.
40709         * modules/avltree-oset, modules/avltree-oset-tests: New files.
40710         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
40711         * tests/test-carray_list.c: New file.
40712         * tests/test-linked_list.c: New file.
40713         * tests/test-avltree_list.c: New file.
40714         * tests/test-rbtree_list.c: New file.
40715         * tests/test-linkedhash_list.c: New file.
40716         * tests/test-avltreehash_list.c: New file.
40717         * tests/test-rbtreehash_list.c: New file.
40718         * tests/test-avltree_oset.c: New file.
40719         * tests/test-rbtree_oset.c: New file.
40720         * MODULES.html.sh (Container data structures): New section.
40721
40722 2006-07-17  Bruno Haible  <bruno@clisp.org>
40723
40724         * m4/gl_list.m4: New file.
40725
40726 2006-07-17  Bruno Haible  <bruno@clisp.org>
40727
40728         * lib/gl_list.h: New file.
40729         * lib/gl_list.c: New file.
40730         * lib/gl_array_list.h: New file.
40731         * lib/gl_array_list.c: New file.
40732         * lib/gl_carray_list.h: New file.
40733         * lib/gl_carray_list.c: New file.
40734         * lib/gl_linked_list.h: New file.
40735         * lib/gl_linked_list.c: New file.
40736         * lib/gl_anylinked_list1.h: New file.
40737         * lib/gl_anylinked_list2.h: New file.
40738         * lib/gl_avltree_list.h: New file.
40739         * lib/gl_avltree_list.c: New file.
40740         * lib/gl_anyavltree_list1.h: New file.
40741         * lib/gl_anyavltree_list2.h: New file.
40742         * lib/gl_rbtree_list.h: New file.
40743         * lib/gl_rbtree_list.c: New file.
40744         * lib/gl_anyrbtree_list1.h: New file.
40745         * lib/gl_anyrbtree_list2.h: New file.
40746         * lib/gl_anytree_list1.h: New file.
40747         * lib/gl_anytree_list2.h: New file.
40748         * lib/gl_linkedhash_list.h: New file.
40749         * lib/gl_linkedhash_list.c: New file.
40750         * lib/gl_anyhash_list1.h: New file.
40751         * lib/gl_anyhash_list2.h: New file.
40752         * lib/gl_avltreehash_list.h: New file.
40753         * lib/gl_avltreehash_list.c: New file.
40754         * lib/gl_rbtreehash_list.h: New file.
40755         * lib/gl_rbtreehash_list.c: New file.
40756         * lib/gl_anytreehash_list1.h: New file.
40757         * lib/gl_anytreehash_list2.h: New file.
40758
40759         * lib/gl_oset.h: New file.
40760         * lib/gl_oset.c: New file.
40761         * lib/gl_array_oset.h: New file.
40762         * lib/gl_array_oset.c: New file.
40763         * lib/gl_avltree_oset.h: New file.
40764         * lib/gl_avltree_oset.c: New file.
40765         * lib/gl_rbtree_oset.h: New file.
40766         * lib/gl_rbtree_oset.c: New file.
40767         * lib/gl_anytree_oset.h: New file.
40768
40769 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
40770
40771         * m4/mkancesdirs.m4: New file.
40772         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
40773         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
40774         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
40775         it.
40776
40777 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
40778
40779         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
40780         * lib/mkancesdirs.h: New files.
40781         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
40782         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
40783         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
40784         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
40785         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
40786         callers changed.  Revamp internals significantly, by not
40787         attempting to create directories that are temporarily more
40788         permissive than the final results.  Do not attempt to use
40789         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
40790         This removes some race conditions, fixes some bugs, and simplifies
40791         things.  Use new dirchownmod function to do owner and mode changes.
40792         * lib/mkdir-p.h: Likewise.
40793         * lib/modechange.c (octal_to_mode): New function.
40794         (struct mode_change): New member mentioned.
40795         (make_node_op_equals): New arg mentioned.  All callers changed.
40796         (mode_compile): Keep track of which mode bits the user has explicitly
40797         mentioned.
40798         (mode_adjust): New arg DIR, so that we implement the X op correctly.
40799         New arg PMODE_BITS, to keep track of which mode bits the user
40800         mentioned; it treats S_ISUID and S_ISGID speciall.
40801         All callers changed.
40802         * lib/modechange.h: Likewise.
40803
40804 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
40805
40806         * MODULES.html.sh: Add mkancestors.
40807         * modules/mkancesdirs: New module.
40808         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
40809         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
40810         The chdir-safer and afs files are now orphans; I'll remove them
40811         unless someone speaks up.
40812         Add lib/dirchownmod.c, lib/dirchownmod.h.
40813         (Depends-on): Remove alloca, chown, save-cwd, dirname.
40814         Add lchown, mkancesdirs.
40815         (Maintainer): Add self.
40816
40817 2006-07-15  Karl Berry  <karl@gnu.org>
40818
40819         * gnulib-tool: help message wording/arrangement.
40820
40821 2006-07-14  Simon Josefsson  <jas@extundo.com>
40822
40823         * doc/gnulib.texi (Libtool and Windows): New section.
40824
40825 2006-07-12  Simon Josefsson  <jas@extundo.com>
40826
40827         * modules/gendocs (License): Fix license, approved by Karl.
40828
40829 2006-07-12  Eric Blake  <ebb9@byu.net>
40830
40831         * MODULES.html.sh: Add gendocs.
40832
40833 2006-07-11  Eric Blake  <ebb9@byu.net>
40834
40835         * modules/fdl: New module, to install doc/fdl.texi.
40836         * MODULES.html.sh: Add new section for documentation modules.
40837         * gnulib-tool: Avoid space-tab.
40838         (--doc-base): New option, to manage files from doc.
40839
40840 2006-07-11  Eric Blake  <ebb9@byu.net>
40841
40842         * m4/absolute-header.m4: Fix comments to match recent change.
40843
40844 2006-07-11  Eric Blake  <ebb9@byu.net>
40845
40846         * gnulib-tool: List --doc-base before --tests-base.
40847
40848 2006-07-11  Derek R. Price  <derek@ximbiot.com>
40849
40850         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
40851
40852 2006-07-11  Bruno Haible  <bruno@clisp.org>
40853
40854         * README: Mention where to put documentation.
40855
40856 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40857
40858         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
40859
40860 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
40861
40862         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
40863         to stdint.m4.
40864
40865 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
40866
40867         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
40868         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
40869         "no/such/file/stdint.h" when there is no such file, so that
40870         the resulting C code can be parsed by dodgy compilers.
40871         Problems reported by Bob Proulx.
40872
40873 2006-07-10  Derek R. Price  <derek@ximbiot.com>
40874
40875         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
40876         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
40877         macros into the GNU _D_EXACT_NAMLEN.
40878         * lib/savedir.c:  Likewise.
40879         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
40880
40881 2006-07-10  Derek R. Price  <derek@ximbiot.com>
40882         and Paul Eggert  <eggert@cs.ucla.edu>
40883
40884         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
40885         * m4/savedir.m4:
40886         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
40887         macros into the GNU _D_EXACT_NAMLEN.
40888
40889 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
40890
40891         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
40892         around the absolute name, to work around a problem with the HP-UX
40893         11.23 native C compiler, reported by Bob Proulx.
40894
40895 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
40896
40897         * doc/maintain.texi, make-stds.texi: Sync from
40898         <http://savannah.gnu.org/projects/gnustandards>.
40899
40900 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
40901
40902         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
40903
40904 2006-07-09  Jim Meyering  <jim@meyering.net>
40905
40906         * m4/glob.m4: Remove a doubled word in a comment.
40907
40908 2006-07-09  Jim Meyering  <jim@meyering.net>
40909
40910         * lib/argp-pv.c: Remove a doubled word in a comment.
40911         * lib/check-version.c (check_version): Likewise.
40912         * lib/javacomp.c (compile_java_class): Likewise.
40913
40914 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
40915
40916         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
40917         for the benefit of people using Autoconf 2.60.  If you want to
40918         support older Autoconf versions you can copy m4/onceonly_2_57.m4
40919         (or m4/onceonly.m4, if pre-2.57) manually.
40920
40921 2006-07-08  Jim Meyering  <jim@meyering.net>
40922
40923         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
40924         comment.
40925         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
40926         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
40927         comment.
40928
40929 2006-07-08  Jim Meyering  <jim@meyering.net>
40930
40931         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
40932
40933 2006-07-07  Simon Josefsson  <jas@extundo.com>
40934
40935         * tests/test-crc.c: Change expected crc value, the test vector
40936         were probably computed using the old broken crc.c?
40937
40938 2006-07-06  Simon Josefsson  <jas@extundo.com>
40939
40940         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
40941         now the canonical place for the M4 file).
40942
40943         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
40944         from the sys_socket dependency now.
40945
40946         * modules/inet_pton (Files): Ditto.
40947
40948         * modules/inet_ntop (Files): Ditto.
40949
40950 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
40951
40952         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
40953         not gl_PREREQ_GETUSERSHELL.
40954
40955 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40956
40957         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
40958         with only one argument, for Autoconf 2.60.
40959         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
40960         expand to nothing, so add a shell command to avoid syntax error.
40961         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
40962
40963 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40964
40965         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
40966
40967 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
40968
40969         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
40970         no longer needed.  Check for isblank decl.
40971         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
40972         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
40973         of existence.
40974
40975 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
40976
40977         * lib/getloadavg.c: Use __VMS, not VMS.
40978         * lib/getopt.c: Likewise.
40979         * lib/getpagesize.h: Likewise.
40980         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
40981         and probably does not work.
40982
40983 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
40984
40985         * lib/.cppi-disable: Add wcwidth.
40986         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
40987         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
40988         (ISGRAPH): Remove.  All uses changed to isgraph.
40989         (FOLD) [!defined _LIBC]: Remove special case.
40990         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
40991         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
40992         HAVE_ISBLANK.
40993         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
40994         case.
40995
40996 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
40997
40998         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
40999         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
41000         brackets.  Other minor changes to suppress some compiler
41001         warnings.
41002
41003 2006-07-06  Derek R. Price  <derek@ximbiot.com>
41004         and Paul Eggert  <eggert@cs.ucla.edu>
41005
41006         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
41007         of invoking obsolescent AC_HEADER_DIRENT macro.
41008         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
41009         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
41010         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
41011         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
41012         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
41013         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
41014         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
41015         * m4/readdir.m4: Remove; no longer needed.
41016
41017 2006-07-06  Derek R. Price  <derek@ximbiot.com>
41018         and Paul Eggert  <eggert@cs.ucla.edu>
41019
41020         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
41021         Don't worry about this obsolete case any more.
41022         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
41023         directories.
41024         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
41025         worry about this obsolete case any more.
41026         * lib/fts.c: Likewise.
41027         * lib/getcwd.c: Likewise.
41028         * lib/glob.h: Likewise.
41029         * lib/savedir.c: Likewise.
41030
41031 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
41032
41033         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
41034         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
41035         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
41036         needed.
41037         All uses removed.
41038         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
41039         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
41040         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
41041         needed.
41042         * m4/getdate.m4 (gl_GETDATE): Likewise.
41043         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
41044         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
41045         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
41046         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
41047         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
41048         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
41049         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
41050         needed.
41051
41052 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
41053
41054         * lib/memcasecmp.c: Include <limits.h>.
41055         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
41056         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
41057         Don't assume isdigit succeeds only on '0' through '9'.
41058
41059 2006-07-05  Eric Blake  <ebb9@byu.net>
41060
41061         * modules/getaddrinfo (Depends-on): Add snprintf.
41062
41063 2006-07-05  Eric Blake  <ebb9@byu.net>
41064
41065         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
41066         to avoid 'header present but could not be compiled' on cygwin.
41067
41068 2006-07-05  Eric Blake  <ebb9@byu.net>
41069
41070         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
41071         missing from netdb.h.
41072         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
41073
41074 2006-07-05  Derek R. Price  <derek@ximbiot.com>
41075
41076         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
41077         no longer needed.
41078         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
41079         * m4/getdate.m4 (gl_GETDATE): Likewise.
41080         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
41081         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
41082         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
41083         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
41084         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
41085
41086 2006-07-05  Derek R. Price  <derek@ximbiot.com>
41087
41088         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
41089         All uses of is_space replaced by isspace.
41090         * lib/exit.h: Don't talk about STDC_HEADERS.
41091         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
41092         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
41093         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
41094         replaced by isprint etc.
41095         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
41096         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
41097         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
41098         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
41099         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
41100         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
41101
41102 2006-07-05  Bruno Haible  <bruno@clisp.org>
41103
41104         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
41105         the function exists, before testing against AIX.
41106         Reported by Martin Lambers <marlam@marlam.de>.
41107
41108 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
41109
41110         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
41111         From Mark D. Baushke.
41112
41113 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
41114
41115         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
41116         to the absolute name, not just one, to bypass Sun C 5.8's
41117         "warning: #include of /usr/include/... may be non-portable".
41118
41119 2006-07-04  Eric Blake  <ebb9@byu.net>
41120
41121         * modules/dirname-tests: New test module.
41122         * tests/test-dirname.c: New file, replacing dirname.c
41123         TEST_DIRNAME section that was recently deleted.
41124
41125 2006-07-04  Bruno Haible  <bruno@clisp.org>
41126
41127         Assume ANSI C header files and <ctype.h> functions.
41128         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
41129         (mbsnwidth): Use isprint, iscntrl instead.
41130
41131 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
41132
41133         Merge from coreutils.
41134         * MODULES.html.sh: Add xstrtold.
41135         * modules/xstrtold: New file.
41136         * modules/cycle-check (Files): Add lib/same-inode.h.
41137         * modules/dirname (Files): Add m4/double-slash-root.m4.
41138         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
41139         * modules/mkdir-p (Files): Add lib/same-inode.h.
41140         * modules/same (Files): Add lib/same-inode.h.
41141
41142 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
41143
41144         * m4/absolute-header.m4: Renamed from full-header-path.m4.
41145         This is to keep the terminology clean; POSIX talks about
41146         "absolute pathnames", not "full pathnames", but the GNU
41147         Coding Standards say to use "path" for something else;
41148         so use "absolute" to keep both sides happy.
41149         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
41150         Set gl_absolute_header, not gl_full_header_path.
41151         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
41152         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
41153         All uses changed.
41154
41155         Merge from coreutils.
41156
41157         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
41158
41159         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
41160         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
41161         want to require the building of c-strtod.o.
41162         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
41163         needs -lm directly.
41164         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
41165
41166         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
41167
41168         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
41169         --as-needed option if available.  Problem reported by Albert Chin in
41170         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
41171         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
41172         cc merely issues a bunch of annoying warnings for --as-needed
41173         (this problem was reported by Bob Proulx).  Also, try linking with
41174         -lm to detect a bug in binutils 2.16 (this problem was reported
41175         by Ralf Wildenhues).
41176
41177         2006-06-18  Jim Meyering  <jim@meyering.net>
41178
41179         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
41180         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
41181         macro.
41182         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
41183         also check for glibc-2.4's abort-inducing bug.
41184
41185         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
41186         Low-probability clean-up should be to use rmdir to get rid of
41187         the just-created directory, not unlink.
41188
41189         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
41190         configure fail, and request a bug report to inform us about it.
41191         Add a comment that, barring reports to the contrary, in 2007 we'll
41192         assume ftruncate is universally available.
41193
41194         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
41195
41196         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
41197
41198         2006-03-12  Jim Meyering  <jim@meyering.net>
41199
41200         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
41201         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
41202         * m4/same.m4 (gl_SAME): Likewise.
41203         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
41204
41205         2006-03-11  Eric Blake  <ebb9@byu.net>
41206
41207         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
41208         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
41209         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
41210         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
41211
41212 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
41213
41214         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
41215         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
41216         reported by Mark D. Baushke, one in
41217         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
41218
41219         Merge from coreutils.
41220
41221         * lib/.cppi-disable: Add stdint_.h.
41222         * lib/.cvsignore: Add stdint.h.
41223
41224         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
41225
41226         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
41227         both double and long double versions.
41228         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
41229         * lib/xstrtold.c: New file.
41230         * lib/xstrtod.h (xstrtold): New decl.
41231
41232         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
41233
41234         * lib/filemode.c (setst): Remove.
41235         (strmode): Rewrite to avoid setst.  This makes the code shorter,
41236         (arguably) clearer, and the generated code is a bit smaller on my
41237         Debian GNU/Linux stable x86 host.
41238
41239         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
41240
41241         * lib/filemode.c: Include "filemode.h" first, to test the interface.
41242         Assume that filemode.h includes sys/types.h and sys/stat.h.
41243         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
41244         (ftypelet): Reorder to put common cases first, for efficiency.
41245         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
41246         to do 'M'.
41247         (strmode): Renamed from mode_string, and now stores 12 bytes instead
41248         of 10, for compatibility with FreeBSD.  All callers changed.
41249         (filemodestring): Now stores 12 bytes instead of 10, and sets file
41250         types that can't be deduced solely from st_mode.  First arg is now a
41251         const pointer.
41252         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
41253         (strmode): Renamed from mode_string.
41254         (filemodestring): New decl.
41255         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
41256         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
41257         needed.
41258         (S_ISPORT, S_ISWHT): New macros, if not already defined.
41259
41260         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
41261
41262         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
41263         fsusage.h now does that.  Include fsusage.h first, to test interface.
41264         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
41265         at most one method (the old code could have generated decls that
41266         didn't conform to C89, not that this was ever exercised).
41267         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
41268
41269         2006-03-19  Jim Meyering  <jim@meyering.net>
41270
41271         Work even in a chroot where d_ino values for entries in "/"
41272         don't match the stat.st_ino values for the same names.
41273         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
41274         number, iterate through all entries again, using lstat instead.
41275         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
41276         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
41277
41278         * lib/getcwd.c (__getcwd): Clarify a comment.
41279         Use memcpy in place of a call to strcpy.
41280
41281         2006-03-12  Jim Meyering  <jim@meyering.net>
41282
41283         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
41284         matches that of the current directory (which we're about to chdir ".."
41285         out of), then save the dev-ino of the parent, instead.
41286
41287         * lib/same-inode.h (SAME_INODE): New file/macro.
41288         * lib/chdir-safer.c (SAME_INODE): Remove definition.
41289         Include "same-inode.h", instead.
41290         * lib/same.c: Likewise.
41291         * lib/cycle-check.h: Include "same-inode.h".
41292         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
41293         * lib/cycle-check.c (SAME_INODE): Remove definition.
41294         * lib/root-dev-ino.h: Include "same-inode.h".
41295
41296         2006-03-11  Eric Blake  <ebb9@byu.net>
41297
41298         * lib/same.c (same_name): s/base_name/last_component/
41299         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
41300         * lib/filenamecat.c (file_name_concat): Likewise.
41301
41302         2006-03-11  Eric Blake  <ebb9@byu.net>,
41303                     Paul Eggert  <eggert@cs.ucla.edu>
41304
41305         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
41306         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
41307         drive prefix.
41308         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
41309         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
41310         (last_component): New method.
41311         * lib/dirname.c (dir_len): Determine when drive letters need a
41312         subsequent slash.  Preserve // when it is special.
41313         (dir_name): Don't append dot when drive letter is absolute.
41314         [TEST_DIRNAME]: Move into a full-blown gnulib test.
41315         * lib/basename.c (base_name): New semantics - malloc the result.
41316         Preserve // when it is special.  Preserve relative files that look
41317         like drive letters.
41318         (base_len): Preserve // when it is special.
41319         (last_component): New method, similar to old base_name semantics.
41320         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
41321         base_name.  Strip redundant slashes from ///.
41322
41323 2006-07-03  Jim Meyering  <jim@meyering.net>
41324
41325         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
41326         macro is used before the first cycle_check call.
41327
41328 2006-07-03  Eric Blake  <ebb9@byu.net>
41329
41330         * modules/dirname (Depends-on): Add xstrndup.
41331
41332 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
41333
41334         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
41335         test cases, so that config.log is a bit easier to follow.
41336
41337 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
41338
41339         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
41340         both are 64 bits, since this seems to be the tradition, and this
41341         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
41342         we ever run into a host that prefers long long to long in this
41343         case, we'll need another configure-time test.  Problem reported by
41344         Jim Meyering.
41345
41346 2006-07-02  Eric Blake  <ebb9@byu.net>
41347
41348         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
41349
41350 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
41351
41352         * modules/inttypes (Depends-on): No longer depends on stdint.
41353         * modules/stdint (Description): Say more about assumptions.
41354         Say that the fast types might differ.  Say macros are used.
41355         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
41356         (Makefile.am): Revise list of substituted symbols to match
41357         new stdint.m4.
41358         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
41359         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
41360         * tests/test-stdint.c (verify_same_types)
41361         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
41362         the code conforms to C99/C89.
41363         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
41364         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
41365
41366 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
41367
41368         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
41369         but fix a bug, by requiring at least 64 bits.
41370         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
41371         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
41372         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
41373         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
41374
41375         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
41376         changes.  Make 2.59 a prerequisite.  Check and substitute for
41377         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
41378         inttypes.h.  Do not use special include files; just use the
41379         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
41380         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
41381         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
41382         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
41383         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
41384         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
41385         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
41386         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
41387         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
41388         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
41389         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
41390         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
41391         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
41392         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
41393         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
41394         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
41395         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
41396         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
41397         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
41398         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
41399         WINT_MAX.  Check for C99 conformance more strictly, by detecting
41400         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
41401         not check for things that C99 does not require, e.g., int8_t.  If
41402         a test isn't needed unless <stdint.h> isn't working, and is
41403         unlikely to be needed for any other reason, then don't do it
41404         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
41405         size_t, since we assume C89 freestanding at least.  Do not check
41406         for sig_atomic_t, wchar_t, or wint_t, since the code now does
41407         the right thing even if the types are not defined.  Instead use:
41408         (gl_STDINT_TYPE_PROPERTIES): New macro.
41409         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
41410         testing whether <sys/types.h> clashes, as Autoconf does this for
41411         us now.  All uses removed.
41412         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
41413         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
41414         (gl_CHECK_TYPE_SAME):
41415         Remove; no longer needed.
41416         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
41417         exists, since we'll return 0 anyway in that case.
41418         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
41419
41420 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
41421
41422         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
41423         possible collision with system files.
41424         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
41425         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
41426         WCHAR_MIN and WCHAR_MAX in this case.
41427         (<stddef.h>): Do not include; no longer needed.
41428         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
41429         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
41430         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
41431         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
41432         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
41433         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
41434         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
41435         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
41436         !defined(__c99))]: Include in this case too, since it's harmless
41437         now.
41438         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
41439         dangerous to do so.
41440         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
41441         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
41442         (_STDINT_MIN, _STDINT_MAX): New macros.
41443         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
41444         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
41445         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
41446         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
41447         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
41448         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
41449         macros, not typedefs; this simplifies things quite a bit.
41450         Use long int for all types narrower than int64_t.
41451         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
41452         Define in terms of long long int or int64_t or long int,
41453         not int64_t or int32_t.  This saves some compile-time testing.
41454         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
41455         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
41456         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
41457         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
41458         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
41459         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
41460         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
41461         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
41462         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
41463         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
41464         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
41465         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
41466         undef any previous version and define our own version, for
41467         simplicity and consistency with the new macros for types.
41468         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
41469         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
41470         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
41471         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
41472         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
41473         @WINT_T_SUFFIX@ to keep things simple here.
41474         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
41475         Simplify by assuming typical 8/16/32/64 host, since we're
41476         already doing that elsewhere anyway.
41477         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
41478         and assume long long int is 64 bits if available.  This
41479         speeds up 'configure'.
41480
41481 2006-07-01  Eric Blake  <ebb9@byu.net>
41482
41483         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
41484         Reported by Andreas Buening.
41485
41486 2006-07-01  Eric Blake  <ebb9@byu.net>
41487
41488         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
41489
41490 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
41491
41492         * lib/getaddrinfo.c: fixed typo
41493
41494 2006-06-29  Jim Meyering  <jim@meyering.net>
41495
41496         * modules/strftime (Maintainer): Add my name, since with the
41497         FPRINTFTIME changes strftime.c has forked from glibc.
41498
41499 2006-06-29  Eric Blake  <ebb9@byu.net>
41500
41501         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
41502
41503 2006-06-29  Eric Blake  <ebb9@byu.net>
41504
41505         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
41506
41507 2006-06-29  Eric Blake  <ebb9@byu.net>
41508
41509         * lib/stat_.h: New file.
41510
41511 2006-06-29  Eric Blake  <ebb9@byu.net>
41512
41513         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
41514         unused static function.
41515
41516 2006-06-29  Eric Blake  <ebb9@byu.net>
41517
41518         * doc/functions.texi (Function Portability): Document missing lstat
41519         on mingw.
41520
41521 2006-06-29  Eric Blake  <ebb9@byu.net>
41522
41523         * MODULES.html.sh: Add sys_stat.
41524         * modules/sys_stat: New module.
41525         * modules/mkstemp (Depends-on): Add sys_stat.
41526
41527 2006-06-29  Derek R. Price  <derek@ximbiot.com>
41528
41529         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
41530
41531 2006-06-29  Derek R. Price  <derek@ximbiot.com>
41532
41533         * m4/c-bs-a.m4: Removed.
41534
41535 2006-06-29  Derek R. Price  <derek@ximbiot.com>
41536
41537         * lib/strftime.c: Assume strftime() exists.
41538
41539 2006-06-29  Derek Price  <derek@ximbiot.com>
41540
41541         * modules/c-bs-a: Removed - \a is C89.
41542         * MODULES.html.sh: Remove c-bs-a.
41543
41544 2006-06-29  Bruno Haible  <bruno@clisp.org>
41545
41546         * modules/wcwidth (License): Change to LGPL.
41547
41548 2006-06-28  Simon Josefsson  <jas@extundo.com>
41549
41550         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
41551         on _WIN32.
41552
41553         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
41554         getnameinfo.
41555
41556 2006-06-28  Simon Josefsson  <jas@extundo.com>
41557
41558         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
41559
41560 2006-06-28  Simon Josefsson  <jas@extundo.com>
41561
41562         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
41563         functions there.  It will succeed on Windows XP, but on Windows
41564         2000 and (presumably) earlier, it will fail, and use the internal
41565         re-implementation.
41566         (use_win32_p): New function.
41567         (getaddrinfo): Use strtoul on servname, to support numeric ports.
41568         Support AI_NUMERICSERV to disable getservbyname.
41569         (getnameinfo): New function, only supports
41570         NI_NUMERICHOST|NI_NUMERICSERV for now.
41571
41572         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
41573         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
41574         getnameinfo.
41575
41576 2006-06-28  Eric Blake  <ebb9@byu.net>
41577
41578         * modules/wcwidth: New file.
41579         * modules/mbchar (Depends-on): Add wcwidth.
41580         * modules/mbswidth (Depends-on): Add wcwidth.
41581         * MODULES.html.sh: Add wcwidth.
41582
41583 2006-06-28  Eric Blake  <ebb9@byu.net>
41584
41585         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
41586         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
41587
41588 2006-06-28  Eric Blake  <ebb9@byu.net>
41589
41590         * lib/xvasprintf.h: Fix comments.
41591
41592 2006-06-28  Eric Blake  <ebb9@byu.net>
41593
41594         * lib/mbchar.h (wcwidth): Include wcwidth.h.
41595         * lib/mbswidth.c (wcwidth): Move from here...
41596         * lib/wcwidth.h: ...to this new file.
41597
41598 2006-06-28  Derek R. Price  <derek@ximbiot.com>
41599
41600         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
41601
41602         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
41603         it's obsolete.
41604         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
41605
41606 2006-06-28  Derek R. Price  <derek@ximbiot.com>
41607
41608         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
41609         Autoconf 2.60 says this stuff was obsolete.
41610
41611 2006-06-28  Bruno Haible  <bruno@clisp.org>
41612
41613         * modules/wcwidth (Files): Add m4/wchar_t.m4.
41614
41615 2006-06-28  Bruno Haible  <bruno@clisp.org>
41616
41617         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
41618         gt_TYPE_WCHAR_T.
41619
41620 2006-06-28  Bruno Haible  <bruno@clisp.org>
41621
41622         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
41623         declaration for wcwidth.
41624         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
41625
41626 2006-06-28  Bruno Haible  <bruno@clisp.org>
41627
41628         * lib/mkdtemp.c [MINGW]: Include <io.h>.
41629         (mkdir): Define using _mkdir.
41630
41631 2006-06-28  Bruno Haible  <bruno@clisp.org>
41632
41633         * lib/getaddrinfo.h: Fix POSIX URL.
41634         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
41635         _WIN32.
41636         (use_win32_p): Make static.
41637         (getaddrinfo): Reject service name if it is empty or does not consist
41638         solely of decimal digits, or if its value is > 65535.
41639         (getnameinfo): Remove useless casts.
41640
41641 2006-06-27  Simon Josefsson  <jas@extundo.com>
41642
41643         * modules/sys_select: New file, suggested by Bruno Haible, Paul
41644         Eggert and Martin Lambers.
41645
41646 2006-06-27  Simon Josefsson  <jas@extundo.com>
41647
41648         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
41649         Eggert and Martin Lambers.
41650
41651 2006-06-27  Bruno Haible  <bruno@clisp.org>
41652
41653         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
41654         result to 0, not to empty.
41655         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
41656
41657 2006-06-27  Bruno Haible  <bruno@clisp.org>
41658
41659         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
41660
41661 2006-06-26  Simon Josefsson  <jas@extundo.com>
41662
41663         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
41664         present.
41665
41666 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
41667
41668         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
41669         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
41670         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
41671
41672 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
41673
41674         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
41675
41676 2006-06-26  Bruno Haible  <bruno@clisp.org>
41677
41678         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
41679
41680 2006-06-26  Bruno Haible  <bruno@clisp.org>
41681
41682         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
41683
41684 2006-06-26  Bruno Haible  <bruno@clisp.org>
41685
41686         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
41687         SGI C compiler in pre-C99 mode.
41688         Suggested by Mark D. Baushke and Larry Jones.
41689
41690 2006-06-26  Bruno Haible  <bruno@clisp.org>
41691
41692         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
41693         WCHAR_MAX.
41694         Reported by Mark D. Baushke and Larry Jones.
41695
41696 2006-06-26  Bruno Haible  <bruno@clisp.org>
41697
41698         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
41699         in pre-C99 mode.
41700         Suggested by Mark D. Baushke and Larry Jones.
41701
41702 2006-06-23  Simon Josefsson  <jas@extundo.com>
41703             Bruno Haible  <bruno@clisp.org>
41704
41705         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
41706         Emit mostlyclean-local rule.
41707         (func_emit_tests_Makefile_am): Likewise.
41708         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
41709
41710 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
41711
41712         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
41713
41714 2006-06-23  Bruno Haible  <bruno@clisp.org>
41715
41716         * tests/test-stdint.c: Update to match ISO C 99 Technical
41717         Corrigendum 1.
41718
41719 2006-06-23  Bruno Haible  <bruno@clisp.org>
41720
41721         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
41722
41723 2006-06-23  Bruno Haible  <bruno@clisp.org>
41724
41725         * lib/stdint_.h: Treat IRIX like OpenBSD.
41726
41727 2006-06-23  Bruno Haible  <bruno@clisp.org>
41728
41729         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
41730         ISO C 99 Technical Corrigendum 1.
41731
41732 2006-06-22  Simon Josefsson  <jas@extundo.com>
41733
41734         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
41735         MinGW.
41736
41737 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
41738
41739         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
41740         needed.  Some compiler complained about some of them.  Problem reported
41741         by Larry Jones in
41742         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
41743
41744 2006-06-21  Simon Josefsson  <jas@extundo.com>
41745
41746         * tests/test-getaddrinfo.c: New file.
41747
41748         * modules/getaddrinfo-tests: New file.
41749
41750         * MODULES.html.sh: Add inet_pton.
41751
41752         * modules/inet_pton: New file.
41753
41754 2006-06-21  Simon Josefsson  <jas@extundo.com>
41755
41756         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
41757         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
41758         of using the (limited) gnulib implementation on Windows XP.
41759
41760         * m4/inet_pton.m4: New file.
41761
41762 2006-06-21  Simon Josefsson  <jas@extundo.com>
41763
41764         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
41765         variable.
41766
41767         * lib/socket_.h: Don't define WINVER.
41768
41769         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
41770         slightly modified to work in gnulib.
41771
41772 2006-06-21  Simon Josefsson  <jas@extundo.com>
41773
41774         * doc/gnulib.texi (Windows sockets): Add.
41775
41776 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
41777
41778         * lib/read-file.c (fread_file): Start with buffer allocation of
41779         0 bytes rather than 1 byte; this simplifies the code.
41780         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
41781         code to free buffer and save/restore errno.
41782         (internal_read_file): Remove unused local.
41783
41784 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
41785
41786         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
41787         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
41788         Problem reported by Denis Excoffier in
41789         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
41790
41791 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41792
41793         * modules/sys_socket, modules/socklen: Include sys/types since
41794         FreeBSD 4.x's sys/socket.h needs it.
41795
41796 2006-06-19  Simon Josefsson  <jas@extundo.com>
41797
41798         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
41799
41800 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
41801
41802         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
41803
41804 2006-06-19  Bruno Haible  <bruno@clisp.org>
41805
41806         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
41807         and FULL_PATH_INTTYPES_H in angle brackets.
41808         Reported by Mark D. Baushke <mdb@gnu.org>.
41809
41810 2006-06-17  Eric Blake  <ebb9@byu.net>
41811
41812         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
41813         errno.
41814
41815 2006-06-17  Bruno Haible  <bruno@clisp.org>
41816
41817         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
41818         <sys/inttypes.h>.
41819
41820 2006-06-17  Bruno Haible  <bruno@clisp.org>
41821
41822         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
41823         whether errno is declared. Assume <errno.h> declares errno.
41824
41825 2006-06-17  Bruno Haible  <bruno@clisp.org>
41826
41827         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
41828
41829 2006-06-17  Bruno Haible  <bruno@clisp.org>
41830
41831         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
41832         problem on Solaris 2.5.1.
41833
41834 2006-06-16  Eric Blake  <ebb9@byu.net>
41835
41836         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
41837         * lib/unicodeio.c [!defined errno]: Likewise.
41838         * lib/strtol.c [!defined errno]: Likewise.
41839         * lib/strtod.c [!defined errno]: Likewise.
41840
41841 2006-06-15  Eric Blake  <ebb9@byu.net>
41842
41843         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
41844
41845 2006-06-15  Eric Blake  <ebb9@byu.net>
41846
41847         * config/srclist.txt (ssize_t.m4): Lose sync.
41848
41849 2006-06-15  Bruno Haible  <bruno@clisp.org>
41850
41851         * modules/stdint (Files): Include m4/full-header-path.m4,
41852         m4/size_max.m4, m4/wchar_t.m4.
41853         (Makefile.am): Many more substitutions.
41854         * modules/stdint-tests: New file.
41855         * tests/test-stdint.c: New file.
41856
41857 2006-06-15  Bruno Haible  <bruno@clisp.org>
41858
41859         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
41860         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
41861         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
41862         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
41863         gl_CHECK_TYPE_SAME): New macros.
41864
41865 2006-06-15  Bruno Haible  <bruno@clisp.org>
41866
41867         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
41868
41869 2006-06-15  Bruno Haible  <bruno@clisp.org>
41870
41871         * lib/stdint_.h: Rewritten to be fully auto-configured.
41872         Fixes bug on HP-UX/IA64.
41873
41874 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
41875
41876         * lib/getdate.y (__attribute__): Don't define if already defined.
41877         Problem reported by Larry Jones.
41878         * lib/utimens.c (__attribute__): Likewise.
41879
41880 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
41881
41882         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
41883         reported by Andreas Schwab.
41884
41885 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41886             Bruno Haible  <bruno@clisp.org>
41887
41888         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
41889         check for the declaration of strnlen and a run test that exposes the
41890         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
41891         rpl_strndup.
41892
41893 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41894             Bruno Haible  <bruno@clisp.org>
41895
41896         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
41897
41898 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41899
41900         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
41901         compile test, for Tru64 4.0D.
41902
41903 2006-05-28  Karl Berry  <karl@gnu.org>
41904
41905         * config/srclist.txt (printf-args.c): lose sync.
41906
41907 2006-05-26  Martin Lambers  <marlam@marlam.de>
41908
41909         * lib/getpass.c: Updates the test for the native W32 API, and adds
41910         missing includes, thus fixing compilation warnings.
41911
41912 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
41913
41914         * lib/exclude.c (exclude_fnmatch): New function.
41915         (excluded_file_name): Call exclude_fnmatch.
41916         * lib/exclude.h (excluded_file_name): New prototype
41917
41918 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
41919
41920         * lib/tempname.c (small_open, large_open): New macros.
41921         (__open, __open64) [!_LIBC]: Remove.
41922         (__gen_tempname): Use small_open and large_open instead of __open
41923         and __open64.  This fixes a portability bug on HP-UX 11.11i
41924         reported by Simon Wing-Tang in
41925         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
41926
41927 2006-05-24  Bruno Haible  <bruno@clisp.org>
41928
41929         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
41930         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
41931         Reported by Thorsten Maerz <torte@netztorte.de> via
41932         Aaron Stone <aaron@serendipity.cx>.
41933
41934 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
41935
41936         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
41937         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
41938         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
41939         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
41940         not really conditional on the cache.
41941         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
41942
41943 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
41944
41945         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
41946         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
41947         (my_usleep): Don't mishandle maximum value.
41948
41949 2006-05-19  Jim Meyering  <jim@meyering.net>
41950
41951         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
41952
41953 2006-05-17  Bruno Haible  <bruno@clisp.org>
41954
41955         Cygwin portability.
41956         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
41957
41958 2006-05-17  Bruno Haible  <bruno@clisp.org>
41959
41960         * lib/stdint_.h: Fix recognition of Cygwin.
41961
41962 2006-05-15  Bruno Haible  <bruno@clisp.org>
41963
41964         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
41965         on libtool patch by Ralf Wildenhues.
41966
41967 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
41968
41969         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
41970         test for C99 conformance; (bool) 0.5 is an integer constant
41971         expression, but (bool) -0.5 is not.  Problem reported by Fedor
41972         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
41973
41974 2006-05-11  Simon Josefsson  <jas@extundo.com>
41975
41976         * m4/xvasprintf.m4: Fix obvious typo.
41977
41978 2006-05-11  Jim Meyering  <jim@meyering.net>
41979
41980         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
41981         James Lemley.
41982
41983 2006-05-10  Simon Josefsson  <jas@extundo.com>
41984
41985         * lib/md4.c: Typo fix, update copyright years.
41986         (K1, K2): Don't use L because it turn computations into 64-bit on
41987         64-bit platforms.
41988
41989 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
41990
41991         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
41992         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
41993         unwanted sign propagation, e.g., on hosts with 64-bit int.
41994         There still are some problems with reeelly weird theoretical hosts
41995         (e.g., 33-bit int) but it's not worth worrying about now.
41996         * lib/sha1.c (rol): Likewise.
41997         (K1, K2, K3, K4): Remove unnecessary L suffix.
41998
41999 2006-05-10  Bruno Haible  <bruno@clisp.org>
42000
42001         * lib/des.c: Cast to avoid warnings.
42002
42003 2006-05-09  Bruno Haible  <bruno@clisp.org>
42004
42005         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
42006         (Depends-on): Depend also on xsize, stdarg.
42007         (configure.ac): Add gl_XVASPRINTF.
42008
42009 2006-05-09  Bruno Haible  <bruno@clisp.org>
42010
42011         * m4/xvasprintf.m4: New file.
42012
42013 2006-05-09  Bruno Haible  <bruno@clisp.org>
42014
42015         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
42016         (EOVERFLOW): Define fallback value.
42017         (xstrcat): New function.
42018         (xvasprintf): Recognize the special case of a string concatenation.
42019
42020 2006-05-08  Eric Blake  <ebb9@byu.net>
42021
42022         * gnulib-tool (func_version): Base copyright year on CVS date.
42023         (func_emit_copyright_notice): New function.
42024         (func_emit_lib_Makefile_am): Use it.
42025         (func_emit_tests_Makefile_am): Likewise.
42026         (func_import): Likewise.
42027
42028 2006-05-08  Bruno Haible  <bruno@clisp.org>
42029
42030         * modules/stdarg: New file.
42031         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
42032
42033 2006-05-08  Bruno Haible  <bruno@clisp.org>
42034
42035         * m4/stdarg.m4: New file, from GNU gettext.
42036
42037 2006-05-08  Bruno Haible  <bruno@clisp.org>
42038
42039         * config/srclist.txt (build-aux/config.rpath): different from latest
42040         release.
42041
42042 2006-05-08  Bruno Haible  <bruno@clisp.org>
42043
42044         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
42045
42046 2006-05-05  Jim Meyering  <jim@meyering.net>
42047
42048         * m4/warning.m4: New file, derived from bison's file by the same name.
42049
42050 2006-05-03  Bruno Haible  <bruno@clisp.org>
42051
42052         * lib/stdint_.h: Shorter URL.
42053         * lib/inttypes.h: Likewise.
42054
42055 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
42056
42057         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
42058
42059 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
42060
42061         * lib/verify.h: Document the internals better.  Most of this change
42062         was written by Bruno Haible.
42063
42064 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
42065
42066         * doc/verify.texi: New file, partly based on a proposal by
42067         Bruno Haible.
42068
42069 2006-05-02  Bruno Haible  <bruno@clisp.org>
42070
42071         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
42072         test from here...
42073         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
42074
42075 2006-04-29  Bruno Haible  <bruno@clisp.org>
42076
42077         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
42078         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
42079
42080 2006-04-29  Bruno Haible  <bruno@clisp.org>
42081
42082         * gnulib-tool: Make --update option actually work.
42083
42084 2006-04-29  Bruno Haible  <bruno@clisp.org>
42085
42086         * doc/gcd.texi: New file.
42087         * doc/gnulib.texi: Include it.
42088
42089 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
42090
42091         * lib/getdate.y (get_date): When adding relative date, start with the
42092         initial time, not with the result of the first mktime call.
42093
42094 2006-04-25  Bruno Haible  <bruno@clisp.org>
42095
42096         * gnulib-tool (func_import): Output the include directives in three
42097         blocks, sorted separately.
42098         Reported by Ben Pfaff <blp@cs.stanford.edu>.
42099
42100 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
42101
42102         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
42103         to define main with arguments, for C++.  Reported by Eric Blake.
42104         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
42105         Prefer 'int main ()' to 'int main (void)', for C++.
42106         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
42107         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
42108         for 'main', for C99 and C++.
42109
42110 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
42111
42112         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
42113         Don't assume that exit status -1 is valid.
42114         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
42115         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
42116         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
42117         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
42118         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
42119         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
42120         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
42121         functions can be used without declaring them, or that you can
42122         exit with status -1.
42123         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
42124
42125 2006-04-24  Karl Berry  <karl@gnu.org>
42126
42127         * config/srclist.txt (longdouble.m4): sync lost.
42128
42129 2006-04-24  Eric Blake  <ebb9@byu.net>
42130
42131         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
42132
42133 2006-04-24  Bruno Haible  <bruno@clisp.org>
42134
42135         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
42136         poll() implementation in AIX.
42137         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
42138
42139 2006-04-24  Bruno Haible  <bruno@clisp.org>
42140
42141         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
42142         assigned exactly once.
42143
42144 2006-04-23  Claudio Fontana  <claudio@gnu.org>
42145             Bruno Haible  <bruno@clisp.org>
42146
42147         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
42148         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
42149         for AM_CPPFLAGS.
42150
42151 2006-04-23  Bruno Haible  <bruno@clisp.org>
42152
42153         * modules/copy-file: Depend on unistd.
42154         * modules/execute: Likewise.
42155         * modules/fatal-signal: Likewise.
42156         * modules/findprog: Likewise.
42157         * modules/mkdtemp : Likewise.
42158         * modules/pipe: Likewise.
42159         * modules/wait-process: Likewise.
42160
42161 2006-04-23  Bruno Haible  <bruno@clisp.org>
42162
42163         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
42164         condition was already detected.
42165         Reported by Ben Pfaff <blp@cs.stanford.edu>.
42166
42167 2006-04-23  Bruno Haible  <bruno@clisp.org>
42168
42169         * lib/copy-file.c: Include <unistd.h> unconditionally.
42170         * lib/execute.c: Likewise.
42171         * lib/fatal-signal.c: Likewise.
42172         * lib/findprog.c: Likewise.
42173         * lib/mkdtemp.c: Likewise.
42174         * lib/pipe.h: Likewise.
42175         * lib/pipe.c: Likewise.
42176         * lib/wait-process.h: Likewise.
42177
42178 2006-04-23  Bruno Haible  <bruno@clisp.org>
42179
42180         * gnulib-tool (func_usage): Fix --import description. Document
42181         --update.
42182         (func_import): Create temporary file in a temporary directory, if
42183         --dry-run is specified. Silence errors from 'grep' when there are no
42184         m4 files in $m4dir.
42185         (func_create_testdir): Silence errors from 'grep' when there are no
42186         m4 files in $m4dir.
42187         Reported by Karl Berry <karl@freefriends.org>.
42188
42189 2006-04-20  Bruno Haible  <bruno@clisp.org>
42190
42191         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
42192         one argument, so that the code will be portable to Autoconf 2.60.
42193         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
42194         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
42195         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
42196
42197 2006-04-19  Derek Price  <derek@ximbiot.com>
42198             Eric Blake  <ebb9@byu.net>
42199
42200         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
42201         rather than "/full/path.h".  Update comment to match.  Shorten &
42202         generalize m4_translit call via AS_TR_CPP.
42203
42204 2006-04-19  Derek Price  <derek@ximbiot.com>
42205             Eric Blake  <ebb9@byu.net>
42206
42207         * lib/inttypes.h: Correct grammar in comment.
42208
42209 2006-04-18  Derek Price  <derek@ximbiot.com>
42210             Paul Eggert  <eggert@cs.ucla.edu>
42211
42212         * modules/inttypes: New file.
42213         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
42214
42215 2006-04-18  Derek Price  <derek@ximbiot.com>
42216             Paul Eggert  <eggert@cs.ucla.edu>
42217
42218         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
42219         New files.
42220
42221 2006-04-18  Derek Price  <derek@ximbiot.com>
42222             Paul Eggert  <eggert@cs.ucla.edu>
42223
42224         * lib/inttypes.h: New file.
42225         * lib/strtoimax.c: Assume <inttypes.h>.
42226
42227 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
42228
42229         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
42230         isn't mounted.  Problem reported by Kir Kolyshkin.
42231
42232 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
42233
42234         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
42235         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
42236         Derek R. Price.
42237         * lib/regex.h (RE_DUP_MAX): Update comment to match current
42238         implementation.
42239
42240 2006-04-12  Eric Blake  <ebb9@byu.net>
42241
42242         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
42243         is now done automatically by the corresponding Autoconf macro.
42244
42245 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
42246
42247         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
42248         time_r.h.
42249
42250 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
42251
42252         Merge regex changes from libc, removing some of our
42253         POSIX-conformance changes that were rejected and redoing them in a
42254         less-intrusive way.
42255
42256         * lib/regcomp.c (re_compile_internal, init_dfa):
42257         Length arg is now size_t, not Idx.  All uses changed.
42258         (peek_token): Forward decl now says internal_function.
42259         (__re_error_msgid, __re_error_msgid_idx):
42260         Now static rather than extern with attribute_hidden.
42261         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
42262         For some reason libc prefers K&R style defns for external functions.
42263         (regerror) [!defined _LIBC]: Likewise.
42264         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
42265         (seek_collating_symbol_entry, lookup_collation_sequence_value):
42266         (build_range_exp, build_collating_symbol):
42267         Use K&R-style defn.
42268         (re_compile_fastmap): Use '\0' to memset, not 0.
42269         (utf8_sb_map): Make the calculations more obvious.
42270         (init_dfa, parse_bracket_exp, build_charclass_op):
42271         Call calloc and cast result, as glibc does.
42272         (init_word_char, fetch_token, peek_token, peek_token_bracket):
42273         (build_range_exp, build_collating_symbol):
42274         Now internal functions.
42275
42276         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
42277
42278         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
42279         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
42280         Don't depend on VMS; depend on __VMS instead, for POSIX
42281         namespace cleanness.
42282         (regoff_t): Define to ssize_t, not long int.
42283
42284         Remove the REG_ macros named below.  Instead, make the old names
42285         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
42286         __USE_GNU_REGEX.
42287         (REG_BACKSLASH_ESCAPE_IN_LISTS):
42288         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
42289         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
42290         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
42291         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
42292         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
42293         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
42294         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
42295         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
42296         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
42297         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
42298         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
42299         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
42300         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
42301         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
42302         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
42303         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
42304         (REG_NREGS):
42305         Remove.  All uses replaced by the old RE_* names.
42306         (RE_BACKSLASH_ESCAPE_IN_LISTS):
42307         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
42308         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
42309         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
42310         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
42311         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
42312         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
42313         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
42314         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
42315         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
42316         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
42317         Don't bother having these macros be independent of each others'
42318         values, since they no longer exist in the POSIX name space.
42319
42320         Rename the following member names back to their old names,
42321         unless !__USE_GNU_REGEX.  All uses changed back.
42322         (buffer): Renamed from re_buffer.
42323         (allocated): Renamed from re_allocated.
42324         (used): Renamed from re_used.
42325         (syntax): Renamed from re_syntax.
42326         (fastmap): Renamed from re_fastmap.
42327         (translate): Renamed from re_translate.
42328         (can_be_null): Renamed from re_can_be_null.
42329         (regs_allocated): Renamed from re_regs_allocated.
42330         (fastmap_accurate): Renamed from re_fastmap_accurate.
42331         (no_sub): Renamed from re_no_sub.
42332         (not_bol): Renamed from re_not_bol.
42333         (not_eol): Renamed from re_not_eol.
42334         (newline_anchor): Renamed from re_newline_anchor.
42335         (num_regs): Renamed from rm_num_regs.
42336         (start): Renamed from rm_start.
42337         (end): Renamed from rm_end.
42338
42339         (free_state): Move up a bit.
42340
42341         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
42342         #define to be empty.
42343         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
42344         when that is what is intended.
42345         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
42346         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
42347         (MAX): New macro.
42348         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
42349         All uses changed back to re_malloc, etc.  It's now the caller's
42350         responsibility to check for overflow; all callers changed.
42351         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
42352         (re_x2nrealloc): Remove.
42353         (free_state): Remove decl.
42354
42355         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
42356         (re_set_registers, re_exec):
42357         Use K&R-style defn.
42358
42359         2006-01-31  Roland McGrath  <roland@redhat.com>
42360
42361         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
42362         Reported by Mike Frysinger <vapier@gentoo.org>.
42363
42364         2006-01-15  Andreas Jaeger  <aj@suse.de>
42365
42366         [BZ #1950]
42367         * lib/regex_internal.c (re_string_reconstruct): Adjust for
42368         build_wcs_upper_buffer change.
42369         (build_wcs_upper_buffer): Change return type.
42370
42371         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
42372
42373         * lib/regex_internal.h: Include <stdint.h> if available.
42374
42375         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
42376
42377         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
42378
42379         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
42380
42381         * lib/regcomp.c: Adjust for changed secondary hash function.
42382
42383         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
42384
42385         * lib/regex.h: Pretty printing.
42386         Clean up namespace a bit.
42387
42388         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
42389
42390         * lib/regexec.c (update_cur_sifted_state, check_arrival,
42391         check_arrival_add_next_nodes): Avoid using uninitialized variable.
42392
42393         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
42394                     Ulrich Drepper  <drepper@redhat.com>
42395
42396         [BZ #1302]
42397         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
42398         changed.
42399         (bitset_word_t): Renamed from bitset_word.  All uses changed.
42400
42401         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
42402
42403         [BZ #281]
42404         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
42405         * lib/regcomp.c: Remove unnecessary uses of
42406         unsigned RE_TRANSLATE_TYPE.
42407         * lib/regex_internal.h: Likewise.
42408         * lib/regex_internal.c: Likewise.
42409         * lib/regexec.c: Likewise.
42410         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
42411
42412         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
42413
42414         * lib/regexec.c (find_recover_state): Remove unnecessary
42415         initialization.
42416         (transit_state_bkref): Make DFA a const pointer.
42417         (get_subexp): Likewise.
42418         (check_arrival): Likewise.
42419         (update_cur_sifted_state): Likewise.
42420         (re_search_internal): Likewise.
42421         (prune_impossible_nodes): Likewise.
42422         (acquire_init_state_context): Likewise.
42423         (proceed_next_node): Likewise.
42424         (set_regs): Likewise.
42425         (free_fail_stack_return): Likewise.
42426         (check_arrival_expand_ecl): Mark DFA parameter as const.
42427         (check_arrival_expand_ecl_sub): Likewise.
42428         (check_subexp_limits): Likewise.
42429         (sub_epsilon_src_nodes):  Likewise.
42430         (add_epsilon_src_nodes):  Likewise.
42431         (merge_state_array): Likewise.
42432         (update_regs): Likewise.
42433         (build_trtable): Likewise.
42434         (sift_states_backward): Mark MCTX parameter as const.
42435         (build_sifted_states): Likewise.
42436         (update_cur_sifted_state): Likewise.
42437         (sift_states_mkref): Likewise.
42438         (check_arrival_expand_ecl): Mark eclosure as const.
42439         (check_dst_limits_calc_pos_1): Likewise.
42440         * lib/regex_internal.h (re_match_context_t): Make dfa a const
42441         pointer.
42442
42443         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
42444
42445         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
42446         (transit_state_sb): Likewise.
42447         (transit_state_mb): Likewise.
42448         (sift_states_iter_mb): Likewise.
42449         (check_arrival_add_next_nodes): Likewise.
42450         (check_node_accept_bytes): Change first parameter to pointer-to-const.
42451         [_LIBC] (re_search_2_stub): Use mempcpy.
42452
42453         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
42454         mbrtowc for very simple UTF-8 case.
42455
42456         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
42457         a pointer-to-const.
42458         (re_acquire_state_context): Likewise.
42459         * lib/regex_internal.h: Adjust prototypes.
42460
42461         * lib/regex.c: Prevent using C++ compilers.
42462
42463         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
42464         (re_acquire_state_context): Likewise.
42465
42466 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
42467
42468         * modules/regex (Depends-on): Add ssize_t.
42469
42470 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
42471
42472         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
42473         translation table.
42474
42475 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
42476
42477         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
42478
42479 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
42480             Bruno Haible  <bruno@clisp.org>
42481
42482         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
42483         <sys/types.h> and <inttypes.h>.
42484
42485 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42486
42487         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
42488         `__error_t_defined', so argp.h will not typedef the former.
42489
42490 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
42491
42492         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
42493         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
42494         glibc names.  Even if glibc is changed to conform to POSIX, the
42495         traditional names will be available anyway, since regex depends on
42496         the extensions module.  Also, fix a longstanding typo in the
42497         implementation of Spencer ERE test #75 from grep 2.3.  Problems
42498         reported by Emanuele Giaquinta.  Also, change sense of cached
42499         variable, so that the message makes sense.
42500
42501 2006-03-24  Simon Josefsson  <jas@extundo.com>
42502
42503         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
42504         including some doc fixes.
42505         (base64_encode_alloc): Fix +1 bug on allocation failures.
42506
42507 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42508
42509         * lib/base64.c (base64_encode): Do not read past end of array with
42510         unsanitized input on systems with CHAR_BIT > 8.
42511
42512 2006-03-24  Eric Blake  <ebb9@byu.net>
42513
42514         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
42515
42516 2006-03-22  Karl Berry  <karl@gnu.org>
42517
42518         * config/srclist.txt (*setenv.[ch]): get from coreutils.
42519         * config/srclistvars.sh (COREUTILS): new var.
42520
42521 2006-03-17  Jim Meyering  <jim@meyering.net>
42522
42523         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
42524         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
42525
42526 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
42527
42528         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
42529         no longer needs it.  Instead, check that regoff_t is as least
42530         as wide as ptrdiff_t.
42531
42532         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
42533         so that our regex.h stays compatible with the installed regex.
42534         This is helpful for installers who configure --without-included-regex.
42535         Problem reported by Emanuele Giaquinta.
42536
42537 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
42538
42539         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
42540         Typedef to long int, not to off_, as POSIX will likely change
42541         in that direction.
42542
42543 2006-03-15  Eric Blake  <ebb9@byu.net>
42544
42545         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
42546
42547 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
42548
42549         * lib/argp-help.c (validate_uparams): Fix typo
42550         * lib/argp-parse.c (argp_default_options): Consistently begin help
42551         messages with a lowercase letter.
42552
42553 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
42554
42555         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
42556         overrun buffers and shouldn't be used (much as gets shouldn't be
42557         used).
42558         * lib/time_r.c (asctime_r, ctime_r): Likewise.
42559
42560 2006-03-08  Simon Josefsson  <jas@extundo.com>
42561
42562         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
42563         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
42564
42565 2006-03-08  Simon Josefsson  <jas@extundo.com>
42566
42567         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
42568         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
42569
42570 2006-03-08  Simon Josefsson  <jas@extundo.com>
42571
42572         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
42573         signal that configure disabled the device.
42574
42575 2006-03-08  Simon Josefsson  <jas@extundo.com>
42576
42577         * build-aux/maint.mk: Fix refresh-po, to handle no translated
42578         languages.
42579
42580 2006-03-07  Simon Josefsson  <jas@extundo.com>
42581
42582         * modules/getopt (Depends-on): Add unistd.
42583
42584         * modules/unistd: New file.
42585
42586 2006-03-07  Simon Josefsson  <jas@extundo.com>
42587
42588         * modules/gc-random: New file.
42589
42590 2006-03-07  Simon Josefsson  <jas@extundo.com>
42591
42592         * m4/unistd_h.m4: New file.
42593
42594 2006-03-07  Simon Josefsson  <jas@extundo.com>
42595
42596         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
42597         test to be side-effect free by storing the result in the cache
42598         variable gl_cv_lib_readline, and moving the assignment of
42599         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
42600         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
42601
42602 2006-03-07  Simon Josefsson  <jas@extundo.com>
42603
42604         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
42605         error on missing devices (the functions will return an error).
42606
42607         * m4/gc.m4: Move random stuff to gc-random.m4
42608
42609 2006-03-07  Simon Josefsson  <jas@extundo.com>
42610
42611         * lib/unistd_.h: New file.
42612
42613 2006-03-07  Simon Josefsson  <jas@extundo.com>
42614
42615         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
42616
42617 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
42618
42619         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
42620         Problem reported by Juan Manuel Guerrero.
42621
42622 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
42623
42624         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
42625         the unistd module.
42626         * lib/getlogin_r.c: Likewise.
42627         * lib/getlogin_r.h: Likewise.
42628         * lib/glob.c: Likewise.
42629         * lib/pagealign_alloc.c: Likewise.
42630         * lib/unistd_.h: Remove; no longer needed.
42631
42632 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
42633
42634         * MODULES.html.sh (Support for systems lacking POSIX:2001):
42635         Add unistd.
42636         * modules/c-stack (Depends-on): Add unistd.
42637         * modules/getlogin_r: Likewise.
42638         * modules/glob: Likewise.
42639         * modules/pagealign_alloc: Likewise.
42640         * modules/unistd (Files): Remove lib/unistd_.h.
42641         (EXTRA_DIST): Remove.
42642         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
42643         need unistd_.h.
42644         (MOSTLYCLEANFILES): Remove unistd.h-t.
42645
42646 2006-03-03  Simon Josefsson  <jas@extundo.com>
42647
42648         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
42649
42650 2006-03-03  Simon Josefsson  <jas@extundo.com>
42651
42652         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
42653         libidn and bison.
42654
42655 2006-03-03  Simon Josefsson  <jas@extundo.com>
42656
42657         * build-aux/maint.mk: Add indent target.
42658
42659 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
42660
42661         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
42662         our replacement poll.h in any case, to avoid a differing
42663         declaration from a system header.  Seen on AIX.
42664
42665 2006-03-01  Simon Josefsson  <jas@extundo.com>
42666
42667         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
42668         <kasal@ucw.cz>.
42669
42670 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
42671
42672         * modules/gettime (Depends-on): Add extensions module.
42673         * modules/nanosleep (Depends-on): Likewise.
42674         * modules/settime (Depends-on): Likewise.
42675
42676 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
42677
42678         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
42679         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
42680         pedantically.
42681         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
42682         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
42683
42684         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
42685         not "==".  Reported by Ralf Wildenhues.
42686
42687 2006-03-01  Karl Berry  <karl@gnu.org>
42688
42689         * doc/Copyright/request-*: new files, synced from gnuorg.
42690
42691 2006-03-01  Karl Berry  <karl@gnu.org>
42692
42693         * config/srclist.txt (Copyright/*): new entries.
42694
42695 2006-02-28  Simon Josefsson  <jas@extundo.com>
42696
42697         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
42698
42699 2006-02-27  Simon Josefsson  <jas@extundo.com>
42700
42701         * lib/base64.h: Indent #define's.  From Jim Meyering
42702         <jim@meyering.net>.
42703
42704 2006-02-27  Jim Meyering  <jim@meyering.net>
42705
42706         Revert the change of 2006-02-24, so these files can continue
42707         to be sync'd from gettext.
42708         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
42709         of `config.h'.
42710
42711 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
42712
42713         * modules/intprops: New file.
42714         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
42715         Add intprops.
42716         * modules/getloadavg (Files): Remove lib/intprops.h.
42717         (Depends-on): Add intprops.
42718         * modules/human: Likewise.
42719         * modules/inttostr: Likewise.
42720         * modules/openat: Likewise.
42721         * modules/sig2str: Likewise.
42722         * modules/userspec: Likewise.
42723         * modules/utimecmp: Likewise.
42724         * modules/xnanosleep: Likewise.
42725         * modules/xstrtol: Likewise.
42726
42727 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
42728
42729         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
42730         * modules/lock-tests (TESTS): Use $(EXEEXT).
42731         * modules/tls-tests: Likewise.
42732         * modules/argp-tests: Likewise.
42733         (check_PROGRAMS): New var, replacing...
42734         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
42735
42736 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42737
42738         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
42739         `config.h'.
42740
42741 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
42742
42743         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
42744
42745 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42746
42747         Sync from coreutils.
42748         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
42749         gl_CHDIR_SAFER.
42750
42751 2006-02-22  Jim Meyering  <jim@meyering.net>
42752
42753         Sync from coreutils.
42754         * m4/chdir-safer.m4: New file.
42755
42756 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
42757
42758         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
42759         AT_FDCWD exceeds INT_MAX.
42760         * lib/openat.h (AT_FDCWD): Likewise.
42761
42762 2006-02-17  Eric Blake  <address@hidden>
42763
42764         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
42765
42766 2006-02-16  Simon Josefsson  <jas@extundo.com>
42767
42768         * modules/getaddrinfo (Depends-on): Add sys_socket.
42769
42770 2006-02-15  Simon Josefsson  <jas@extundo.com>
42771
42772         * build-aux/maint.mk: Add dsyntax-check rule.
42773
42774 2006-02-15  Eric Blake  <ebb9@byu.net>
42775
42776         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
42777         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
42778         'present but cannot compile' warnings on cygwin.
42779         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
42780         use ws2tcpip.h if sys/socket.h works.
42781         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
42782         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
42783
42784 2006-02-14  Simon Josefsson  <jas@extundo.com>
42785
42786         * modules/maintainer-makefile (Files): Rename.
42787
42788         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
42789         and (the local) Makefile.cfg to maint-cfg.mk.
42790
42791         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
42792         to the latter.
42793
42794         * modules/maintainer-makefile: New module.
42795
42796         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
42797         severaly stripped to make it possible to build it up from scratch
42798         with reliable tests.
42799
42800         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
42801         fixes to permit overriding the default actions when configure and
42802         makefile are not available.
42803
42804 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
42805
42806         Sync from coreutils.
42807         * modules/lstat (Depends-on): Don't depend on xalloc.
42808         (License): Change from GPL to LGPL, since this is now simply a
42809         replacement for a libc function.
42810
42811 2006-02-14  Jim Meyering  <jim@meyering.net>
42812
42813         Sync from coreutils.
42814
42815         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
42816         failure on deficient systems, and simplify gnulib lgpl dependencies.
42817         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
42818         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
42819
42820         * lib/xalloc-die.c: Remove unused definition of N_.
42821
42822 2006-02-14  Jim Meyering  <jim@meyering.net>
42823
42824         Sync from coreutils.
42825         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
42826         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
42827         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
42828         double-quote uses of that variable, to accommodate the rare case in
42829         which getmntent is available in none of the libraries checked.  This
42830         happens at least on FreeBSD 5.0.
42831
42832 2006-02-13  Simon Josefsson  <jas@extundo.com>
42833
42834         * gnulib-tool (Usage): Fix --import, from
42835         karl@freefriends.org (Karl Berry).
42836
42837 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
42838
42839         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
42840
42841 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
42842
42843         * lib/argp-namefrob.h: Restore changes accidentally lost during the
42844         "autoupdate" on 2005-12-12.
42845
42846 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
42847
42848         * modules/closeout (Depends-on): Remove atexit.
42849
42850 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
42851
42852         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
42853         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
42854
42855 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
42856
42857         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
42858         __EXTENSIONS__ if this causes compilation to fail.  Problem
42859         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
42860         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
42861
42862 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
42863
42864         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
42865         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
42866         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
42867         All uses changed.
42868
42869 2006-01-26  Simon Josefsson  <jas@extundo.com>
42870
42871         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
42872         prototype is visible on mingw32.
42873
42874         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
42875         for mingw32.
42876
42877         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
42878         mingw32).
42879
42880 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
42881
42882         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
42883         attempt to open for write; this always fails, at least on POSIX
42884         hosts.  This reinstates the 2006-01-09 change, which was
42885         inadvertently removed.
42886
42887 2006-01-26  Bruno Haible  <bruno@clisp.org>
42888
42889         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
42890         Reported by Paul Eggert.
42891
42892 2006-01-26  Bruno Haible  <bruno@clisp.org>
42893             Paul Eggert  <eggert@cs.ucla.edu>
42894
42895         * lib/stdbool_.h (_Bool)
42896         [(! (defined __cplusplus || defined __BEOS__)
42897           && !defined __GNUC__
42898           && !(defined __HP_cc || defined __xlc__
42899                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
42900                || defined __sgi))]:
42901         #define to signed char in these cases too; this simplifies
42902         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
42903         etc., separately) and makes it more conservative.
42904
42905 2006-01-25  Simon Josefsson  <jas@extundo.com>
42906
42907         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
42908         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
42909         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
42910
42911 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
42912
42913         * lib/argp-namefrob.h: Bugfix. Remove stray #
42914
42915 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
42916
42917         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
42918         so that we test the test.
42919         Check for yet another HP-UX cc bug involving *bool |= bool.
42920
42921 2006-01-25  Karl Berry  <karl@gnu.org>
42922
42923         * config/srclist.txt (vasnprintf.c): sync lost.
42924
42925 2006-01-25  Jim Meyering  <jim@meyering.net>
42926
42927         Sync from the stable (b5) branch of coreutils:
42928
42929         * lib/fts.c (fts_children): Don't let close() clobber errno from
42930         failed fchdir().
42931
42932         * lib/fts.c (fts_stat): When following a symlink-to-directory,
42933         don't necessarily interpret stat-fails+lstat-succeeds as indicating
42934         a dangling symlink.  That can also happen at least for ELOOP.
42935         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
42936         FYI, this bug predates the inclusion of fts.c in coreutils.
42937
42938         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
42939         in their own block, so pre-c99 compilers don't object.
42940
42941         Avoid the double-free (first in fts_read, second in fts_close) that
42942         would occur when an `active' directory is made inaccessible (e.g.,
42943         via chmod a-x) during a traversal.
42944         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
42945         before returning.  Reproduce this failure by
42946         mkdir -p a/b; cd a; chmod a-x . b
42947         Reported by Stavros Passas.
42948
42949 2006-01-25  Jim Meyering  <jim@meyering.net>
42950
42951         * lib/fileblocks.c: Remove more useless parentheses.
42952         * lib/readutmp.h: Likewise.
42953
42954 2006-01-25  Bruno Haible  <bruno@clisp.org>
42955
42956         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
42957         warnings.
42958         Reported by Paul Eggert.
42959
42960 2006-01-25  Bruno Haible  <bruno@clisp.org>
42961
42962         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
42963         rid of a trap command. For Solaris sh.
42964         Reported by Mark D. Baushke <mdb@gnu.org>.
42965
42966 2006-01-24  Simon Josefsson  <jas@extundo.com>
42967
42968         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
42969         Bruno.
42970
42971 2006-01-24  Karl Berry  <karl@gnu.org>
42972
42973         * config/srclist.txt (argp-namefrob.h): sync lost.
42974
42975 2006-01-24  Jim Meyering  <jim@meyering.net>
42976
42977         * modules/openat (Files): Add lib/intprops.h.
42978         From Mark D. Baushke.
42979
42980 2006-01-24  Jim Meyering  <jim@meyering.net>
42981
42982         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
42983         Reported by Mark D. Baushke.
42984
42985 2006-01-24  Jim Meyering  <jim@meyering.net>
42986
42987         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
42988
42989 2006-01-24  Bruno Haible  <bruno@clisp.org>
42990
42991         * modules/strnlen (Maintainer): Change from glibc to all.
42992
42993 2006-01-24  Bruno Haible  <bruno@clisp.org>
42994
42995         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
42996         Patch by Paul Eggert.
42997
42998 2006-01-24  Bruno Haible  <bruno@clisp.org>
42999
43000         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
43001         already has it.
43002         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
43003         2005-11-26.
43004
43005         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
43006         'signed char' to avoid problems with the built-in _Bool type.
43007         Reported by Paul Eggert on 2005-11-26.
43008
43009 2006-01-24  Bruno Haible  <bruno@clisp.org>
43010
43011         * gnulib-tool (func_import): Avoid constructing complicated sed
43012         expressions inside backquote.
43013         Report and solution by Mark D. Baushke <mdb@gnu.org>.
43014
43015 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
43016
43017         These changes imported from libc.
43018         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
43019         test and two separate function calls.
43020         * lib/strndup.c (__strndup): Add libc_hidden_def.
43021
43022 2006-01-23  Simon Josefsson  <jas@extundo.com>
43023
43024         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
43025         Remove the test_*_SOURCES variable: automake infers it by default.
43026         * modules/tls-tests: Likewise.
43027
43028 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
43029
43030         Work around porting bugs reported by Dieter in
43031         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
43032         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
43033         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
43034         Include "getopt.h" first, to check interface.
43035         (getenv): Declare only if defined HAVE_DECL_GETENV &&
43036         !HAVE_DECL_GETENV.
43037         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
43038         (__strndup): Revert to K&R-style function dfns, the glibc style.
43039         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
43040         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
43041         Include strnlen.h first, to get prototype properly.
43042         (strnlen): Renamed from __strnlen.
43043         Remove weak alias.
43044
43045 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
43046
43047         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
43048
43049 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
43050
43051         * config/srclist.txt: Adjust to reflect glibc reorganization.
43052         This affects only comments.
43053
43054 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
43055
43056          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
43057          Reported by Bruce Korb <bkorb@gnu.org>.
43058
43059 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
43060
43061         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
43062         to pacify gcc -Wswitch-default.
43063
43064 2006-01-22  Bruno Haible  <bruno@clisp.org>
43065
43066         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
43067         temporary buffer for sprintf, take into account the precision also
43068         for 'd', 'i', 'u', 'o', 'x', 'X'.
43069
43070 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
43071
43072         * modules/argp-tests: New module
43073         * tests/test-argp.c: New file
43074         * tests/test-argp-2.sh: New file
43075
43076 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
43077
43078         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
43079         (__argp_base_name): Removed
43080         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
43081         typo.
43082         (__argp_base_name): Provide macro definition or extern declaration
43083         depending on the configuration
43084
43085 2006-01-20  Simon Josefsson  <jas@extundo.com>
43086
43087         * modules/inet_ntop (Depends-on): Depend on sys_socket.
43088
43089 2006-01-20  Simon Josefsson  <jas@extundo.com>
43090
43091         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
43092
43093 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
43094
43095         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
43096         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
43097         Suggested by Bruno Haible.
43098
43099 2006-01-20  Karl Berry  <karl@gnu.org>
43100
43101         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
43102         until changes propagate, I guess.
43103
43104 2006-01-19  Simon Josefsson  <jas@extundo.com>
43105
43106         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
43107
43108 2006-01-19  Simon Josefsson  <jas@extundo.com>
43109
43110         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
43111
43112 2006-01-19  Simon Josefsson  <jas@extundo.com>
43113
43114         * gnulib-tool: Set check_PROGRAMS.
43115
43116         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
43117         modules/des-tests, modules/gc-arcfour-tests,
43118         modules/gc-arctwo-tests, modules/gc-des-tests,
43119         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
43120         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
43121         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
43122         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
43123         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
43124         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
43125         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
43126         test_*_SOURCES.
43127
43128 2006-01-18  Simon Josefsson  <jas@extundo.com>
43129
43130         * modules/socklen (Depends-on): Depend on sys_socket.
43131
43132 2006-01-18  Simon Josefsson  <jas@extundo.com>
43133
43134         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
43135         modules/des-tests, modules/gc-arcfour-tests,
43136         modules/gc-arctwo-tests, modules/gc-des-tests,
43137         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
43138         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
43139         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
43140         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
43141         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
43142         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
43143         $(EXEEXT) to automake TESTS variable, for mingw32.
43144
43145 2006-01-17  Simon Josefsson  <jas@extundo.com>
43146
43147         * modules/socklen (Include): Need sys/socket.h.
43148
43149 2006-01-17  Bruno Haible  <bruno@clisp.org>
43150
43151         * modules/ssize_t (Include): Add <sys/types.h>.
43152
43153 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
43154
43155         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
43156         it's not portable and it doesn't work with cross-compiles.
43157         Problem reported by Bruno Haible.  Fix missing-$ typo in
43158         'test "gl_cv_ignore_unused_libraries" ...' that prevented
43159         -zignore from being used with Sun's C compiler.
43160
43161 2006-01-12  Simon Josefsson  <jas@extundo.com>
43162
43163         * lib/base64.c: Fix warning, reported by Bruno Haible
43164         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
43165
43166 2006-01-12  Bruno Haible  <bruno@clisp.org>
43167
43168         * modules/ldd: New file.
43169         * build-aux/ldd.sh.in: New file.
43170         * MODULES.html.sh (Support for building libraries and executables): Add
43171         ldd.
43172
43173 2006-01-12  Bruno Haible  <bruno@clisp.org>
43174
43175         * m4/ldd.m4: New file.
43176
43177 2006-01-12  Bruno Haible  <bruno@clisp.org>
43178
43179         * gnulib-tool (func_import, func_create_testdir): Don't go into an
43180         endless loop while replacing $auxdir with build-aux.
43181
43182 2006-01-11  Simon Josefsson  <jas@extundo.com>
43183
43184         * lib/stdint_.h (SIZE_MAX): Add missing (.
43185
43186 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
43187
43188         Sync from coreutils.
43189         * lib/md5.c: Fix commentary typos.
43190         (alignof, UNALIGNED_P): No need for a GCC-specific version.
43191         * lib/md5.h (__attribute__): Remove; unused.
43192         * lib/sha1.c: Fix commentary to match md5 better.
43193         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
43194         so that we don't need to worry about alignment.  All uses changed.
43195         This merges the 2005-10-28 md5 change into sha1.
43196
43197 2006-01-11  Jim Meyering  <jim@meyering.net>
43198
43199         Sync from coreutils.
43200         * lib/md5.c (OP): Fix spacing.
43201
43202 2006-01-11  Bruno Haible  <bruno@clisp.org>
43203
43204         Ensure automatic ordering between gl_LOCK and gl_ARGP.
43205         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
43206         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
43207
43208 2006-01-11  Bruno Haible  <bruno@clisp.org>
43209
43210         Ensure automatic ordering between gl_LOCK and gl_ARGP.
43211         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
43212         the "early" section as well.
43213
43214 2006-01-11  Bruno Haible  <bruno@clisp.org>
43215
43216         Avoid "ar: no archive members specified" error on MacOS X.
43217         * gnulib-tool (func_modules_add_dummy): New function.
43218         (func_import, func_create_testdir): Invoke it.
43219
43220 2006-01-11  Bruno Haible  <bruno@clisp.org>
43221
43222         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
43223         with $auxdir in AC_CONFIG_FILES statements.
43224
43225 2006-01-11  Bruno Haible  <bruno@clisp.org>
43226
43227         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
43228         Initialize also noinst_HEADERS to empty.
43229
43230 2006-01-11  Bruno Haible  <bruno@clisp.org>
43231
43232         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
43233         variables.
43234         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
43235         autoreconf.
43236
43237 2006-01-11  Bruno Haible  <bruno@clisp.org>
43238
43239         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
43240         overridable by the user.
43241         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
43242
43243 2006-01-10  Simon Josefsson  <jas@extundo.com>
43244
43245         * modules/sys_socket: New file.
43246
43247 2006-01-10  Simon Josefsson  <jas@extundo.com>
43248
43249         * m4/sys_socket_h.m4: New file.
43250
43251 2006-01-10  Simon Josefsson  <jas@extundo.com>
43252
43253         * lib/socket_.h: New file.
43254
43255 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
43256
43257         * modules/readutmp (Maintainer): Add myself.
43258
43259 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
43260
43261         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
43262         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
43263         People who are still concerned with buggy memcmp implementations
43264         can invoke gl_FUNC_MEMCMP themselves.
43265
43266 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
43267
43268         * lib/regex_internal.h (BITSET_WORD_BITS):
43269         Work around a bug in 64-bit PGC (before version 6.1-2), where the
43270         preprocessor mishandles large unsigned values as if they were signed.
43271         Problem reported by Claudio Fontana in
43272         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
43273
43274 2006-01-10  Jim Meyering  <jim@meyering.net>
43275
43276         Avoid the double-free (first in fts_read, second in fts_close) that
43277         would occur when an `active' directory is made inaccessible (e.g.,
43278         via chmod a-x) during a traversal.
43279         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
43280         before returning.  Reproduce this failure by
43281         mkdir -p a/b; cd a; chmod a-x . b
43282         Reported by Stavros Passas.
43283
43284         Sync from coreutils.
43285         * lib/sha1.c: Tweak grammar in a comment.
43286
43287 2006-01-10  Jim Meyering  <jim@meyering.net>
43288
43289         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
43290         Patch by Joerg Sonnenberger.
43291
43292 2006-01-10  Bruno Haible  <bruno@clisp.org>
43293
43294         * modules/readutmp: Depend on module free.
43295         * modules/strtok_r: Depend on module restrict.
43296
43297 2006-01-10  Bruno Haible  <bruno@clisp.org>
43298
43299         * modules/gettext (configure.ac): Add an invocation of
43300         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
43301
43302 2006-01-10  Bruno Haible  <bruno@clisp.org>
43303
43304         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
43305         Reported by Werner Lemberg <wl@gnu.org>.
43306
43307 2006-01-10  Bruno Haible  <bruno@clisp.org>
43308
43309         * lib/localcharset.c: Update from GNU gettext.
43310
43311 2006-01-10  Bruno Haible  <bruno@clisp.org>
43312
43313         * lib/argp.h (__const): Remove macro. Use const instead.
43314         * lib/argp-fmtstream.h (__const): Likewise.
43315         * lib/glob_.h (__const): Remove macro.
43316         * lib/glob-libc.h: Use const instead of __const.
43317
43318 2006-01-10  Bruno Haible  <bruno@clisp.org>
43319
43320         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
43321         variable.
43322         Needed to avoid an automake error regarding the 'gettext' module.
43323
43324 2006-01-09  Simon Josefsson  <jas@extundo.com>
43325
43326         * modules/inet_ntop (Depends-on): Add restrict.
43327
43328 2006-01-09  Simon Josefsson  <jas@extundo.com>
43329
43330         * modules/gc-rijndael-tests (License): Put under LGPL.
43331
43332         * modules/gc-des-tests (License): Likewise.
43333
43334         * modules/gc-arcfour-tests (License): Likewise.
43335
43336         * modules/gc-arctwo-tests (License): Likewise.
43337
43338         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
43339
43340         * modules/gc-hmac-sha1-tests (Files): Likewise.
43341
43342         * modules/gc-hmac-md5-tests (License): Likewise.
43343
43344         * modules/gc-sha1-tests (License): Likewise.
43345
43346         * modules/gc-md5-tests (License): Likewise.
43347
43348         * modules/gc-md4-tests (License): Likewise.
43349
43350         * modules/gc-md2-tests (License): Likewise.
43351
43352         * modules/gc-tests (License): Likewise.
43353
43354         * modules/des-tests (License): Likewise.
43355
43356         * modules/md4-tests (License): Likewise.
43357
43358         * modules/md2-tests (License): Likewise.
43359
43360 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
43361
43362         Sync from coreutils:
43363
43364         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
43365         * modules/lib-ignore: New file.
43366         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
43367         chdir-safer.m4, lchmod.m4.
43368         * modules/openat: Add mkdirat.c, openat-priv.h.
43369
43370 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
43371
43372         Sync from coreutils.
43373         * m4/lib-ignore.m4: New file.
43374         * m4/lchmod.m4: New file.
43375
43376 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
43377
43378         Sync from coreutils.
43379         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
43380         for write access: POSIX says that must fail.
43381         * lib/fts.c (diropen): Likewise.
43382         * lib/save-cwd.c (save_cwd): Likewise.
43383         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
43384         well, for minor improvements on hosts that lack O_DIRECTORY.
43385         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
43386         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
43387         Fall back on chown if open failed with EACCES.
43388
43389         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
43390         Report an error at compile-time if only a 1-second nominal clock
43391         resolution is found.
43392
43393         * lib/lchmod.h: New file.
43394         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
43395         (make_dir_parents): Use lchown rather than chown, and
43396         lchmod rather than chmod.
43397
43398         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
43399         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
43400         "proc" reported by n0dalus.
43401
43402         * lib/mountlist.c: Include <limits.h>.
43403         (dev_from_mount_options)
43404         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
43405         New function.  It no longer assumes "dev=" has the System V meaning
43406         on Linux (since it doesn't).  It also parses "dev=" more carefully.
43407         (read_file_system_list)
43408         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
43409         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
43410         dev= in that case.
43411
43412         * lib/posixtm.h (PDS_PRE_2000): New macro.
43413         * lib/posixtm.c (year): Arg is now syntax_bits rather than
43414         allow_century.  All usages changed.  Reject dates outside the range
43415         1969-1999 if PDS_PRE_2000 is used.
43416
43417 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
43418
43419         Sync from coreutils.
43420         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
43421         (Time of day items): Mention the possibility of leap seconds.
43422         Problem reported by Dr. David Alan Gilbert.
43423
43424 2006-01-09  Jim Meyering  <jim@meyering.net>
43425
43426         Sync from coreutils.
43427
43428         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
43429
43430         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
43431
43432         * lib/modechange.c (mode_compile): Reject an invalid mode string
43433         that starts with an octal digit.  From Andreas Gruenbacher.
43434
43435         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
43436         and dup to open_safer and dup_safer, respectively.
43437         (openat_permissive): Fix typo in comment.
43438
43439         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
43440         "gettext.h"; either no longer needed or are guaranteed by openat.h.
43441         (_): Remove; no longer needed.
43442         (openat): Renamed from rpl_openat; no need for rpl_openat
43443         since openat.h renames openat for us.
43444         Replace most of the body with a call to openat_permissive,
43445         to avoid duplicate code.
43446         Port to (probably hypothetical) environments were mode_t is
43447         wider than int.
43448         (openat_permissive): Require mode arg, so that we can check
43449         types better.  Put it just after flags.  Change cwd failure
43450         indicator from pointer-to-bool to pointer-to-errno-value.
43451         All callers changed.
43452         Invoke openat_save_fail and/or openat_restore_fail if
43453         cwd_errno is null, so that openat can call us.
43454         (openat_permissive, fdopendir, fstatat, unlinkat):
43455         Simplify errno handling to avoid some duplicate code,
43456         as it's OK to set errno on success.
43457         * lib/openat.h: Revamp code so that function macros depend on
43458         __OPENAT_PREFIX only, not also on AT_FDCWD.
43459         (openat_ro): Remove.  Caller changed to use openat_permissive.
43460         (openat_permissive): Now a macro, if not a function.
43461         (openat_restore_fail, openat_save_fail): Now always functions,
43462         since mkdirat needs them even if __OPENAT_PREFIX is defined.
43463
43464         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
43465         and openat.c.
43466         * lib/mkdirat.c: Include openat-priv.h.
43467         Remove definitions of macros defined therein.
43468         * lib/openat.c: Likewise.
43469
43470         * lib/mkdirat.c (mkdirat): New file and function.
43471         * lib/openat.h (mkdirat): Declare.
43472
43473         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
43474
43475         * lib/openat.h (openat_permissive): Declare.
43476         (openat_ro): Define.
43477
43478         * lib/openat.c (EXPECTED_ERRNO): New macro.
43479         (openat_permissive): New function -- used in remove.c rewrite.
43480         (all functions): Set errno just before returning, only if there
43481         was an actual failure.
43482         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
43483
43484         Emulate openat-family functions using Linux's procfs, if possible.
43485         Idea and some code based on Ulrich Drepper's glibc changes.
43486
43487         * lib/openat.c: (BUILD_PROC_NAME): New macro.
43488         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
43489         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
43490         before falling back on save_cwd and restore_cwd.
43491         (fdopendir, fstatat, unlinkat): Likewise.
43492
43493         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
43494         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
43495
43496         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
43497         as second argument to va_arg.  Otherwise, some versions of gcc
43498         warn that `if this code is reached, the program will abort'.
43499
43500 2006-01-09  Jim Meyering  <jim@meyering.net>
43501
43502         Sync from coreutils.
43503         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
43504         Require openat-priv.h.
43505
43506 2006-01-09  Bruno Haible  <bruno@clisp.org>
43507
43508         * modules/strnlen (Include): Use strnlen.h.
43509
43510 2006-01-09  Bruno Haible  <bruno@clisp.org>
43511
43512         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
43513
43514 2006-01-09  Bruno Haible  <bruno@clisp.org>
43515
43516         * lib/sysexit_.h (EX_OK): New macro.
43517         Suggested by Martin Lambers <marlam@marlam.de>.
43518
43519 2006-01-09  Bruno Haible  <bruno@clisp.org>
43520
43521         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
43522         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
43523
43524 2006-01-09  Bruno Haible  <bruno@clisp.org>
43525
43526         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
43527         numbers.
43528
43529 2006-01-09  Bruno Haible  <bruno@clisp.org>
43530
43531         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
43532         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
43533         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
43534         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
43535
43536 2006-01-09  Bruno Haible  <bruno@clisp.org>
43537
43538         * build-aux/javacomp.sh.in: New file, moved from lib/.
43539         * modules/javacomp-script (Files): Update.
43540         (configure.ac): Add AC_CONFIG_FILES invocation.
43541         (EXTRA_DIST): Remove variable.
43542
43543         * build-aux/javaexec.sh.in: New file, moved from lib/.
43544         * modules/javaexec (Files): Update.
43545         (configure.ac): Add AC_CONFIG_FILES invocation.
43546         (EXTRA_DIST): Remove javaexec.sh.in.
43547
43548         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
43549         * modules/csharpcomp-script (Files): Update.
43550         (configure.ac): Add AC_CONFIG_FILES invocation.
43551         (EXTRA_DIST): Remove variable.
43552
43553         * build-aux/csharpexec.sh.in: New file, moved from lib/.
43554         * modules/csharpexec (Files): Update.
43555         (configure.ac): Add AC_CONFIG_FILES invocation.
43556         (EXTRA_DIST): Remove csharpexec.sh.in.
43557
43558 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
43559
43560         Sync from coreutils.
43561
43562         Add POSIX ACL support
43563         * lib/acl.h (copy_acl, set_acl): Add declarations.
43564         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
43565         systems other than Linux.
43566         (chmod_or_fchmod): New function: use fchmod when possible,
43567         and chmod otherwise.
43568         (file_has_acl): Add a POSIX ACL implementation, with a
43569         Linux-specific subcase.
43570         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
43571         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
43572         acls are unsupported.
43573         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
43574         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
43575         are unsupported.
43576
43577 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
43578
43579         Sync from coreutils.
43580         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
43581
43582 2006-01-07  Bruno Haible  <bruno@clisp.org>
43583
43584         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
43585         gl_EARLY.
43586
43587 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
43588
43589         * lib/strftime.c (tzname): Don't declare if it is already #defined.
43590         Problem reported for Mingw by Mark Junker.
43591
43592 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
43593
43594         * README: Gnulib normally doesn't generate a tarball.
43595
43596 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
43597
43598         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
43599         long int, not int, for nanosecond counts, so that people who are
43600         used to POSIX struct timespec won't be surprised.  Reported by Jim
43601         Meyering.
43602
43603 2005-12-28  Bruno Haible  <bruno@clisp.org>
43604
43605         * build-aux/config.rpath: Update from GNU gettext.
43606
43607 2005-12-16  Jim Meyering  <jim@meyering.net>
43608
43609         * modules/fprintftime: New module.
43610         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
43611
43612 2005-12-16  Jim Meyering  <jim@meyering.net>
43613
43614         * m4/fprintftime.m4: New file.
43615
43616 2005-12-16  Jim Meyering  <jim@meyering.net>
43617
43618         * lib/fprintftime.c, lib/fprintftime.h: New files.
43619
43620 2005-12-15  Simon Josefsson  <jas@extundo.com>
43621
43622         * modules/socklen (configure.ac): Fix M4 macro name, to align with
43623         new m4/socklen.m4.
43624
43625 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
43626
43627         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
43628         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
43629
43630 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
43631
43632         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
43633         * lib/argp-help.c (fill_in_uparams): Check if the constructed
43634         struct uparams is valid. Fall back to the default values if it is
43635         not.
43636
43637 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
43638
43639         * modules/argp (Files): Add argp-pin.c
43640         (Depends-on): dirname
43641         (lib_SOURCES): Add argp-pin.c
43642
43643 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
43644
43645         * m4/argp.m4:  Check if program_invocation_name and
43646         program_invocation_short_name are declared and define appropriate
43647         macros if they are not.
43648
43649 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
43650
43651         * lib/argp-help.c (__argp_base_name): New function
43652         (__argp_short_program_name): Rewrite using __argp_base_name
43653         * lib/argp-namefrob.h: Define program_invocation_name and
43654         program_invocation_short_name if requested
43655         (__argp_base_name): Add prototype
43656         * lib/argp-parse.c (argp_def): Use gettext wrappers
43657         (argp_default_parser): Use __argp_base_name
43658         * lib/argp-pin.c: New file. Defines program_invocation_name and
43659         program_invocation_short_name on systems that lack them.
43660
43661 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
43662
43663         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
43664         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
43665         porting problem reported by Georg Schwarz in
43666         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
43667
43668 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
43669
43670         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
43671         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
43672         porting problem reported by Georg Schwarz in
43673         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
43674
43675 2005-12-05  Bruno Haible  <bruno@clisp.org>
43676
43677         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
43678         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
43679         Reported by Mark Junker <mjscod@gmx.de>.
43680
43681 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
43682
43683         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
43684         Use implementation from Albert Chin, with some
43685         comments/corrections by Stepan Kasal and myself.
43686
43687 2005-12-02  Bruno Haible  <bruno@clisp.org>
43688
43689         * gnulib-tool (func_import): Accept GPLed build tool modules when
43690         --lgpl is given.
43691         * modules/csharpcomp-script: New file.
43692         * modules/csharpcomp: Depend on it.
43693         * modules/javacomp-script: New file.
43694         * modules/javacomp: Depend on it.
43695         Suggested by Simon Josefsson.
43696
43697 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
43698
43699         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
43700         statement, to work around an HP-UX 10.20 compiler bug reported by
43701         Peter O'Gorman.
43702
43703 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
43704
43705         * modules/savedir (Depends-on): Add openat.
43706
43707 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
43708
43709         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
43710         (uintmax_t) [defined uintmax_t]: Do not declare.
43711         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
43712         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
43713         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
43714         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
43715         sake of portability to weird hosts that C allows (though we don't
43716         know of any practical examples).
43717
43718         * lib/savedir.h (fdsavedir): New decl.
43719         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
43720         contains most of the former guts of savedir.
43721         (savedir): Use savedirstream.
43722         Include "openat.h".
43723
43724 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
43725
43726         * modules/obstack (Files): Add m4/ulonglong.m4.
43727         Problem reported by Davide Angelocola.
43728
43729 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
43730
43731         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
43732         coreutils no longer futzes with rounding modes.
43733
43734 2005-11-14  Jim Meyering  <jim@meyering.net>
43735
43736         * lib/mkstemp-safer.c: Include <config.h>, required for possible
43737         replacement of mkstemp.
43738
43739 2005-11-10  Simon Josefsson  <jas@extundo.com>
43740
43741         * lib/readline.c: Remove EOL.
43742
43743 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
43744
43745         * modules/gethrxtime (Depends-on): Add gettime.
43746
43747 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
43748
43749         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
43750         or gettimeofday; no longer needed.
43751
43752 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
43753
43754         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
43755         time business.
43756         (gethrxtime) [! (HAVE_NANOUPTIME
43757         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
43758         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
43759         our own approximation.
43760
43761 2005-11-08  Eric Blake  <ebb9@byu.net>
43762
43763         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
43764
43765 2005-11-08  Eric Blake  <ebb9@byu.net>
43766
43767         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
43768
43769 2005-11-04  Bruno Haible  <bruno@clisp.org>
43770
43771         * gnulib-tool: Implement --update mode.
43772
43773 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
43774
43775         Fix porting problem reported by Theodoros V. Kalamatianos.
43776         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
43777         Don't assume that futimes failing means we must fail.
43778
43779 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
43780
43781         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
43782         variables to suggest the intended function of the PATH_MAX check.
43783
43784 2005-10-30  Kean Johnston  <jkj@sco.com>
43785
43786         Trivial changes to support SCO systems.
43787         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
43788         as PATH_MAX.
43789         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
43790         where __ptr is null when no I/O is pending.
43791
43792 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
43793
43794         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
43795         leave errno alone.  Problem reported by Dmitry V. Levin.
43796
43797 2005-10-28  Simon Josefsson  <jas@extundo.com>
43798
43799         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
43800         Test more.
43801
43802         * tests/test-gc-md2.c, tests/test-md2.c: New files.
43803
43804         * modules/md2, modules/md2-tests: New files.
43805
43806 2005-10-28  Simon Josefsson  <jas@extundo.com>
43807
43808         * m4/inet_ntop.m4: More tests.
43809
43810         * m4/gc-md2.m4, md2.m4: New file.
43811
43812 2005-10-28  Simon Josefsson  <jas@extundo.com>
43813
43814         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
43815         "restrict" keywords, as per POSIX.  Protect the function
43816         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
43817         Don't use K&R prototypes.  Check the sprintf return values.
43818         Re-define EAFNOSUPPORT if not present.  Indent.
43819
43820         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
43821         suggested by Bruno Haible <bruno@clisp.org>.
43822
43823         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
43824
43825         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
43826
43827         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
43828         libgcrypt).
43829
43830         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
43831
43832         * lib/md2.h, lib/md2.c: New files.
43833
43834 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
43835
43836         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
43837         errno alone.  Problem reported by Frederic Jolliton.
43838
43839 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
43840
43841         * modules/verify (License): Change from GPL to LGPL.  This is a
43842         tiny module and there are apparently near-equivalents that are
43843         under the BSD license.
43844
43845 2005-10-24  Simon Josefsson  <jas@extundo.com>
43846
43847         * modules/sha1: Relicense to LGPL.
43848
43849 2005-10-24  Simon Josefsson  <jas@extundo.com>
43850
43851         * lib/md4.h: Shrink buffer size, now that we changed the type.
43852
43853 2005-10-23  Simon Josefsson  <jas@extundo.com>
43854
43855         * gnulib-tool (func_import): Fix --tests-base.
43856
43857 2005-10-22  Simon Josefsson  <jas@extundo.com>
43858
43859         * modules/arcfour (Depends-on): Need stdint.
43860
43861 2005-10-22  Simon Josefsson  <jas@extundo.com>
43862
43863         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
43864         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
43865
43866 2005-10-22  Simon Josefsson  <jas@extundo.com>
43867
43868         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
43869         suggested by Bruno Haible <bruno@clisp.org>.
43870
43871 2005-10-22  Simon Josefsson  <jas@extundo.com>
43872
43873         * lib/crc.h: Include stddef.h, for size_t.
43874
43875 2005-10-22  Simon Josefsson  <jas@extundo.com>
43876
43877         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
43878         arcfour_context struct (simplify test vector testing in GNU
43879         Shishi).
43880
43881 2005-10-21  Simon Josefsson  <jas@extundo.com>
43882
43883         * modules/des, modules/des-tests: New files.
43884
43885         * modules/gc-des, modules/gc-des-tests: New files.
43886
43887         * tests/test-des.c, tests/test-gc-des.c: New file.
43888
43889 2005-10-21  Simon Josefsson  <jas@extundo.com>
43890
43891         * modules/arctwo, modules/arctwo-tests: New files.
43892
43893         * tests/test-arctwo.c: New file.
43894
43895         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
43896
43897         * tests/test-gc-arctwo.c: New file.
43898
43899 2005-10-21  Simon Josefsson  <jas@extundo.com>
43900
43901         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
43902         Bruno Haible <bruno@clisp.org>.
43903
43904         * m4/gc-des.m4: New file.
43905
43906 2005-10-21  Simon Josefsson  <jas@extundo.com>
43907
43908         * m4/arctwo.m4: New file.
43909
43910         * m4/gc-arctwo.m4: New file.
43911
43912 2005-10-21  Simon Josefsson  <jas@extundo.com>
43913
43914         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
43915         block.
43916
43917 2005-10-21  Simon Josefsson  <jas@extundo.com>
43918
43919         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
43920         <bruno@clisp.org>.
43921
43922         * lib/hmac-sha1.c (hmac_sha1): Likewise.
43923
43924         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
43925         Bruno Haible <bruno@clisp.org>.
43926
43927         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
43928         <bruno@clisp.org>.
43929
43930 2005-10-21  Simon Josefsson  <jas@extundo.com>
43931
43932         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
43933
43934 2005-10-21  Simon Josefsson  <jas@extundo.com>
43935
43936         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
43937
43938 2005-10-21  Simon Josefsson  <jas@extundo.com>
43939
43940         * lib/des.h, lib/des.c: New files.
43941
43942         * lib/gc-gnulib.c: Support DES.c
43943
43944 2005-10-21  Simon Josefsson  <jas@extundo.com>
43945
43946         * lib/arctwo.h, lib/arctwo.c: New files.
43947
43948         * lib/gc-gnulib.c: Support ARCTWO.
43949
43950 2005-10-21  Simon Josefsson  <jas@extundo.com>
43951
43952         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
43953         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
43954
43955 2005-10-21  Simon Josefsson  <jas@extundo.com>
43956
43957         * gnulib-tool (func_import, func_create_testdir): Define automake
43958         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
43959         Makefile.am snippet),
43960         suggested by Bruno Haible <bruno@clisp.org>.
43961
43962         * modules/gc (Makefile.am): Use it.
43963
43964 2005-10-21  Bruno Haible  <bruno@clisp.org>
43965
43966         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
43967         patch.
43968
43969 2005-10-19  Simon Josefsson  <jas@extundo.com>
43970
43971         * tests/test-gc-rijndael.c: New file.
43972
43973         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
43974
43975 2005-10-19  Simon Josefsson  <jas@extundo.com>
43976
43977         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
43978         interface too.
43979
43980 2005-10-19  Simon Josefsson  <jas@extundo.com>
43981
43982         * tests/test-gc-arcfour.c: New file.
43983
43984         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
43985
43986 2005-10-19  Simon Josefsson  <jas@extundo.com>
43987
43988         * modules/gc-md4, modules/gc-md4-tests: New file.
43989
43990         * tests/test-gc-md4.c: New file.
43991
43992 2005-10-19  Simon Josefsson  <jas@extundo.com>
43993
43994         * m4/gc-md4.m4: New file.
43995
43996 2005-10-19  Simon Josefsson  <jas@extundo.com>
43997
43998         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
43999         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
44000         <kasal@ucw.cz>.
44001
44002 2005-10-19  Simon Josefsson  <jas@extundo.com>
44003
44004         * m4/gc-arcfour.m4: New file.
44005
44006         * m4/gc-rijndael.m4: New file.
44007
44008 2005-10-19  Simon Josefsson  <jas@extundo.com>
44009
44010         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
44011
44012 2005-10-19  Simon Josefsson  <jas@extundo.com>
44013
44014         * lib/gc-gnulib.c: Support ARCFOUR.
44015
44016 2005-10-19  Simon Josefsson  <jas@extundo.com>
44017
44018         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
44019         support.
44020
44021         * lib/gc.h: Add ECB enum type.
44022
44023         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
44024
44025 2005-10-18  Simon Josefsson  <jas@extundo.com>
44026
44027         * tests/test-md5.c: New file.
44028
44029         * modules/md5-tests: New file.
44030
44031 2005-10-18  Simon Josefsson  <jas@extundo.com>
44032
44033         * tests/test-md4.c: New file.
44034
44035         * modules/md4, modules/md4-tests: New files.
44036
44037 2005-10-18  Simon Josefsson  <jas@extundo.com>
44038
44039         * m4/md4.m4: New file.
44040
44041 2005-10-18  Simon Josefsson  <jas@extundo.com>
44042
44043         * lib/md4.h, lib/md4.c: New files, based on md5.?.
44044
44045 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
44046
44047         * gnulib-tool (func_create_testdir): Omit the second check whether
44048         BUILT_SOURCES in nonempty.
44049
44050 2005-10-17  Simon Josefsson  <jas@extundo.com>
44051
44052         * tests/test-rijndael.c: New file.
44053
44054 2005-10-17  Simon Josefsson  <jas@extundo.com>
44055
44056         * modules/sha1: Depend on stdint instead of md5.
44057
44058         * modules/md5: Depend on stdint, remove uint32_t.
44059
44060 2005-10-17  Simon Josefsson  <jas@extundo.com>
44061
44062         * modules/gc-sha1-tests: New file.
44063
44064         * tests/test-gc-sha1.c: New file.
44065
44066 2005-10-17  Simon Josefsson  <jas@extundo.com>
44067
44068         * m4/md5.m4: Remove call to uint32_t.m4.
44069
44070 2005-10-17  Simon Josefsson  <jas@extundo.com>
44071
44072         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
44073
44074         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
44075         md5.h.
44076
44077         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
44078
44079         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
44080
44081 2005-10-17  Simon Josefsson  <jas@extundo.com>
44082
44083         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
44084
44085 2005-10-17  Simon Josefsson  <jas@extundo.com>
44086
44087         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
44088
44089 2005-10-17  Simon Josefsson  <jas@extundo.com>
44090
44091         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
44092
44093         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
44094
44095 2005-10-17  Bruno Haible  <bruno@clisp.org>
44096
44097         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
44098         that it can also be used in a test.
44099
44100 2005-10-16  Bruno Haible  <bruno@clisp.org>
44101
44102         * gnulib-tool (func_emit_tests_Makefile_am): Also define
44103         TESTS_ENVIRONMENT, so that individual tests can augment it.
44104
44105         * gnulib-tool (func_create_testdir): Use an intermediate target for
44106         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
44107         macros, like $(ALLOCA_H), which cannot be passed through the command
44108         line.
44109
44110 2005-10-15  Simon Josefsson  <jas@extundo.com>
44111
44112         * modules/rijndael-tests: New file.
44113
44114         * modules/rijndael: New file.
44115
44116 2005-10-15  Simon Josefsson  <jas@extundo.com>
44117
44118         * m4/rijndael.m4: New file.
44119
44120 2005-10-15  Simon Josefsson  <jas@extundo.com>
44121
44122         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
44123
44124         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
44125
44126 2005-10-14  Simon Josefsson  <jas@extundo.com>
44127
44128         * tests/test-arcfour.c: New file.
44129
44130         * modules/arcfour, modules/arcfour-tests: New files.
44131
44132 2005-10-14  Simon Josefsson  <jas@extundo.com>
44133
44134         * m4/arcfour.m4: New file.
44135
44136 2005-10-14  Simon Josefsson  <jas@extundo.com>
44137
44138         * lib/arcfour.h, lib/arcfour.c: New files.
44139
44140 2005-10-14  Roland McGrath  <roland@redhat.com>
44141
44142         Import from libc.  [BZ #1331]
44143         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
44144         macro argument.
44145         Reported by Matej Vela <vela@debian.org>.
44146
44147 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
44148
44149         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
44150         include <wchar.h>; no longer needed.
44151
44152 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
44153
44154         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
44155
44156 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
44157         and  Ulrich Drepper  <drepper@redhat.com>
44158
44159         Import from libc.
44160         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
44161         instead of inline stream orientation test and two separate
44162         function calls.  Pay no attention to USE_IN_LIBIO.
44163
44164 2005-10-13  Simon Josefsson  <jas@extundo.com>
44165
44166         * modules/gc-hmac-md5-tests: New file.
44167
44168         * tests/test-gc-hmac-sha1.c: New file.
44169
44170         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
44171
44172         * modules/gc-hmac-md5-tests: New file.
44173
44174         * tests/test-gc-md5.c: New file.
44175
44176         * modules/gc-md5-tests: New file.
44177
44178 2005-10-13  Simon Josefsson  <jas@extundo.com>
44179
44180         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
44181         Move memory allocation outside of loop.
44182
44183 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
44184
44185         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
44186         intermediate directory is in a read-only file system.  Problem
44187         reported by Eric Blake.
44188
44189 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
44190
44191         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
44192
44193 2005-10-12  Simon Josefsson  <jas@extundo.com>
44194
44195         * tests/test-hmac-sha1.c: New file.
44196
44197         * modules/hmac-sha1-tests: New file.
44198
44199         * modules/hmac-sha1: New file.
44200
44201 2005-10-12  Simon Josefsson  <jas@extundo.com>
44202
44203         * modules/gc-sha1: New file.
44204
44205 2005-10-12  Simon Josefsson  <jas@extundo.com>
44206
44207         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
44208
44209         * tests/test-gc-pbkdf2-sha1.c: New file.
44210
44211 2005-10-12  Simon Josefsson  <jas@extundo.com>
44212
44213         * modules/gc-md5, modules/gc-hmac-md5: New files.
44214
44215         * modules/gc (Files): Remove md5, memxor and hmac files.
44216
44217 2005-10-12  Simon Josefsson  <jas@extundo.com>
44218
44219         * m4/gc-pbkdf2-sha1.m4: New file.
44220
44221         * m4/gc-hmac-sha1.m4: New file.
44222
44223         * m4/gc-sha1: New file.
44224
44225         * m4/hmac-sha1.m4: New file.
44226
44227 2005-10-12  Simon Josefsson  <jas@extundo.com>
44228
44229         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
44230
44231         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
44232
44233 2005-10-12  Simon Josefsson  <jas@extundo.com>
44234
44235         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
44236         suggested by Bruno Haible <bruno@clisp.org>.
44237
44238 2005-10-12  Simon Josefsson  <jas@extundo.com>
44239
44240         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
44241
44242 2005-10-12  Simon Josefsson  <jas@extundo.com>
44243
44244         * lib/gc-pbkdf2-sha1.c: New file.
44245
44246         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
44247
44248 2005-10-12  Simon Josefsson  <jas@extundo.com>
44249
44250         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
44251
44252         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
44253
44254 2005-10-12  Simon Josefsson  <jas@extundo.com>
44255
44256         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
44257         GC_USE_HMAC_MD5, respectively.
44258
44259         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
44260         (gc_md5): Fix typo.
44261
44262         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
44263
44264         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
44265
44266         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
44267
44268 2005-10-12  Bruno Haible  <bruno@clisp.org>
44269
44270         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
44271         Reported by Stepan Kasal <kasal@ucw.cz>.
44272
44273 2005-10-11  Simon Josefsson  <jas@extundo.com>
44274
44275         * tests/test-crc.c: New file.
44276
44277         * modules/crc, modules/crc-tests: New files.
44278
44279 2005-10-11  Simon Josefsson  <jas@extundo.com>
44280
44281         * m4/crc.m4: New file.
44282
44283 2005-10-11  Simon Josefsson  <jas@extundo.com>
44284
44285         * lib/gc.h: Add gc_hash and gc_hash_buffer.
44286
44287         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
44288
44289         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
44290
44291 2005-10-11  Simon Josefsson  <jas@extundo.com>
44292
44293         * lib/crc.h, lib/crc.c: New files.
44294
44295         * lib/gc.h (gc_hash_buffer): Add doc.
44296
44297 2005-10-11  Bruno Haible  <bruno@clisp.org>
44298
44299         * modules/c-strcasestr: New file.
44300         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
44301
44302 2005-10-11  Bruno Haible  <bruno@clisp.org>
44303
44304         * modules/c-strcase: New file.
44305         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
44306
44307 2005-10-11  Bruno Haible  <bruno@clisp.org>
44308
44309         * lib/strcasecmp.c: Include limits.h.
44310         (strcasecmp): Avoid integer overflow on exotic platforms.
44311         * lib/strncasecmp.c: Include limits.h.
44312         (strncasecmp): Avoid integer overflow on exotic platforms.
44313         Reported by Paul Eggert.
44314
44315 2005-10-11  Bruno Haible  <bruno@clisp.org>
44316
44317         * lib/c-strcasestr.h: New file, from GNU gettext.
44318         * lib/c-strcasestr.c: New file, from GNU gettext.
44319
44320 2005-10-11  Bruno Haible  <bruno@clisp.org>
44321
44322         * lib/c-strcase.h: New file, from GNU gettext.
44323         * lib/c-strcasecmp.c: New file, from GNU gettext.
44324         * lib/c-strncasecmp.c: New file, from GNU gettext.
44325
44326 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
44327
44328         * modules/mempcpy (License): GPL -> LGPL.
44329         * modules/strchrnul (License): Likewise.
44330         * modules/sysexits (License): Likewise.
44331
44332 2005-10-08  Simon Josefsson  <jas@extundo.com>
44333
44334         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
44335
44336 2005-10-07  Simon Josefsson  <jas@extundo.com>
44337
44338         * m4/memxor.m4: Remove gl_C_RESTRICT call.
44339
44340 2005-10-06  Simon Josefsson  <jas@extundo.com>
44341
44342         * tests/test-hmac-md5.c: New file.
44343
44344         * modules/hmac-md5-tests: New file.
44345
44346         * modules/hmac-md5: New file.
44347
44348 2005-10-06  Simon Josefsson  <jas@extundo.com>
44349
44350         * m4/hmac-md5.m4: New file.
44351
44352         * m4/memxor.m4: Require gl_C_RESTRICT.
44353
44354 2005-10-06  Simon Josefsson  <jas@extundo.com>
44355
44356         * lib/memxor.c (memxor): Avoid casts and warnings.
44357
44358 2005-10-06  Simon Josefsson  <jas@extundo.com>
44359
44360         * lib/hmac-md5.c: New file.
44361
44362         * lib/hmac.h: New file.
44363
44364 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
44365
44366         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
44367         promotes to int, not unsigned int, to catch the AIX 5.3
44368         compiler bug.
44369
44370 2005-10-05  Simon Josefsson  <jas@extundo.com>
44371
44372         * modules/memxor: New file.
44373
44374         * modules/iconv (Files): Move config.rpath to havelib, it is used
44375         there.
44376
44377         * modules/havelib (Files): Add config.rpath.
44378
44379 2005-10-05  Simon Josefsson  <jas@extundo.com>
44380
44381         * m4/memxor.m4: New file.
44382
44383 2005-10-05  Simon Josefsson  <jas@extundo.com>
44384
44385         * lib/memxor.c (memxor): Fix compiler error.
44386
44387         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
44388         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
44389
44390         * lib/memxor.h, lib/memxor.c: New files.
44391
44392         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
44393         we assume all systems have it, suggested by Jim Meyering
44394         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
44395         any systems lack sys/socket.h; mingw32 is known to lack it, but we
44396         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
44397         same reasons.
44398
44399 2005-10-05  Simon Josefsson  <jas@extundo.com>
44400
44401         * config/srclist.txt: Add glibc bug 1423 for md5.h.
44402
44403 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
44404
44405         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
44406         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
44407         needed, since the source code now assumes these .h files.
44408
44409 2005-10-05  Derek Price  <derek@ximbiot.com>
44410
44411         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
44412
44413 2005-10-05  Bruno Haible  <bruno@clisp.org>
44414
44415         * modules/stdint (License): Change to LGPL.
44416
44417 2005-10-04  Simon Josefsson  <jas@extundo.com>
44418
44419         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
44420         D. Baushke" <mdb@gnu.org>.
44421
44422 2005-10-04  Bruno Haible  <bruno@clisp.org>
44423
44424         * lib/verify.h (verify_true): Provide alternative definition for C++.
44425
44426 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
44427
44428         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
44429         (SSIZE_MAX): New macro, if not already defined.
44430         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
44431         than 2 GiB.
44432
44433 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
44434
44435         Sync from coreutils.
44436         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
44437         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
44438         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
44439         ULLONG_MAX doesn't work with 2.7.2.1.
44440
44441 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
44442
44443         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
44444         From Ben Pfaff.
44445
44446         * modules/exclude (Depends-on): Depend on verify.
44447         * modules/strtoimax (Depends-on): Likewise.
44448         * modules/utimecmp (Depends-on): Likewise.
44449
44450 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
44451
44452         * lib/exclude.c: Include verify.h.
44453         (verify): Remove.  All callers changed to use verify.h's version.
44454         * lib/strtoimax.c: Likewise.
44455         * lib/utimecmp.c: Likewis.e
44456
44457         Sync from coreutils.
44458         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
44459         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
44460         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
44461         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
44462         bother returning ENOSYS if settimeofday or stime fails; just let
44463         them return whatever errno they want to return.
44464         * lib/utimens.c: Include unistd.h, for dup2.
44465         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
44466         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
44467
44468 2005-10-02  Jim Meyering  <jim@meyering.net>
44469
44470         Sync from coreutils.
44471         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
44472         from glibc-2.2.5 that fails for read-only files.
44473
44474 2005-10-02  Jim Meyering  <jim@meyering.net>
44475
44476         Sync from coreutils.
44477         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
44478         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
44479         `#if HAVE_CONFIG_H'.
44480         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
44481         Remove AT_FDCWD test.
44482         Do not consume the fd unless successful.
44483         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
44484         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
44485         block, so that we don't even try to compile it if settimeofday is
44486         available.  This works around a compilation failure on OSF1 V5.1,
44487         due to stime requiring a `long int*' while tv_sec is `int'.
44488
44489 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
44490
44491         Sync from coreutils.
44492         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
44493         against `yes', rather than just testing for nonempty.
44494
44495 2005-10-01  Simon Josefsson  <jas@extundo.com>
44496
44497         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
44498         and Darwin.
44499
44500         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
44501         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
44502         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
44503         freeaddrinfo and gai_strerror are declared by the POSIX headers.
44504         Check if struct addrinfo is declared.
44505
44506 2005-10-01  Simon Josefsson  <jas@extundo.com>
44507
44508         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
44509         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
44510         AI_* and EAI_* definitions.  Protect function declarations.
44511
44512 2005-10-01  Jim Meyering  <jim@meyering.net>
44513
44514         Sync from coreutils.
44515
44516         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
44517         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
44518         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
44519         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
44520         in the inet and nsl libraries.  Required on Solaris 5.7.
44521
44522 2005-10-01  Jim Meyering  <jim@meyering.net>
44523
44524         Sync from coreutils.
44525         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
44526         in the inet and nsl libraries.  Required on Solaris 5.7.
44527
44528 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
44529
44530         * lib/getdelim.c (getdelim): Remove unused variables.
44531
44532 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
44533
44534         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
44535         so that the code works even with ancient cpp.  Portability problem
44536         with GCC 2.7.2.1 reported by Thomas M.Ott.
44537
44538 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
44539
44540         * modules/regex (Depends-on): Add strcase.
44541
44542         * modules/gethostname (Licence): Change from GPL to LGPL, since
44543         gethostname.c is a trivial implementation of a standard library
44544         function.
44545         * modules/poll (License): Change from GPL to LGPL, since it's
44546         derived from LGPL code.
44547
44548 2005-09-27  Jim Meyering  <jim@meyering.net>
44549
44550         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
44551         HAVE_CONFIG_H.
44552
44553         * lib/intprops.h (signed_type_or_expr__): Define.
44554         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
44555         for unsigned types.
44556
44557 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
44558
44559         * lib/verify.h (verify_expr): Remove, replacing with:
44560         (verify_true): New macro that returns true instead of void.
44561         (verify_type__): Remove.
44562         (verify): Use verify_true rather than verify_type__.
44563
44564 2005-09-26  Bruno Haible  <bruno@clisp.org>
44565
44566         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
44567         is necessary.
44568         (lib_SOURCES): Remove mbchar.c.
44569         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
44570         (Files): Add m4/mbrtowc.m4.
44571         * modules/mbiter: Likewise.
44572         * modules/mbuiter: Likewise.
44573
44574 2005-09-26  Bruno Haible  <bruno@clisp.org>
44575
44576         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
44577         compile mbchar.c if they are not both present.
44578         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
44579         * m4/mbiter.m4 (gl_MBITER): Likewise.
44580         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
44581         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
44582         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
44583
44584 2005-09-25  Jim Meyering  <jim@meyering.net>
44585
44586         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
44587         also uses socklen_t.
44588
44589 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
44590
44591         * lib/utimens.c (ENOSYS): Define if not already defined.
44592         (futimens): Support having a null PATH if the file descriptor
44593         is nonnegative.
44594
44595         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
44596         Remove.
44597         (__attribute): Define to empty unless GCC 3.1 or later.
44598         This works around a core dump on OpenBSD 3.4, which has GCC
44599         2.95.3, which dumps core when given __attribute__(()).  It also
44600         simplifies other tests, since we really don't want to bother with
44601         worrying about which ancient version of GCC supported what.
44602         Original problem reported by Yoann Vandoorselaere, with part of
44603         the fix suggested by Derek Price.
44604
44605 2005-09-24  Jim Meyering  <jim@meyering.net>
44606
44607         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
44608         so we can once again use a positive bitfield width of 1 -- now we
44609         don't have to explain why we were using a bitfield width of 2.
44610
44611 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
44612
44613         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
44614         and similarly for the other external symbols.  Problem reported
44615         by James Gallager.
44616
44617         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
44618         bug reported by Jim Meyering.
44619
44620         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
44621         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
44622         not needed, since socklen is a prerequisite module.
44623
44624 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
44625
44626         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
44627         Problem reported by Eric Blake.
44628         (getaddrinfo): Initialize se so that it's not garbage.
44629         Redo internal storage allocation so that it doesn't make unportable
44630         assumptions about alignment.
44631         Fix a memory leak.
44632
44633         * lib/utimens.c (futimens): Use futimesat if available.
44634         Prefer it to futimes since it doesn't have the futimes bug.
44635
44636         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
44637         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
44638         Instead, declare a function that returns a pointer to an array,
44639         and use verify_type__ to declare the size of the array.
44640         Problem and germ of a solution reported by Bruno Haible.
44641         (verify_type__): Use 2, not 1, for bitfield size, to avoid
44642         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
44643
44644 2005-09-23  Jim Meyering  <jim@meyering.net>
44645
44646         Sync from coreutils.
44647         Correct build failure (socklen_t not defined) on at least
44648         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
44649         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
44650
44651 2005-09-23  Jim Meyering  <jim@meyering.net>
44652
44653         * modules/getaddrinfo (Depends-on): Add socklen.
44654
44655 2005-09-23  Bruno Haible  <bruno@clisp.org>
44656
44657         * tests/test-verify.c: New file.
44658
44659 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
44660
44661         Sync from coreutils.
44662
44663         * modules/argmatch (Depends-on): Add verify.
44664         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
44665         unistd-safer.
44666         * modules/save-cwd (Depends-on): Likewise.
44667
44668         * modules/openat (Files): Add lib/openat-die.c.
44669         (Depends-on): Remove error, exitfail.
44670         Add dirname.
44671
44672         * modules/verify: New file.
44673         * MODULES.html.sh (Diagnostics <assert.h>): New section,
44674         with "verify" module.
44675
44676 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
44677
44678         Sync from coreutils.
44679
44680         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
44681         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
44682         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
44683         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
44684         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
44685         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
44686         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
44687         Don't bother checking for string.h, stdlib.h, unistd.h.
44688         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
44689         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
44690         module's job.
44691         * m4/jm-macros.m4 (gl_MACROS): Likewise.
44692         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
44693
44694         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
44695         (gl_GETDATE): Use it.
44696
44697         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
44698
44699 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
44700
44701         Sync from coreutils.
44702
44703         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
44704         stat-time.h.
44705         * lib/argmatch.h: Include verify.h
44706         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
44707         (ARGMATCH_ASSERT): Remove; unused.
44708         * lib/canonicalize.c: Assume STDC_HEADERS.
44709         * lib/exclude.c: Include "strcase.h".
44710         * lib/regex_internal.h [!defined _LIBC]: Likewise.
44711         * lib/getusershell.c: Include stdio--.h rather than stdio.h
44712         and stdio-safer.h.
44713         (getusershell): Call fopen, not fopen_safer.
44714         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
44715         Do not include unistd-safer.h.
44716         (save_cwd): Don't call fd_safer; no longer needed
44717         now that we include fcntl--.h.
44718
44719         * lib/getdate.y (relative_time): New type.
44720         (RELATIVE_TIME_0): New constant.
44721         (parser_control): Use relative_time instead of doing it ourselves.
44722         (%union): Add new relative_time rel member.
44723         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
44724         Now typeless.
44725         (relunit, relunit_snumber): Now of type rel.
44726         (zone, rel, relunit, get_date): Adjust to above changes.
44727
44728         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
44729         Do not include unistd-safer.h.
44730         (getloadavg): Don't call fd_safer; no longer needed
44731         now that we include fcntl--.h.
44732
44733         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
44734         (make_dir_parents): Treat ENOSYS like EEXIST.
44735
44736         Improve quality of diagnostics on restore_cwd failure.
44737         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
44738         (make_dir_parents): Last arg is now int * (for errno), not bool *.
44739         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
44740         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
44741         each time through the loop.  Do not diagnose restore_cwd failure;
44742         that is the caller's job (and perhaps the caller does not care).
44743
44744         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
44745         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
44746         If the file already exists but is not a directory, don't bother
44747         to try to make its parents.
44748         Close potential file descriptor leak if we can't chdir("/") (!).
44749         Don't always return true if chdir($PWD) fails; return true only
44750         if the requested action was done successfully (except for the
44751         chdir($PWD)).
44752         Don't log final directory unless we actually made it.
44753         Refactor to avoid duplicate code to fix up permissions.
44754         Don't attempt to fix up parent permissions if chdir($PWD) fails.
44755
44756         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
44757         to make it a bit faster and (I hope) clearer.
44758         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
44759         Fix bug in formats like %2N.
44760
44761         * lib/verify.h: New file.
44762
44763 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
44764
44765         Sync from coreutils.
44766         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
44767
44768 2005-09-22  Jim Meyering  <jim@meyering.net>
44769
44770         Sync from coreutils.
44771
44772         * m4/lstat.m4 (gl_FUNC_LSTAT):
44773         Use AC_LIBSOURCES to require lstat.c and lstat.h.
44774         Remove obsolete comment.
44775         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
44776         * m4/xstrtod.m4: Likewise.
44777
44778         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
44779
44780 2005-09-22  Jim Meyering  <jim@meyering.net>
44781
44782         Sync from coreutils.
44783
44784         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
44785
44786         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
44787         the .tm_year member, since otherwise gcc-4.0 would now warn about
44788         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
44789
44790         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
44791         order to avoid an unsuppressible warning from gcc on 64-bit systems.
44792
44793         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
44794         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
44795         when run in a time zone for which daylight savings time is in effect
44796         for the starting date.
44797
44798         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
44799         stop us from restricting permissions of just-created absolute-named
44800         directories.
44801         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
44802         to restore initial working directory.
44803         * lib/mkdir-p.c (make_dir_parents): New parameter:
44804         different_working_dir, to tell caller if/when we change the working
44805         directory and are unable to return to the initial one.
44806         * lib/mkdir-p.h (make_dir_parents): Update prototype.
44807         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
44808         `return false'.  This fixes a bug introduced on 2004-07-30.
44809
44810         * lib/openat.c (fdopendir): Be sure to close the supplied
44811         file descriptor before returning.  This makes our replacement
44812         implementation a little closer to Solaris's, where fdopendir
44813         ties the file descriptor to the returned DIR* pointer.
44814         * lib/openat.c (unlinkat): New function.
44815         * lib/openat.h (unlinkat): Add prototype.
44816         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
44817         (openat_restore_fail): Rename from openat_restore_die.
44818         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
44819
44820         Provide an alternative to exiting immediately upon save_cwd or
44821         restore_cwd failure.  Now, an application can arrange e.g.,
44822         to perform a longjump in that case.
44823         * lib/openat.c: Include dirname.h.
44824         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
44825         (rpl_openat, fdopendir, fstatat): Call openat_save_die
44826         and openat_restore_die rather than calling error directly.
44827         Don't include "error.h" or "exitfail.h"; they're no longer needed.
44828
44829         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
44830         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
44831         define.
44832
44833         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
44834         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
44835                             int utc, int nanoseconds);
44836         Background:
44837         date should not have to allocate a megabyte of virtual memory to
44838         handle a format argument like +%1048575T.  When implemented with
44839         strftime, it must allocate such a buffer, use strftime to fill it
44840         in, print it, then free it.
44841         With fprintftime, it simply prints everything and exits.
44842         With no need for memory allocation, that's one fewer way to fail.
44843         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
44844         optional field width, not before, so we accept %9:z, not %:9z.
44845         (my_strftime): Be sure to use L_('x') for literals.
44846
44847         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
44848         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
44849         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
44850         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
44851         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
44852         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
44853         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
44854         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
44855         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
44856         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
44857         * lib/xgethostname.c, lib/xreadlink.c:
44858         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
44859
44860         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
44861         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
44862         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
44863         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
44864         and don't include <sys/file.h>).
44865
44866 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
44867
44868         Sync from coreutils.
44869
44870         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
44871         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
44872         [!LDAV_DONE]: Avoid unused variable warning.
44873
44874 2005-09-21  Bruno Haible  <bruno@clisp.org>
44875
44876         * lib/unicodeio.h (unicode_to_mb): New declaration.
44877
44878 2005-09-20  Derek Price  <derek@ximbiot.com>
44879
44880         * lib/getaddrinfo.c: Don't include <netdb.h> included from
44881         getaddrinfo.h.
44882
44883 2005-09-20  Bruno Haible  <bruno@clisp.org>
44884
44885         * gnulib-tool: Remove trailing slashes from the values specified for
44886         --source-base, --m4-base, --tests-base, --aux-dir.
44887         Suggested by Simon Josefsson <jas@extundo.com>.
44888
44889 2005-09-20  Bruno Haible  <bruno@clisp.org>
44890
44891         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
44892         func_modules_to_filelist, func_import, func_create_testdir): Make all
44893         sorting results locale-independent, so that gnulib-cache.m4 doesn't
44894         change when gnulib-tool is invoked in a different locale.
44895
44896 2005-09-19  Simon Josefsson  <jas@extundo.com>
44897
44898         * m4/socklen.m4: Fix typo.
44899
44900 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44901
44902         Use a consistent style for including <config.h>.
44903         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
44904         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
44905         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
44906         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
44907         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
44908         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
44909         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
44910         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
44911         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
44912         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
44913         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
44914         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
44915         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
44916         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
44917         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
44918         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
44919         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
44920         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
44921         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
44922         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
44923         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
44924         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
44925         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
44926         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
44927         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
44928         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
44929         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
44930         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
44931         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
44932         lib/xstrtoumax.c, lib/yesno.c:
44933         Standardize inclusion of config.h.
44934         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
44935         lib/inttostr.h:  Removed inclusion of config.h from header files.
44936         * lib/inttostr.c:  Adjusted in-tree users.
44937         * lib/timespec.h: Remove superfluous warning to include config.h.
44938         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
44939         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
44940         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
44941         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
44942         config.h with HAVE_CONFIG_H.
44943
44944 2005-09-19  Jim Meyering  <jim@meyering.net>
44945
44946         * modules/pathmax (License): Change to LGPL.
44947
44948 2005-09-19  Derek Price  <derek@ximbiot.com>
44949
44950         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
44951
44952 2005-09-19  Bruno Haible  <bruno@clisp.org>
44953
44954         * gnulib-tool (import): Provide default for --tests-base.
44955
44956 2005-09-19  Bruno Haible  <bruno@clisp.org>
44957
44958         * doc/quote.texi: New file, extracted from gnulib.texi.
44959         * doc/ctime.texi: New file, extracted from gnulib.texi.
44960         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
44961         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
44962         * doc/gnulib.texi: Include them.
44963
44964 2005-09-18  Bruno Haible  <bruno@clisp.org>
44965
44966         Portability fix.
44967         * gnulib-tool (func_readlink): New function.
44968         (func_ln_if_changed): Use it.
44969
44970 2005-09-18  Bruno Haible  <bruno@clisp.org>
44971
44972         * gnulib-tool: Support --with-tests also with --import.
44973         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
44974         (func_import): Use variables $testsbase and $inctests. Emit a
44975         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
44976         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
44977         SUBDIRS += $testsdir.
44978         (func_create_testdir): Update.
44979
44980 2005-09-18  Bruno Haible  <bruno@clisp.org>
44981
44982         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
44983         instead of $dry_run.
44984         (func_cp_if_changed, func_mv_if_changed): Remove functions.
44985         (func_ln_if_changed): Don't handle dry-run here.
44986         (func_import): In dry-run mode, detect more precisely which actions
44987         would be performed, and don't use "...ing" verbs.
44988
44989 2005-09-18  Bruno Haible  <bruno@clisp.org>
44990
44991         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
44992         (func_import): Use join on two temporary files instead of three nested
44993         loops, in order to determine which files are new or old.
44994
44995 2005-09-18  Bruno Haible  <bruno@clisp.org>
44996
44997         * gnulib-tool (func_import): Comment out code that spits out the
44998         new files with --dry-run.
44999
45000 2005-09-18  Bruno Haible  <bruno@clisp.org>
45001
45002         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
45003
45004 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
45005
45006         * lib/stat-time.h: New file.
45007         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
45008         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
45009         in a different way.
45010         (timespec_cmp): New function.
45011         * lib/utimecmp.c: Include stat-time.h.
45012         (SYSCALL_RESOLUTION): Depend on whether various struct stat
45013         members exist, not on the obsolescent ST_MTIM_NSEC.
45014         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
45015
45016 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
45017
45018         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
45019
45020 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
45021
45022         * MODULES.html.sh (File system functions): Add stat-time.
45023         * modules/stat-time: New file.
45024         * modules/timespec (Files): Remove m4/st_mtim.m4; this
45025         is now done in a different way, by the stat-time module.
45026         * modules/utimecmp (Depends-on): Add stat-time.
45027
45028 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
45029
45030         * m4/st_mtim.m4: Remove.  Superseded by...
45031         * m4/stat-time.m4: New file.
45032         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
45033         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
45034
45035 2005-09-15  Derek Price  <derek@ximbiot.com>
45036
45037         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
45038
45039 2005-09-15  Derek Price  <derek@ximbiot.com>
45040
45041         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
45042         * lib/regex_internal.c: Ditto, using this...
45043         (__GNUC_PREREQ): ...new macro.
45044         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
45045         using...
45046         (__GNUC_PREREQ): ...this new macro.
45047
45048         * lib/strstr.h: Include string.h. Define strstr as a macro here.
45049
45050 2005-09-15  Derek Price  <derek@ximbiot.com>
45051             Paul Eggert  <eggert@cs.ucla.edu>
45052
45053         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
45054         changes, consolidating in...
45055         * lib/regex_internal.h: ...this file.
45056
45057 2005-09-13  Jim Meyering  <jim@meyering.net>
45058
45059         * lib/canon-host.c: Filter through gnu indent and reword comments
45060         slightly.
45061         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
45062
45063 2005-09-13  Derek Price  <derek@ximbiot.com>
45064
45065         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
45066         failure.
45067         Reported by Jim Meyering  <jim@meyering.net>.
45068
45069 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
45070
45071         * lib/base64.c: Typo.
45072         (base64_encode): Put b64str in initialized data section.
45073
45074 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
45075
45076         Merge glibc and coreutils changes into gnulib, plus a few
45077         extra fixes.
45078         * lib/md5.c: Use #error rather than a string.
45079         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
45080         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
45081         (__attribute__): Define to empty for non recent-GCC.
45082         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
45083         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
45084         Renamed from their non-__ counterparts, with new macros replacing
45085         them if not _LIBC.  Add __THROW attribute.
45086         (rol): Remove.
45087         (struct md5_ctx): Align buffer if using GCC.
45088         * lib/sha1.h (struct sha1_ctx): Likewise.
45089         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
45090         The old name was backwards.
45091         (NOTSWAP): Remove; not used.
45092         (rol): New macro, moved here from md5.h.
45093         (sha1_process_block): Remove a FIXME that doesn't make sense.
45094
45095 2005-09-12  Derek Price  <derek@ximbiot.com>
45096
45097         Return usable errors from canon-host.
45098         * lib/canon-host.h: New file.
45099         * lib/canon-host.c (canon_host): Wrap...
45100         (canon_host_r): ...this new function, which now relies exclusively on
45101         getaddrinfo.
45102         (ch_strerror): New function.
45103         (last_cherror): New global.
45104         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
45105         interface.
45106         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
45107         void *.
45108         (freeaddrinfo): Free ai->ai_canonname when set.
45109
45110 2005-09-12  Derek Price  <derek@ximbiot.com>
45111
45112         Make canon-host require getaddrinfo.
45113         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
45114         AC_LIBSOURCE canon-host.h.  Call...
45115         (gl_PREREQ_CANON_HOST): ...this new function, which requires
45116         gl_GETADDRINFO.
45117         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
45118
45119 2005-09-12  Derek Price  <derek@ximbiot.com>
45120
45121         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
45122         LGPL.
45123         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
45124
45125 2005-09-12  Derek Price  <derek@ximbiot.com>
45126
45127         * lib/gai_strerror.c: Include config.h when available.  Include
45128         getaddrinfo.h before other headers to test interface.
45129         Reported by Larry Jones <lawrence.jones@ugs.com>.
45130
45131 2005-09-12  Derek Price  <derek@ximbiot.com>
45132             Paul Eggert  <eggert@cs.ucla.edu>
45133
45134         * modules/glob (Files): Add glob-libc.h.
45135
45136 2005-09-12  Derek Price  <derek@ximbiot.com>
45137             Paul Eggert  <eggert@cs.ucla.edu>
45138
45139         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
45140         glob_.h, glob-libc.h.
45141         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
45142
45143 2005-09-12  Derek Price  <derek@ximbiot.com>
45144             Paul Eggert  <eggert@cs.ucla.edu>
45145
45146         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
45147         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
45148         protecting things that should be done only in gnulib contexts.
45149         * lib/glob_.h: New file, containing only the glob things needed for
45150         gnulib.
45151         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
45152         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
45153         (glob, globfree, glob_pattern_p): Now defined simply in terms of
45154         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
45155         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
45156         and to respect the namespace rules better.
45157
45158 2005-09-08  Simon Josefsson  <jas@extundo.com>
45159
45160         * modules/socklen: New file.
45161
45162 2005-09-08  Simon Josefsson  <jas@extundo.com>
45163
45164         * m4/socklen.m4: New file.
45165
45166 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
45167
45168         * modules/utimens (Files): Add m4/utimbuf.m4, since
45169         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
45170         Reported by Sergey Poznyakoff.
45171
45172 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
45173
45174         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
45175         definitions, since that's the preferred style in glibc.
45176         Fix a minor spacing issue, and update copyright notice to match
45177         glibc's.
45178
45179 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
45180
45181         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
45182
45183 2005-09-06  Simon Josefsson  <jas@extundo.com>
45184
45185         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
45186         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
45187
45188 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
45189
45190         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
45191         warning.
45192
45193 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
45194
45195         * config/srclist.txt: Add glibc bug 1302.
45196
45197 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
45198
45199         Change bitset word type from unsigned int to unsigned long int,
45200         as this has better performance on typical 64-bit hosts.
45201         Port bitset code to hosts with unusual word sizes.
45202         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
45203         (build_collating_symbol):
45204         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
45205         argument is a bitset.  This is merely a style issue, but it makes
45206         it clearer that an entire array is expected.
45207         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
45208         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
45209         Port to the case where bitset_word is not the same as unsigned int.
45210         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
45211         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
45212         Likewise.
45213         * lib/regexec.c (check_dst_limits_calc_pos_1,
45214         check_subexp_matching_top):
45215         (build_trtable, group_nodes_into_DFAstates):
45216         Likewise.
45217         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
45218         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
45219         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
45220         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
45221         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
45222         * lib/regcomp.c (optimize_subexps, lower_subexp):
45223         Work even if bitset_word has holes in its bitwise representation.
45224         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
45225         * lib/regexec.c (check_dst_limits_calc_pos_1,
45226         check_subexp_matching_top):
45227         Likewise.
45228         * lib/regex_internal.c (re_string_reconstruct):
45229         Don't assume UCHAR_MAX == 255.
45230         * lib/regex_internal.h (bitset_set_all): Likewise.
45231         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
45232         All uses changed.
45233         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
45234         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
45235         All uses changed.
45236         (BITSET_WORD_MAX): New macro.
45237         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
45238         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
45239         (bitset_empty, bitset_copy):
45240         Prefer sizeof (bitset) to multiplying it out ourselves.
45241         (bitset_not_merge): Remove; unused.
45242         (bitset_contain): Return bool, not unsigned int with one bit on.
45243         All callers changed.
45244         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
45245         alignment than re_node_set; do this by defining a new internal
45246         type struct dests_alloc and using it to allocate memory.
45247
45248 2005-09-05  Bruno Haible  <bruno@clisp.org>
45249
45250         * gnulib-tool (func_import): Fix comparison in handling of symbolic
45251         links.
45252
45253 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
45254
45255         * modules/size_max (Makefile.am): Add size_max.h
45256
45257 2005-09-04  Derek Price  <derek@ximbiot.com>
45258
45259         * gnulib-tool (func_import): Fix reversed $symbolic logic.
45260
45261 2005-09-03  Simon Josefsson  <jas@extundo.com>
45262
45263         * gnulib-tool: Fix typo.
45264
45265 2005-09-03  Simon Josefsson  <jas@extundo.com>
45266
45267         * config/srclist.txt: Add glibc bug 1293.
45268
45269 2005-09-03  Derek Price  <derek@ximbiot.com>
45270
45271         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
45272         From Larry Jones <lawrence.jones@ugs.com>.
45273
45274 2005-09-02  Simon Josefsson  <jas@extundo.com>
45275
45276         * modules/socklen: New file.
45277
45278 2005-09-02  Simon Josefsson  <jas@extundo.com>
45279
45280         * modules/havelib: New module.
45281
45282         * modules/gettext, modules/iconv, modules/lock, modules/readline:
45283         Use havelib.
45284
45285 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
45286
45287         Check for arithmetic overflow when calculating sizes, to prevent
45288         some buffer-overflow issues.  These patches are conservative, in the
45289         sense that when I couldn't determine whether an overflow was possible,
45290         I inserted a run-time check.
45291         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
45292         macros.
45293         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
45294         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
45295         (re_xnrealloc, re_x2nrealloc): New inline functions.
45296         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
45297         parse_bracket_exp):
45298         (build_equiv_class, build_charclass): Check for arithmetic overflow
45299         in size expression calculations.
45300         * lib/regex_internal.c (re_string_realloc_buffers):
45301         (build_wcs_upper_buffer, re_node_set_add_intersect):
45302         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
45303         (re_dfa_add_node, register_state): Likewise.
45304         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
45305         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
45306         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
45307         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
45308
45309 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
45310
45311         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
45312         m4/ulonglong.m4.  Problem reported by Martin Lambers.
45313
45314 2005-09-02  Bruno Haible  <bruno@clisp.org>
45315
45316         Support for lib vs. lib64 distinction on biarch platforms.
45317         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
45318         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
45319         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
45320
45321 2005-09-02  Bruno Haible  <bruno@clisp.org>
45322
45323         * gnulib-tool (import): In the other first-use case, provide defaults
45324         as well.
45325
45326 2005-09-02  Bruno Haible  <bruno@clisp.org>
45327
45328         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
45329         patches not yet found in the latest gettext release.
45330
45331 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
45332
45333         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
45334         to avoid a collision with bits/local_lim.h in glibc.
45335         All uses changed.  Problem reported by Dmitry V. Levin in
45336         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
45337
45338         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
45339         bugs in int versus size_t comparisons.
45340         (re_string_context_at): Fix bug where the code assumed that
45341         Idx is signed.
45342
45343         Use bool where appropriate.
45344         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
45345         All callers changed.
45346         (calc_eclosure_iter): Likewise, for ROOT arg.
45347         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
45348         (build_charclass_op): Likewise, for NON_MATCH arg.
45349         * lib/regex_internal.c (re_string_allocate, re_string_construct):
45350         (re_string_construct_common): Likewise, for ICASE arg.
45351         * lib/regexec.c (re_search_2_stub, re_search_stub):
45352         Likewise, for RET_LEN arg.
45353         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
45354         (set_regs): Likewise, for FL_BACKTRACK arg.
45355         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
45356         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
45357         (calc_eclosure_iter, parse_bracket_exp):
45358         Use bool for internal variables that are booleans.
45359         * lib/regexec.c (re_search_internal, check_matching,
45360         proceed_next_node):
45361         (set_regs, build_sifted_states, sift_states_bkref):
45362         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
45363         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
45364         (find_collation_sequence_value):
45365         Likewise.
45366         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
45367         (re_node_set_compare):
45368         Return bool, not int. All callers changed.
45369         * lib/regexec.c (check_halt_node_context, check_dst_limits):
45370         (build_trtable, check_node_accept): Likewise.
45371         * lib/regex_internal.h: Include stdbool.h.
45372
45373         Fix bugs uncovered when converting to bool.
45374         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
45375         failure instead of charging ahead blindly.
45376         * lib/regex_internal.c (register_state): Likewise.
45377         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
45378         for freeing internal storage.
45379         (group_nodes_into_DFA_states): Use unsigned int, not int, for
45380         bitset pieces used as boolean, to avoid undefined behavior
45381         on hosts that do int overflow checking.
45382
45383 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
45384
45385         * config/srclist.txt: Add glibc bugs 1285-1287.
45386
45387 2005-09-01  Jim Meyering  <jim@meyering.net>
45388
45389         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
45390         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
45391         Require gl_STAT_MACROS, too.
45392
45393 2005-09-01  Bruno Haible  <bruno@clisp.org>
45394
45395         * gnulib-tool (import): In the first-use case, provide defaults.
45396
45397 2005-09-01  Bruno Haible  <bruno@clisp.org>
45398
45399         * gnulib-tool (func_import): Remove the .tmp files.
45400
45401 2005-09-01  Bruno Haible  <bruno@clisp.org>
45402
45403         * gnulib-tool (func_import): Fix handling of symbolic links.
45404
45405 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
45406
45407         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
45408         old glibc regex code mishandles strings longer than 2**31 bytes.
45409         This patch fixes this when the regex code is used in gnulib
45410         (i.e., outside glibc).
45411
45412         This patch should not affect the use of the regex code inside
45413         glibc.  No doubt this problem also needs to be handled for glibc
45414         as well, but the result will be an incompatible change to the
45415         glibc ABI, and the old ABI will have to be supported too.  That
45416         can be the the subject for another patch.
45417
45418         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
45419         governing whether the rest of this patch is active.  By default,
45420         the macro is disabled and the patch has no effect.
45421         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
45422         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
45423         (struct re_pattern_buffer, re_search, re_search_2, re_match):
45424         (re_match_2, re_set_registers): Use the new types.
45425         * lib/regex_internal.h (Idx, re_hashval_t): New types.
45426         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
45427         New macros.
45428         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
45429         (re_string_context_at, bin_tree_t, re_dfastate_t):
45430         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
45431         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
45432         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
45433         (re_string_char_size_at, re_string_wchar_at):
45434         (re_string_elem_size_at):
45435         Use the new types and macros to port to 64-bit hosts.
45436         Use unsigned types for internal values, so that the code
45437         mostly works even for arrays larger than SSIZE_MAX.
45438         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
45439         (search_duplicated_node, calc_eclosure_iter, fetch_number):
45440         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
45441         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
45442         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
45443         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
45444         (calc_inveclosure, parse_dup_op, build_range_exp):
45445         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
45446         (fetch_number, create_token_tree, mark_opt_subexp):
45447         Likewise.
45448         * lib/regex_internal.c (re_string_construct_common,
45449         create_ci_newstate):
45450         (create_cd_newstate, re_string_allocate, re_string_construct):
45451         (re_string_realloc_buffers, build_wcs_upper_buffer):
45452         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
45453         (re_string_reconstruct, re_string_peek_byte_case):
45454         (re_string_fetch_byte_case, re_string_context_at):
45455         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
45456         (re_node_set_init_copy, re_node_set_add_intersect):
45457         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
45458         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
45459         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
45460         (re_acquire_state, re_acquire_state_context, register_state):
45461         Likewise.
45462         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
45463         search_cur_bkref_entry):
45464         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
45465         (re_search_internal, re_search_2_stub, re_search_stub)
45466         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
45467         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
45468         (update_cur_sifted_state, check_dst_limits):
45469         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
45470         (check_subexp_limits, sift_states_bkref, merge_state_array):
45471         (check_subexp_matching_top, get_subexp, get_subexp_sub):
45472         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
45473         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
45474         (expand_bkref_cache, check_node_accept_bytes):
45475         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
45476         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
45477         (acquire_init_state_context, check_halt_node_context):
45478         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
45479         (sift_states_backward, clean_state_log_if_needed):
45480         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
45481         (find_recover_state, transit_state_sb, transit_state_mb):
45482         (transit_state_bkref, build_trtable, match_ctx_clean):
45483         Likewise.
45484         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
45485         to work around an assumption that REG_MISSING is negative.
45486
45487         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
45488         (seek_collating_symbol_entry) [defined _LIBC]:
45489         (lookup_collation_sequence_value) [defined _LIBC]:
45490         (build_range_exp, build_collating_symbol) [defined _LIBC]:
45491         Use prototypes rather than old-style function definitions.
45492         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
45493         (transit_state_sb) [0]:
45494         (find_collation_sequence_value) [defined _LIBC]: Likewise.
45495
45496         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
45497         rm_eo.
45498
45499         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
45500         (optimize_subexps, lower_subexp):
45501         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
45502         since the signed shift might overflow.  Use 1u<<31 instead.
45503         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
45504         Likewise.
45505         * lib/regexec.c (check_dst_limits_calc_pos_1,
45506         check_subexp_matching_top): Likewise.
45507
45508         * lib/regcomp.c (optimize_subexps, lower_subexp):
45509         Use CHAR_BIT rather than 8, for clarity.
45510         * lib/regexec.c (check_dst_limits_calc_pos_1):
45511         (check_subexp_matching_top): Likewise.
45512         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
45513         have to worry about portability issues when shifting it left.
45514         Remove no-longer-needed test for table_size > 0.
45515         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
45516         in a word, as the resulting behavior is undefined.
45517         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
45518         in one case, a <= should have been an <, and in another case the
45519         whole test was missing.
45520         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
45521         the standard name CHAR_BIT.
45522         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
45523         this is not true on one's complement and signed-magnitude hosts.
45524
45525         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
45526         next_last_offset.
45527         (struct re_dfa_t): Remove unused member states_alloc.
45528         * lib/regcomp.c (init_dfa): Don't initialize unused members.
45529
45530 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
45531
45532         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
45533         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
45534         and large-file glibc and in 32-bit large-file Solaris.
45535
45536 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
45537
45538         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
45539         lengths fit in regoff_t; this isn't true if regoff_t is the same
45540         width as size_t.
45541         * lib/regex.c (re_search_internal): 5th arg is LAST_START
45542         (= START + RANGE) instead of RANGE.  This avoids overflow
45543         problems when regoff_t is the same width as size_t.
45544         All callers changed.
45545         (re_search_2_stub): Check for overflow when adding the
45546         sizes of the two strings.
45547         (re_search_stub): Check for overflow when adding START
45548         to RANGE; if it occurs, substitute the extreme value.
45549
45550 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
45551
45552         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
45553
45554 2005-08-31  Jim Meyering  <jim@meyering.net>
45555
45556         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
45557         a pointer-to-const.
45558         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
45559         (register_state): Likewise.
45560         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
45561         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
45562         (group_nodes_into_DFAstates): Likewise.
45563
45564 2005-08-31  Jim Meyering  <jim@meyering.net>
45565
45566         * check-module: Add a FIXME comment.
45567
45568 2005-08-31  Eric Blake  <ebb9@byu.net>
45569
45570         * modules/unistd-safer (Files): Add unistd--.h.
45571         * modules/stdio-safer (Files): Add stdio--.h.
45572
45573 2005-08-31  Derek Price  <derek@ximbiot.com>
45574
45575         * lib/getdelim.c (getdelim): Return EOF on EOF.
45576         Reported by Larry Jones <lawrence.jones@ugs.com>.
45577
45578 2005-08-31  Bruno Haible  <bruno@clisp.org>
45579
45580         Avoid unnecessary diffs in the generated lib/Makefile.am.
45581         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
45582         the generated files.
45583         (func_import): Don't set cmd.
45584
45585 2005-08-31  Bruno Haible  <bruno@clisp.org>
45586
45587         * lib/strstr.c: Include <stddef.h>, for NULL.
45588         * lib/strcasestr.c: Likewise.
45589         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
45590
45591 2005-08-31  Bruno Haible  <bruno@clisp.org>
45592
45593         * gnulib-tool: New option --macro-prefix.
45594         (func_import): Use macro_prefix.
45595         (import): Handle option --macro-prefix.
45596
45597 2005-08-31  Bruno Haible  <bruno@clisp.org>
45598
45599         * gnulib-tool (import): Rename most ac_* variables to cached_*.
45600         Also use new variables cached_lgpl, cached_libtool.
45601
45602 2005-08-31  Bruno Haible  <bruno@clisp.org>
45603
45604         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
45605         always instantiating them.
45606
45607 2005-08-31  Bruno Haible  <bruno@clisp.org>
45608
45609         * gnulib-tool (func_import): Read the previous cached settings
45610         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
45611         earlier added by gnulib but are now dropped. Warn when a gnulib file
45612         overwrites a non-gnulib file.
45613
45614 2005-08-31  Bruno Haible  <bruno@clisp.org>
45615
45616         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
45617         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
45618         projects that don't keep autogenerated files in CVS. Put into
45619         actioncmd only the specified modules, not the transitive closure.
45620
45621 2005-08-31  Bruno Haible  <bruno@clisp.org>
45622
45623         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
45624         Create directories that shall be filled.
45625         (import): Don't look for gl_* macros in configure.ac. Recurse across
45626         all directories containing a gnulib-cache.m4 files, if meaningful.
45627
45628 2005-08-31  Bruno Haible  <bruno@clisp.org>
45629
45630         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
45631         (import): Set seen_libtool when we see gl_LIBTOOL.
45632
45633 2005-08-31  Bruno Haible  <bruno@clisp.org>
45634
45635         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
45636         declaration macro definitions from generated gnulib.m4.
45637
45638 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
45639
45640         * lib/iconvme.h: Add prototype for iconv_alloc.
45641
45642 2005-08-29  Simon Josefsson  <jas@extundo.com>
45643
45644         * lib/iconvme.c: Fix errno.
45645
45646 2005-08-29  Bruno Haible  <bruno@clisp.org>
45647
45648         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
45649         that it works when the directory contains spaces.
45650
45651 2005-08-29  Bruno Haible  <bruno@clisp.org>
45652
45653         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
45654
45655 2005-08-29  Bruno Haible  <bruno@clisp.org>
45656
45657         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
45658         Emit more advice.
45659
45660 2005-08-29  Bruno Haible  <bruno@clisp.org>
45661         and Stepan Kasal  <kasal@ucw.cz>
45662
45663         * check-module: If more parameters are given, check each of them
45664         separately; add more exceptions, as noted by Jim Meyering.
45665         (check_module): New procedure.
45666         (%exempt_header): Now contains all exceptions.
45667
45668 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
45669
45670         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
45671
45672 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
45673
45674         * lib/iconvme.c: Split iconv_string into iconv_alloc.
45675
45676 2005-08-28  Bruno Haible  <bruno@clisp.org>
45677
45678         * m4/gnulib-tool.m4: New file.
45679
45680 2005-08-27  Jim Meyering  <jim@meyering.net>
45681
45682         * modules/unistd-safer (Files): Add pipe-safer.c.
45683         * modules/fcntl-safer (Files): Add creat-safer.c.
45684
45685 2005-08-27  Jim Meyering  <jim@meyering.net>
45686
45687         * m4/stdlib-safer.m4: New file.  From coreutils.
45688         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
45689         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
45690         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
45691         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
45692         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
45693
45694 2005-08-27  Jim Meyering  <jim@meyering.net>
45695
45696         * lib/fopen-safer.c: Merge minor changes from coreutils.
45697         * lib/dup-safer.c: Likewise.
45698         * lib/fd-safer.c: Likewise.
45699
45700         Merge from coreutils.
45701         * lib/stdio--.h: New file.
45702         * lib/stdlib--.h: New file.
45703         * lib/mkstemp-safer.c: New file.
45704
45705         GNU tar needs these.
45706         * lib/pipe-safer.c: New file.
45707         * lib/creat-safer.c: New file.
45708         * lib/fcntl--.h (creat): Define to creat_safer.
45709         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
45710         * lib/unistd--.h (pipe): Define to pipe_safer.
45711         * lib/unistd-safer.h: Declare pipe_safer.
45712
45713 2005-08-26  Simon Josefsson  <jas@extundo.com>
45714
45715         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
45716         Haible <bruno@clisp.org>.
45717
45718 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
45719
45720         * lib/regex_internal.h: Remove all references to
45721         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
45722         or better.
45723         (bitset_not, bitset_merge, bitset_not_merge):
45724         (bitset_mask, re_string_allocate, re_string_construct):
45725         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
45726         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
45727         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
45728         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
45729         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
45730         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
45731         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
45732         (re_acquire_state_context):
45733         Remove unnecessary forward decls.
45734         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
45735         Put __attribute at function definition,
45736         now that the function decl has been removed.
45737         * lib/regex_internal.c (re_string_peek_byte_case):
45738         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
45739         Likewise.
45740
45741 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
45742
45743         * m4/regex.m4: Add AC_PREREQ(2.50).
45744         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
45745
45746 2005-08-25  Simon Josefsson  <jas@extundo.com>
45747
45748         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
45749         __fsetlocking.
45750
45751 2005-08-25  Simon Josefsson  <jas@extundo.com>
45752
45753         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
45754         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
45755         GLIBC specific code.
45756
45757 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
45758
45759         Make regex safe for g++.  This fixes one real bug (an "err"
45760         that should have been "*err").  g++ problem reported by
45761         Sam Steingold.
45762         * lib/regex_internal.h (re_calloc): New macro, consistent with
45763         re_malloc etc.  All callers of calloc changed to use re_calloc.
45764         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
45765         not int.  All callers changed.
45766         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
45767         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
45768         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
45769         (find_recover_state): Change "err" to "*err"; this fixes what
45770         appears to be a real bug.
45771         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
45772         versus int.
45773
45774 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
45775
45776         * modules/regex (Depends-on): Add malloc, since the code
45777         assumes that !malloc(0) means failure.
45778
45779 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
45780
45781         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
45782
45783         alloca modernization/simplification for regex.
45784         * lib/regex.c: Remove portability cruft for alloca.  This no longer
45785         needs to be at the start of the file, and can be moved into
45786         regex_internal.h and simplified.
45787         * lib/regex_internal.h: Include <alloca.h>.
45788         (__libc_use_alloca) [!defined _LIBC]: New macro.
45789         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
45790         now works outside glibc.
45791
45792 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
45793
45794         * config/srclist.txt: Add glibc bugs 1241, 1245.
45795
45796 2005-08-25  Jim Meyering  <jim@meyering.net>
45797
45798         * lib/open-safer.c: Include <config.h>.
45799         Otherwise, we'd lose LARGEFILE support in any file using
45800         e.g. "fcntl--.h"
45801
45802 2005-08-25  Bruno Haible  <bruno@clisp.org>
45803
45804         * m4/minmax.m4: Require autoconf 2.52.
45805         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
45806         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
45807         alternatives of translit over the alphabet.
45808         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
45809
45810 2005-08-24  Simon Josefsson  <jas@extundo.com>
45811
45812         * tests/test-getpass.c: New file.
45813
45814 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
45815
45816         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
45817         for GNU regex features.
45818
45819 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
45820
45821         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
45822         * lib/regex.h (regerror): Likewise.
45823
45824         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
45825         requires this.  (The code never needed it.)
45826
45827         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
45828         All uses of recently-renamed identifiers changed to use the new,
45829         POSIX-compliant names.  The code will build and run just fine
45830         without these changes, but it's better to eat our own dog food
45831         and use the standard-conforming names.
45832
45833         * lib/regex.h: Fix a multitude of POSIX name space violations.
45834         These changes have an effect only for programs that define
45835         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
45836         do not change anything for programs compiled in the normal way.
45837         Also, there is no effect on the ABI.
45838
45839         (_REGEX_SOURCE): New macro.
45840         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
45841         defined and _GNU_SOURCE is not; this fixes a name space violation.
45842
45843         Rename the following macros to obey POSIX requirements.
45844         The old names are still visible as macros if _REGEX_SOURCE is defined.
45845         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
45846         RE_BACKSLASH_ESCAPE_IN_LISTS.
45847         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
45848         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
45849         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
45850         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
45851         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
45852         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
45853         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
45854         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
45855         (REG_INTERVALS): renamed from RE_INTERVALS.
45856         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
45857         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
45858         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
45859         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
45860         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
45861         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
45862         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
45863         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
45864         RE_UNMATCHED_RIGHT_PAREN_ORD.
45865         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
45866         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
45867         (REG_DEBUG): renamed from RE_DEBUG.
45868         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
45869         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
45870         unusual, since we can't clash with the POSIX REG_ICASE.
45871         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
45872         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
45873         (REG_NO_SUB): renamed from RE_NO_SUB.
45874         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
45875         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
45876         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
45877         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
45878         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
45879         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
45880         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
45881         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
45882         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
45883         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
45884         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
45885         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
45886         RE_SYNTAX_POSIX_MINIMAL_BASIC.
45887         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
45888         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
45889         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
45890         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
45891         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
45892         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
45893         (REG_FIXED): Renamed from REGS_FIXED.
45894         (REG_NREGS): Renamed from RE_NREGS.
45895
45896         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
45897         of other REG_* macros, since POSIX says the user is allowed to
45898         #undef these macros selectively.
45899
45900         (reg_errcode_t): Update comment stating what other tables need
45901         to be consistent.
45902
45903         Rename the following enum values to obey POSIX requirements.
45904         The old names are still visible as macros.
45905         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
45906         is not defined, since GNU is supposed to be a superset of POSIX as
45907         much as possible, and since we want reg_errcode_t to be a signed
45908         type for implementation consistency.
45909         (_REG_NOERROR): Renamed from REG_NOERROR.
45910         (_REG_NOMATCH): Renamed from REG_NOMATCH.
45911         (_REG_BADPAT): Renamed from REG_BADPAT.
45912         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
45913         (_REG_ECTYPE): Renamed from REG_ECTYPE.
45914         (_REG_EESCAPE): Renamed from REG_EESCAPE.
45915         (_REG_ESUBREG): Renamed from REG_ESUBREG.
45916         (_REG_EBRACK): Renamed from REG_EBRACK.
45917         (_REG_EPAREN): Renamed from REG_EPAREN.
45918         (_REG_EBRACE): Renamed from REG_EBRACE.
45919         (_REG_BADBR): Renamed from REG_BADBR.
45920         (_REG_ERANGE): Renamed from REG_ERANGE.
45921         (_REG_ESPACE): Renamed from REG_ESPACE.
45922         (_REG_BADRPT): Renamed from REG_BADRPT.
45923         (_REG_EEND): Renamed from REG_EEND.
45924         (_REG_ESIZE): Renamed from REG_ESIZE.
45925         (_REG_ERPAREN): Renamed from REG_ERPAREN.
45926         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
45927         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
45928         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
45929         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
45930
45931         (_REG_RE_NAME, _REG_RM_NAME): New macros.
45932         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
45933         changed.  But support the old name if the new one is not defined
45934         and if _REGEX_SOURCE.
45935
45936         Change the following member names in struct re_pattern_buffer.
45937         The old names are still supported if !_REGEX_SOURCE.
45938         The new names are always supported, regardless of _REGEX_SOURCE.
45939         (re_buffer): Renamed from buffer.
45940         (re_allocated): Renamed from allocated.
45941         (re_used): Renamed from used.
45942         (re_syntax): Renamed from syntax.
45943         (re_fastmap): Renamed from fastmap.
45944         (re_translate): Renamed from translate.
45945         (re_can_be_null): Renamed from can_be_null.
45946         (re_regs_allocated): Renamed from regs_allocated.
45947         (re_fastmap_accurate): Renamed from fastmap_accurate.
45948         (re_no_sub): Renamed from no_sub.
45949         (re_not_bol): Renamed from not_bol.
45950         (re_not_eol): Renamed from not_eol.
45951         (re_newline_anchor): Renamed from newline_anchor.
45952
45953         Change the following member names in struct re_registers.
45954         The old names are still supported if !_REGEX_SOURCE.
45955         The new names are always supported, regardless of _REGEX_SOURCE.
45956         (rm_num_regs): Renamed from num_regs.
45957         (rm_start): Renamed from start.
45958         (rm_end): Renamed from end.
45959
45960         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
45961         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
45962         Prepend __ to parameter names.
45963
45964         Undo yesterday's changes.
45965
45966 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
45967
45968         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
45969         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
45970         lib/regex.c.
45971
45972 2005-08-24  Jim Meyering  <jim@meyering.net>
45973
45974         Sync from coreutils.
45975         * m4/fcntl-safer.m4: New file.
45976
45977         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
45978         and object files for this module.
45979
45980 2005-08-24  Jim Meyering  <jim@meyering.net>
45981
45982         Sync from coreutils.
45983         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
45984
45985 2005-08-24  Jim Meyering  <jim@meyering.net>
45986
45987         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
45988         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
45989
45990 2005-08-24  Jim Meyering  <jim@meyering.net>
45991
45992         * modules/fcntl-safer: New module.
45993         * modules/fts (Depends-on): Add fcntl-safer.
45994         * MODULES.html.sh (File descriptor based Input/Output):
45995         Add fcntl-safer.
45996
45997 2005-08-24  Bruno Haible  <bruno@clisp.org>
45998
45999         Support for unit test modules.
46000         * modules/README: Mention tests modules.
46001         * modules/TEMPLATE-TESTS: New file.
46002         * gnulib-tool: New options --extract-tests-module, --with-tests and
46003         --tests-base (unused for the moment).
46004         (testsbase, inctests): New variables.
46005         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
46006         (func_verify_module): Exclude TEMPLATE-TESTS.
46007         (func_verify_nontests_module, func_verify_tests_module): New functions.
46008         (func_get_dependencies): Add implicit dependency for tests modules.
46009         (func_get_tests_module): New function.
46010         (func_modules_transitive_closure): When --with-tests was specified,
46011         include the unit tests as well, unless explicitly avoided.
46012         (func_emit_lib_Makefile_am): Ignore the tests modules here.
46013         (func_emit_tests_Makefile_am): New function.
46014         (func_create_testdir): When --with-tests was specified, emit a
46015         tests/ directory.
46016         * MODULES.html.sh (Future developments): Update.
46017
46018 2005-08-24  Bruno Haible  <bruno@clisp.org>
46019
46020         * modules/tls-tests: New file.
46021         * tests/test-tls.c: New file, from GNU gettext.
46022
46023 2005-08-24  Bruno Haible  <bruno@clisp.org>
46024
46025         * modules/lock-tests: New file.
46026         * tests/test-lock.c: New file, from GNU gettext.
46027
46028 2005-08-24  Bruno Haible  <bruno@clisp.org>
46029
46030         * lib/lock.h: Add multiple inclusion guard.
46031         * lib/tls.h: Add multiple inclusion guard.
46032
46033 2005-08-24  Bruno Haible  <bruno@clisp.org>
46034
46035         * gnulib-tool: Add support for the --aux-dir option to
46036         --create-testdir, --create-megatestdir, --test, --megatest.
46037         (func_create_testdir, func_create_megatestdir): Optionally emit a
46038         AC_CONFIG_AUX_DIR directive.
46039         (create-testdir, create-megatestdir, test, megatest): Provide a
46040         default value for $auxdir.
46041
46042 2005-08-24  Bruno Haible  <bruno@clisp.org>
46043
46044         * gnulib-tool (import): Use compound statement instead of subshell
46045         where possible.
46046
46047 2005-08-24  Bruno Haible  <bruno@clisp.org>
46048
46049         * gnulib-tool (import): Change --aux-dir default to "build-aux".
46050
46051 2005-08-24  Bruno Haible  <bruno@clisp.org>
46052
46053         * gnulib-tool (func_version): Update.
46054
46055 2005-08-24  Bruno Haible  <bruno@clisp.org>
46056
46057         * gnulib-tool (func_import, func_create_testdir,
46058         func_create_megatestdir): Quote all autoconf macro arguments.
46059
46060 2005-08-24  Bruno Haible  <bruno@clisp.org>
46061
46062         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
46063         option --force, because --force causes the aclocal.m4 of each
46064         subdirectory to be newer than the corresponding config.h.in.
46065
46066 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
46067
46068         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
46069         All contents moved to gl_REGEX.
46070         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
46071         assume that it does.
46072
46073 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
46074
46075         * lib/regex.h (REG_NOSYS)
46076         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
46077         Define, since POSIX requires it as of 2001.
46078         (_REG_ENOSYS)
46079         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
46080         New private symbol, used to keep the enum signed in all cases.
46081         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
46082         Youngman in
46083         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
46084
46085         * lib/regex_internal.c (re_string_skip_chars, register_state):
46086         (calc_state_hash):
46087         Remove forward decls; no longer needed now that we use prototypes.
46088         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
46089         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
46090         (clean_state_log_if_needed): Likewise.
46091
46092 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
46093
46094         * config/srclist.txt: Add glibc bugs 1231-1233.
46095
46096 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
46097
46098         Fix problems reported by Sam Steingold in
46099         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
46100         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
46101         assumed that reg_errcode_t is a signed type, which is not
46102         necessarily true if _XOPEN_SOURCE is not defined.
46103         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
46104         since some compilers warn about it otherwise.
46105
46106 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
46107
46108         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
46109         (init_word_char, create_initial_state, duplicate_node_closure):
46110         (fetch_token, peek_token_bracket, build_range_exp):
46111         (build_collating_symbol): Remove forward decls; no longer needed
46112         now that we use prototypes.
46113
46114         * lib/regcomp.c:
46115         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
46116         (re_compile_fastmap_iter, regcomp, regerror, regfree):
46117         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
46118         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
46119         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
46120         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
46121         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
46122         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
46123         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
46124         (build_range_exp, build_collating_symbol, parse_bracket_exp):
46125         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
46126         (build_charclass, build_charclass_op, fetch_number, create_tree):
46127         (create_token_tree, mark_opt_subexp, duplicate_tree):
46128         Use prototypes rather than old-style definitions.
46129
46130         * lib/regex_internal.c:
46131         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
46132         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
46133         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
46134         (re_string_reconstruct, re_string_peek_byte_case):
46135         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
46136         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
46137         (re_node_set_init_copy, re_node_set_add_intersect):
46138         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
46139         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
46140         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
46141         (re_acquire_state, re_acquire_state_context, register_state):
46142         (create_ci_newstate, create_cd_newstate, free_state):
46143         Likewise.
46144         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
46145         re_search_2):
46146         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
46147         (re_search_internal, prune_impossible_nodes):
46148         (acquire_init_state_context, check_matching, static):
46149         (check_halt_node_context, check_halt_state_context, proceed_next_node):
46150         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
46151         (update_regs, sift_states_backward, build_sifted_states):
46152         (clean_state_log_if_needed, merge_state_array):
46153         (update_cur_sifted_state, add_epsilon_src_nodes):
46154         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
46155         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
46156         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
46157         (find_recover_state, check_subexp_matching_top, transit_state_mb):
46158         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
46159         (check_arrival, check_arrival_add_next_nodes):
46160         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
46161         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
46162         (check_node_accept_bytes, check_node_accept, extend_buffers):
46163         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
46164         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
46165         (sift_ctx_init):
46166         Likewise.
46167
46168         * lib/regex_internal.h:
46169         (re_string_allocate, re_string_construct, re_string_reconstruct):
46170         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
46171         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
46172         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
46173         (re_string_context_at, re_string_peek_byte_case):
46174         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
46175         is defined, since we now use prototypes always.
46176
46177         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
46178         C89 or better.  All uses removed.
46179
46180 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
46181
46182         * config/srclist.txt: Add glibc bugs 1220-1227.
46183
46184 2005-08-20  Jim Meyering  <jim@meyering.net>
46185
46186         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
46187         of unused local, dfa.
46188
46189 2005-08-20  Bruno Haible  <bruno@clisp.org>
46190
46191         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
46192
46193 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
46194
46195         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
46196         (re_node_set_insert_last, re_dfa_add_node):
46197         Rename local variables to avoid GCC shadowing warnings.
46198
46199 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
46200
46201         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
46202         [defined lint]: Suppress bogus uninitialized-variable warnings.
46203
46204         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
46205         and let the caller return REG_ESPACE if out of space.  This
46206         removes an uninitialied-variable warning with GCC 4.0.1, and also
46207         avoids taking the address of a local variable.  All callers
46208         changed.
46209
46210 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
46211
46212         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
46213         $LIBCSRC/posix/regexec.c.
46214         Add glibc bug 1217 for regcomp.c.
46215
46216 2005-08-19  Jim Meyering  <jim@meyering.net>
46217
46218         * lib/regexec.c (proceed_next_node): Redo local variables to
46219         avoid GCC shadowing warnings.
46220
46221 2005-08-18  Bruno Haible  <bruno@clisp.org>
46222
46223         * lib/strstr.c (strstr): Fix return value in multibyte case.
46224         * lib/strcasestr.c (strcasestr): Likewise.
46225
46226 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
46227
46228         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
46229
46230 2005-08-17  Jim Meyering  <jim@meyering.net>
46231
46232         Make the %s format (seconds since the epoch) work for a negative
46233         number and when used with a zero-padded field width, e.g. %015s.
46234
46235         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
46236         label so that it precedes the code to set `digits'.  Otherwise,
46237         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
46238         print `00-22'.  Now, it prints `-0022', as it should.
46239
46240 2005-08-17  Bruno Haible  <bruno@clisp.org>
46241
46242         * modules/strstr (Files): Add m4/mbrtowc.m4.
46243         (Depends-on): Add mbuiter.
46244
46245 2005-08-17  Bruno Haible  <bruno@clisp.org>
46246
46247         * modules/strcasestr: New file.
46248         * MODULES.html.sh (String handling, based on ANSI C 89): Add
46249         strcasestr.
46250
46251 2005-08-17  Bruno Haible  <bruno@clisp.org>
46252
46253         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
46254
46255 2005-08-17  Bruno Haible  <bruno@clisp.org>
46256
46257         * modules/mbuiter: New file.
46258         * MODULES.html.sh (Extended multibyte and wide character utilities):
46259         Add mbuiter.
46260
46261 2005-08-17  Bruno Haible  <bruno@clisp.org>
46262
46263         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
46264         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
46265
46266 2005-08-17  Bruno Haible  <bruno@clisp.org>
46267
46268         * m4/strcasestr.m4: New file.
46269
46270 2005-08-17  Bruno Haible  <bruno@clisp.org>
46271
46272         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
46273         * lib/strstr.c: Completely rewritten, with multibyte locale support.
46274
46275 2005-08-17  Bruno Haible  <bruno@clisp.org>
46276
46277         * lib/strcasestr.h: New file.
46278         * lib/strcasestr.c: New file.
46279
46280 2005-08-17  Bruno Haible  <bruno@clisp.org>
46281
46282         * lib/strcasecmp.c: Use mbuiter.h.
46283
46284 2005-08-17  Bruno Haible  <bruno@clisp.org>
46285
46286         * lib/mbuiter.h: New file.
46287
46288 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
46289
46290         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
46291         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
46292         and gl_GETOPT are both invoked via different paths (as happens
46293         with GNU tar CVS because it uses both argp and getopt), the former
46294         wins.
46295
46296 2005-08-16  Bruno Haible  <bruno@clisp.org>
46297
46298         * modules/tls: New file.
46299         * MODULES.html.sh (Multithreading): Add tls.
46300
46301 2005-08-16  Bruno Haible  <bruno@clisp.org>
46302
46303         * modules/strnlen1: New file.
46304         * MODULES.html.sh (String handling): Add strnlen1.
46305
46306 2005-08-16  Bruno Haible  <bruno@clisp.org>
46307
46308         * modules/strcase (Files): Add m4/mbrtowc.m4.
46309         (Depends-on): Add strnlen1, mbchar.
46310
46311 2005-08-16  Bruno Haible  <bruno@clisp.org>
46312
46313         * modules/mbiter: New file.
46314         * MODULES.html.sh (Extended multibyte and wide character utilities):
46315         Add mbiter.
46316
46317 2005-08-16  Bruno Haible  <bruno@clisp.org>
46318
46319         * modules/mbfile: New file.
46320         * MODULES.html.sh (Extended multibyte and wide character utilities):
46321         Add mbfile.
46322
46323 2005-08-16  Bruno Haible  <bruno@clisp.org>
46324
46325         * modules/mbchar: New file.
46326         * MODULES.html.sh (Extended multibyte and wide character utilities):
46327         New section.
46328
46329 2005-08-16  Bruno Haible  <bruno@clisp.org>
46330
46331         * m4/tls.m4: New file, from GNU gettext.
46332
46333 2005-08-16  Bruno Haible  <bruno@clisp.org>
46334
46335         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
46336         always.
46337         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
46338
46339 2005-08-16  Bruno Haible  <bruno@clisp.org>
46340
46341         * m4/mbiter.m4: New file.
46342
46343 2005-08-16  Bruno Haible  <bruno@clisp.org>
46344
46345         * m4/mbfile.m4: New file.
46346
46347 2005-08-16  Bruno Haible  <bruno@clisp.org>
46348
46349         * m4/mbchar.m4: New file.
46350
46351 2005-08-16  Bruno Haible  <bruno@clisp.org>
46352
46353         * lib/tls.h: New file, from GNU gettext.
46354         * lib/tls.c: New file, from GNU gettext.
46355
46356 2005-08-16  Bruno Haible  <bruno@clisp.org>
46357
46358         * lib/strnlen1.h: New file.
46359         * lib/strnlen1.c: New file.
46360
46361 2005-08-16  Bruno Haible  <bruno@clisp.org>
46362
46363         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
46364         (mbi_init): Update.
46365         (mbi_avail, mbi_advance): Let the iteration end before the terminating
46366         NUL byte, not after it.
46367
46368 2005-08-16  Bruno Haible  <bruno@clisp.org>
46369
46370         * lib/strcase.h (strcasecmp): Add note in comments.
46371         * lib/strncasecmp.c: Use code from strcasecmp.c.
46372         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
46373         (strcasecmp): Work correctly in multibyte locales.
46374
46375 2005-08-16  Bruno Haible  <bruno@clisp.org>
46376
46377         * lib/mbiter.h: New file.
46378
46379 2005-08-16  Bruno Haible  <bruno@clisp.org>
46380
46381         * lib/mbfile.h: New file.
46382
46383 2005-08-16  Bruno Haible  <bruno@clisp.org>
46384
46385         * lib/mbchar.h: New file.
46386         * lib/mbchar.c: New file.
46387
46388 2005-08-16  Bruno Haible  <bruno@clisp.org>
46389
46390         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
46391         the valid ones. Makes the comparison operations transitive:
46392         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
46393         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
46394
46395 2005-08-15  Simon Josefsson  <jas@extundo.com>
46396
46397         * modules/ssize_t (License): Change to 'unlimited'.
46398
46399         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
46400
46401 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
46402
46403         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
46404         Add comments for each pending glibc patch.
46405
46406 2005-08-15  Bruno Haible  <bruno@clisp.org>
46407
46408         * lib/regex.h (__restrict_arr): Don't define to __restrict if
46409         __cplusplus is defined.
46410
46411 2005-08-14  Jim Meyering  <jim@meyering.net>
46412
46413         Sync from coreutils.
46414
46415         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
46416         Use the hash-table-based cycle-detection code not just when
46417         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
46418         Reported by James Youngman in
46419         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
46420         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
46421         FTS_TIGHT_CYCLE_CHECK.
46422         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
46423         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
46424         once again.
46425         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
46426         * lib/fts.c (fd_safer): Remove decl.
46427         Include fcntl--.h rather than unistd-safer.h
46428         (fts_safe_changedir): Don't call fd_safer; no longer needed
46429         now that we include fcntl--.h.
46430
46431 2005-08-12  Simon Josefsson  <jas@extundo.com>
46432
46433         * modules/getndelim2: Use ssize_t module.
46434         * modules/getnline: Likewise.
46435         * modules/safe-read: Likewise.
46436         * modules/xreadlink: Likewise.
46437
46438         * modules/ssize_t: New file.
46439
46440 2005-08-12  Simon Josefsson  <jas@extundo.com>
46441
46442         * m4/readline.m4: Look for termcap, curses or ncurses if required.
46443
46444 2005-08-12  Simon Josefsson  <jas@extundo.com>
46445
46446         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
46447         ssize_t.
46448
46449 2005-08-12  Simon Josefsson  <jas@extundo.com>
46450
46451         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
46452         readline, getdelim and check_version.
46453         (Support for systems lacking ISO C 99: Sizes of integer types):
46454         Add size_max.
46455
46456 2005-08-12  Bruno Haible  <bruno@clisp.org>
46457
46458         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
46459
46460 2005-08-11  Simon Josefsson  <jas@extundo.com>
46461
46462         * modules/readline: New file.
46463
46464         * modules/strnlen (Files): Add strnlen.h.
46465
46466 2005-08-11  Simon Josefsson  <jas@extundo.com>
46467
46468         * m4/readline.m4: New file.
46469
46470 2005-08-11  Simon Josefsson  <jas@extundo.com>
46471
46472         * lib/readline.h, readline.c: New file.
46473
46474 2005-08-11  Simon Josefsson  <jas@extundo.com>
46475
46476         * doc/gnulib.texi (Initial import, Finishing touches): Mention
46477         gl_AVOID.
46478
46479 2005-08-11  Bruno Haible  <bruno@clisp.org>
46480
46481         * lib/strnlen.h (strnlen): Change parameter name to match comment.
46482
46483 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
46484
46485         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
46486
46487 2005-08-10  Simon Josefsson  <jas@extundo.com>
46488
46489         * tests/test-iconvme.c: New file.
46490
46491 2005-08-10  Simon Josefsson  <jas@extundo.com>
46492
46493         * m4/strnlen.m4: New file.
46494
46495         * m4/strndup.m4: Don't check for strnlen declaration, done in
46496         strnlen.m4.
46497
46498 2005-08-10  Simon Josefsson  <jas@extundo.com>
46499
46500         * lib/strndup.c: Use strnlen.h.
46501
46502         * lib/strnlen.h: New file.
46503
46504 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
46505
46506         * README: Typos.
46507
46508 2005-08-02  Simon Josefsson  <jas@extundo.com>
46509
46510         * modules/readline: New file.
46511
46512 2005-08-02  Simon Josefsson  <jas@extundo.com>
46513
46514         * modules/getdelim: New file.
46515
46516         * modules/getline: Rewrite, don't use getndelim2.
46517
46518 2005-08-02  Simon Josefsson  <jas@extundo.com>
46519
46520         * m4/getline.m4: Separate out getdelim stuff into separate module.
46521
46522         * m4/getdelim.m4: New file.
46523
46524 2005-08-02  Simon Josefsson  <jas@extundo.com>
46525
46526         * lib/getline.h, getline.c: Rewrite.
46527
46528         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
46529
46530 2005-07-31  Bruno Haible  <bruno@clisp.org>
46531
46532         * lib/lock.h (gl_lock_initializer): New macro.
46533         (gl_lock_define_initialized): Use it.
46534         (gl_rwlock_initializer): New macro.
46535         (gl_rwlock_define_initialized): Use it.
46536         (gl_recursive_lock_initializer): New macro.
46537         (gl_recursive_lock_define_initialized): Use it.
46538
46539 2005-07-30  Karl Berry  <karl@gnu.org>
46540
46541         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
46542         Report from Ben Pfaff, regarding getopt.
46543
46544 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
46545
46546         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
46547         normal way.
46548         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
46549         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
46550         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
46551         (gl_GETOPT): Use the new macros.  Most of the implementation
46552         is moved to the new macros.  This is for programs like Emacs
46553         that don't want all the functionality of gl_GETOPT.
46554
46555 2005-07-26  Bruno Haible  <bruno@clisp.org>
46556
46557         * m4/lock.m4: Update from GNU gettext.
46558
46559 2005-07-26  Bruno Haible  <bruno@clisp.org>
46560
46561         * lib/lock.h: Update from GNU gettext.
46562         * lib/lock.c: Update from GNU gettext.
46563
46564 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
46565
46566         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
46567         obsolescent AC_TRY_RUN.  Include the default includes files, for
46568         'exit'.
46569
46570 2005-07-24  Bruno Haible  <bruno@clisp.org>
46571
46572         * modules/visibility: New file.
46573         * MODULES.html.sh (Misc): Add visibility.
46574
46575 2005-07-24  Bruno Haible  <bruno@clisp.org>
46576
46577         * m4/visibility.m4: New file.
46578
46579 2005-07-24  Bruno Haible  <bruno@clisp.org>
46580
46581         * doc/visibility.texi: New file.
46582
46583 2005-07-22  Bruno Haible  <bruno@clisp.org>
46584
46585         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
46586         $(ALLOCA_H), redundant through BUILT_SOURCES.
46587         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
46588         redundant through BUILT_SOURCES.
46589         * modules/byteswap (Makefile.am): Remove explicit dependency on
46590         $(BYTESWAP_H), redundant through BUILT_SOURCES.
46591         * modules/fnmatch (Makefile.am): Remove explicit dependency on
46592         $(FNMATCH_H), redundant through BUILT_SOURCES.
46593         * modules/getopt (Makefile.am): Remove explicit dependency on
46594         $(GETOPT_H), redundant through BUILT_SOURCES.
46595         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
46596         redundant through BUILT_SOURCES.
46597         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
46598         redundant through BUILT_SOURCES.
46599         * modules/stdbool (Makefile.am): Remove explicit dependency on
46600         $(STDBOOL_H), redundant through BUILT_SOURCES.
46601         * modules/stdint (Makefile.am): Remove explicit dependency on
46602         $(STDINT_H), redundant through BUILT_SOURCES.
46603         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
46604         Remove explicit dependency on $(SYSEXITS_H).
46605         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
46606
46607 2005-07-18  Simon Josefsson  <jas@extundo.com>
46608
46609         * lib/check-version.c (check_version): Accept identical versions too.
46610
46611 2005-07-18  Bruno Haible  <bruno@clisp.org>
46612
46613         * modules/lock: New file.
46614         * MODULES.html.sh (Multithreading): New section.
46615
46616 2005-07-18  Bruno Haible  <bruno@clisp.org>
46617
46618         * m4/lock.m4: New file, from GNU gettext.
46619
46620 2005-07-18  Bruno Haible  <bruno@clisp.org>
46621
46622         * lib/lock.h: New file, from GNU gettext.
46623         * lib/lock.c: New file, from GNU gettext.
46624
46625 2005-07-18  Bruno Haible  <bruno@clisp.org>
46626
46627         * lib/lock.h (gl_once_t): New type.
46628         (gl_once_define, gl_once): New macros.
46629         * lib/lock.c (fresh_once): New variable.
46630         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
46631         functions.
46632
46633 2005-07-16  Simon Josefsson  <jas@extundo.com>
46634
46635         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
46636         workaround, suggested by Bruno.
46637
46638 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
46639
46640         * modules/xalloc (Depends-on): Add xalloc-die.
46641         * modules/xvasprintf (Depends-on): Add xalloc-die.
46642
46643 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
46644
46645         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
46646         with a minor change.
46647
46648 2005-07-15  Bruno Haible  <bruno@clisp.org>
46649
46650         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
46651         When using lib/poll.c, define poll as rpl_poll.
46652
46653 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
46654
46655         * modules/argp (Depends-on): Remove unlocked-io.
46656
46657 2005-07-14  Derek Price  <derek@ximbiot.com>
46658
46659         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
46660         for glob symlink bug.
46661
46662 2005-07-14  Bruno Haible  <bruno@clisp.org>
46663
46664         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
46665         Instead, test for *_unlocked function declarations directly.
46666
46667 2005-07-11  Simon Josefsson  <jas@extundo.com>
46668
46669         * modules/size_max: New file.
46670
46671         * modules/xsize: Depend on size_max module for size_max.m4.
46672
46673 2005-07-11  Simon Josefsson  <jas@extundo.com>
46674
46675         * lib/size_max.h: New file.
46676
46677 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
46678
46679         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
46680         copyright symbol and the year.
46681         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
46682         (version_etc_va): Use parameterized copyright notice.
46683         Reword to conform to the current GNU coding standards.
46684
46685 2005-07-11  Karl Berry  <karl@gnu.org>
46686
46687         * doc/gnulib.texi (Quoting): new node.
46688         (Initial import): more info, from Patrice.
46689
46690 2005-07-11  Bruno Haible  <bruno@clisp.org>
46691
46692         * gnulib-tool (func_usage): Document option --avoid.
46693         (Command line options): Handle --avoid.
46694         (func_acceptable): New function.
46695         (func_modules_transitive_closure): Use it.
46696
46697 2005-07-11  Bruno Haible  <bruno@clisp.org>
46698
46699         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
46700         Reported by Jim Meyering.
46701
46702 2005-07-10  Bruno Haible  <bruno@clisp.org>
46703
46704         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
46705         Needed when size_t is smaller than 'unsigned int'.
46706         Reported by Paul Eggert.
46707
46708 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
46709
46710         * modules/argp (Depends-on): Add unlocked-io
46711
46712 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
46713
46714         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
46715         block of defines.
46716
46717 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
46718
46719         * config/srclist.txt: Comment out regcomp.c, since we have a porting
46720         fix now.
46721
46722 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
46723         and Paul Eggert  <eggert@cs.ucla.edu>
46724
46725         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
46726         in wint_t, not wchar_t.  Remove now-unnecessary cast.
46727
46728 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
46729
46730         * modules/regex (Files): Add lib/regex_internal.c,
46731         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
46732         (Depends-on): Add extensions.
46733         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
46734
46735 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
46736
46737         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
46738         pathconf.
46739         * m4/same.m4 (gl_SAME): Likewise.
46740         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
46741
46742         * m4/regex.m4: Adjust to new libc regex implementation.
46743         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
46744         all the .c and .h parts of (the new) regex.
46745         Quote the m4 stuff better.
46746         Check for RE_ICASE bug of old gnulib.
46747         Check for REG_STARTEND of recent libc.
46748         Rename local variables from jm_* to gl_*.
46749         Quote operand of "test -f".
46750         Say "recent enough" version of libc, not "version 2".
46751         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
46752         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
46753         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
46754         Remove check for btowc, isascii.
46755         Require AM_LANGINFO_CODESET.
46756
46757 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
46758
46759         * lib/regex.c, regex.h: Sync from libc.
46760         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
46761         * lib/regexec.c:
46762         New files, synced from libc, except that regex_internal.h
46763         currently has a small porting fix.
46764
46765 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
46766
46767         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
46768         regex_internal.c, regexec.c.
46769         Add regex_internal.h too, but as a comment, since the libc version
46770         is currently broken in gnulib mode.
46771
46772 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
46773
46774         Support programs like Emacs that use gnulib but not gettext.
46775         * MODULES.html.sh (Internationalization functions): Add gettext-h.
46776         * modules/gettext-h: New file.
46777         * modules/gettext (Files): Remove lib/gettext.h.
46778         (Depends-on): Add gettext-h.
46779         (Makefile.am): Remove lib_SOURCES.
46780         * modules/argmatch, modules/c-stack, modules/closeout:
46781         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
46782         * modules/execute, modules/file-type, modules/getaddrinfo:
46783         * modules/getopt, modules/human, modules/javacomp:
46784         * modules/javaexec, modules/mkdir-p, modules/obstack:
46785         * modules/openat, modules/pagealign_alloc, modules/pipe:
46786         * modules/quotearg, modules/regex, modules/rpmatch:
46787         * modules/unicodeio, modules/userspec, modules/version-etc:
46788         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
46789         * modules/xsetenv:
46790         Depend on gettext-h, not gettext.
46791
46792 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
46793
46794         * gnulib-tool (func_import): Add support for 'public domain' license.
46795         * modules/alloca, modules/atexit, modules/memmove:
46796         Now public domain, not GPL.
46797         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
46798         * modules/realloc, modules/strerror, modules/strtod:
46799         Now LGPL, not GPL.
46800
46801 2005-07-05  Bruno Haible  <bruno@clisp.org>
46802
46803         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
46804         autoconf CVS. Needed for mingw.
46805
46806 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
46807
46808         Remove the dependency of the strftime module on the tzset module.
46809         * modules/strftime (Depends-on): Remove dependency on tzset.
46810
46811 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
46812
46813         Remove the dependency of the strftime module on the tzset module.
46814         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
46815         gl_FUNC_TZSET_CLOBBER.
46816
46817 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
46818
46819         Remove the dependency of the strftime module on the tzset module.
46820         * lib/strftime.c (my_strftime)
46821         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
46822         Copy the input structure, to work around some of the bug with
46823         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
46824         Solaris releases, you should also use the tzset module, but we won't
46825         require it as a dependency any more since we don't want LGPLed code
46826         to depend on GPLed code.
46827
46828 2005-07-02  Jim Meyering  <jim@meyering.net>
46829
46830         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
46831         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
46832         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
46833         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
46834
46835 2005-07-02  Jim Meyering  <jim@meyering.net>
46836
46837         * lib/backupfile.c (backup_args): Change a `0' to NULL.
46838
46839 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
46840
46841         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
46842         declares only 'struct timespec;' (!).
46843
46844 2005-07-01  Jim Meyering  <jim@meyering.net>
46845
46846         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
46847         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
46848         * lib/save-cwd.c, tempname.c:
46849         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
46850         and don't include <sys/file.h>).
46851
46852 2005-06-29  Jim Meyering  <jim@meyering.net>
46853
46854         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
46855         type name.  Use the variable name instead.
46856         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
46857         Likewise.
46858
46859 2005-06-28  Simon Josefsson  <jas@extundo.com>
46860
46861         * modules/check-version (Files): Add check-version.m4.
46862
46863 2005-06-28  Simon Josefsson  <jas@extundo.com>
46864
46865         * m4/check-version.m4: New file, suggested by Jim Meyering
46866         <jim@meyering.net>.
46867
46868 2005-06-28  Simon Josefsson  <jas@extundo.com>
46869
46870         * lib/check-version.h, lib/check-version.c: New files.
46871
46872 2005-06-28  Simon Josefsson  <jas@extundo.com>
46873
46874         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
46875         collision with global variable.  Better indentation.  Don't
46876         increment buffer pointer beyond buffer end.  Based on comments
46877         from Paul Eggert <eggert@cs.ucla.edu>.
46878
46879         * lib/base64.h: Indent.
46880
46881 2005-06-28  Simon Josefsson  <jas@extundo.com>
46882
46883         * doc/gnulib.texi (Library version handling): New section.
46884
46885 2005-06-28  Jim Meyering  <jim@meyering.net>
46886
46887         * check-module (find_included_lib_files): Hard-code another
46888         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
46889         but modules/fts-lgpl (correctly) does not list those files.
46890
46891         * modules/canonicalize (Files): Add lib/pathmax.h.
46892
46893 2005-06-25  Simon Josefsson  <jas@extundo.com>
46894
46895         * modules/check-version: New file.
46896
46897 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
46898
46899         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
46900         initializer of struct addrinfo, as an indication that we don't
46901         care how many members the structure has.
46902
46903 2005-06-24  Derek Price  <derek@ximbiot.com>
46904         and Bruno Haible  <bruno@clisp.org>
46905
46906         Remove stat module & update lstat.
46907         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
46908         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
46909         * m4/stat.m4: Remove this file.
46910
46911 2005-06-24  Derek Price  <derek@ximbiot.com>
46912         and Bruno Haible  <bruno@clisp.org>
46913
46914         Remove stat module & update lstat.
46915         * lib/stat.c: Remove this file...
46916         (slash_aware_lstat): ...moving this content and its support...
46917         * lib/lstat.c (rpl_lstat): ...into here.
46918         * lib/lstat.h: New file.
46919
46920 2005-06-24  Derek Price  <derek@ximbiot.com>
46921         and Bruno Haible  <bruno@clisp.org>
46922
46923         Remove stat module & update lstat.
46924         * config/srclist.txt (libc sources): Remove stat.
46925
46926 2005-06-24  Derek Price  <derek@ximbiot.com>
46927         and Bruno Haible  <bruno@clisp.org>
46928
46929         Remove stat module & update lstat.
46930         * MODULES.html.sh (stat): Remove.
46931         * MODULES.html: Regenerated.
46932         * modules/lstat (Description): Correct function name.
46933         (Files): Add "lstat.h".
46934         (Depends-on): Remove stat, add xalloc, stat-macros.
46935         * modules/stat: Remove this file.
46936         (Include): Add "lstat.h", remove <sys/stat.h>.
46937
46938 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
46939
46940         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
46941         (ranged_convert): Don't save conversion in a temporary struct.
46942         This causes a warning with GCC 4.0.0, and anyway in the typical
46943         case it's not worth the extra 100 bytes or so of code.
46944         (ranged_convert, __mktime_internal): When calling a function via a
46945         pointer P, use P () rather than (*P) (), as we now assume C89 or
46946         better.
46947
46948 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
46949
46950         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
46951         "who -r" failed to give output.  Problem reported by Tim Waugh.
46952
46953         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
46954         (xcalloc): Use it to avoid needless tests.
46955         Problem reported by Jim Meyering.
46956
46957 2005-06-20  Derek Price  <derek@ximbiot.com>
46958
46959         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
46960         unnecessary for Autoconfs > 2.59c.
46961
46962 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
46963
46964         * lib/argp.h (__option_is_short): Check upper limit of
46965         __key. Isprint() requires its argument to have the value
46966         of an unsigned char or EOF.
46967
46968 2005-06-16  Jim Meyering  <jim@meyering.net>
46969
46970         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
46971         when either N or S is zero.
46972
46973 2005-06-16  Derek Price  <derek@ximbiot.com>
46974
46975         * m4/bison.m4: Declare YACC & YFLAGS precious.
46976
46977 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
46978
46979         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
46980         multibyte string or pattern, fall back on unibyte matching.
46981         Problem reported by James Youngman.
46982
46983 2005-06-08  Bruno Haible  <bruno@clisp.org>
46984
46985         * modules/csharpcomp: New file.
46986         * MODULES.html.sh (C#): Add csharpcomp.
46987
46988 2005-06-08  Bruno Haible  <bruno@clisp.org>
46989
46990         * m4/csharpcomp.m4: New file, from GNU gettext.
46991
46992 2005-06-08  Bruno Haible  <bruno@clisp.org>
46993
46994         * lib/csharpcomp.h: New file, from GNU gettext.
46995         * lib/csharpcomp.c: New file, from GNU gettext.
46996         * lib/csharpcomp.sh.in: New file, from GNU gettext.
46997
46998 2005-06-08  Bruno Haible  <bruno@clisp.org>
46999
47000         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
47001         warning on mingw.
47002
47003 2005-06-07  Derek Price  <derek@ximbiot.com>
47004
47005         Sync from CVS.
47006         * lib/glob_.h: Indent nested #ifdef.
47007
47008 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
47009
47010         Sync from coreutils.
47011         Use "file name" when talking about file names, instead of "filename"
47012         or "path", as per the GNU coding standards.
47013         * lib/mkdir-p.c: Renamed from makepath.c.
47014         (make_dir_parents): Renamed from make_path.  All callers changed.
47015         * lib/mkdir-p.h: Likewise.  All includers changed.
47016         * lib/filenamecat.c: Renamed from path-concat.c.
47017         (file_name_concat): Renamed from path_concat.  All callers changed.
47018         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
47019         * lib/filenamecat.h: Likewise.  All includers changed.
47020         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
47021         in comments or local variable names.
47022         * lib/basename.c: Likewise.
47023         * lib/canonicalize.c, canonicalize.h: Likewise.
47024         * lib/dirname.c, dirname.h: Likewise.
47025         * lib/euidaccess.c: Likewise.
47026         * lib/exclude.c: Likewise
47027         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
47028         * lib/fsusage.c, fsuage.h: Likewise.
47029         * lib/fts.c, fts_.h: Likewise.
47030         * lib/getcwd.c: Likewise.
47031         * lib/getloadavg.c: Likewise.
47032         * lib/mkstemp.c: Likewise.
47033         * lib/mountlist.c, mountlist.h: Likewise.
47034         * lib/openat.c, openat.h: Likewise.
47035         * lib/readlink-stub.c: Likewise.
47036         * lib/readutmp.c, readutmp.h: Likewise.
47037         * lib/rename.c: Likewise.
47038         * lib/rmdir.c: Likewise.
47039         * lib/same.c: Likewise.
47040         * lib/savedir.c: Likewise.
47041         * lib/stripslash.c: Likewise.
47042         * lib/tempname.c: Likewise.
47043         * lib/xreadlink.c: Likewise.
47044         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
47045         All uses changed.
47046         * lib/exclude.h: Likewise.
47047
47048         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
47049         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
47050         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
47051         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
47052         * lib/pathmax.h: Include <limits.h> unconditionally, since other
47053         files have been getting away with it for years (MORE/BSD 4.3
47054         is extinct now).
47055         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
47056         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
47057
47058         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
47059         Define to 256, not 255, as per modern POSIX.
47060
47061 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
47062
47063         Sync from coreutils.
47064         Use "file name" when talking about file names, instead of "filename"
47065         or "path", as per the GNU coding standards.
47066         * MODULES.html.sh: mkdir-p renamed from makepath.
47067         filenamecat renamed from path-concat.
47068         * modules/filenamecat: Renamed from modules/path-concat.
47069         (Files): filenamecat.h and filenamecat.c renamed from
47070         path-concat.h and path-concat.c.
47071         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
47072         (Include): filenamecat.h, not path-concat.h.
47073         * modules/mkdir-p: Renamed from modules/makepath.
47074         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
47075         makepath.c.
47076         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
47077         (Include): mkdir-p.h, not makepath.h.
47078
47079 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
47080
47081         Sync from coreutils.
47082         * m4/mkdir-p.m4: Renamed from makepath.m4.
47083         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
47084         Rename files from makepath.c to mkdir-p.c, and from
47085         makepath.h to mkdir-p.h.
47086         * m4/filenamecat.m4: Renamed from path-concat.m4.
47087         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
47088         Rename files from path-concat.c to filenamecat.c,
47089         and from path-concat.h to filenamecat.h.
47090         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
47091         "file name" in local variables or comments.
47092         * m4/rename.m4: Likewise.
47093
47094 2005-06-01  Bruno Haible  <bruno@clisp.org>
47095
47096         * modules/csharpexec: New file.
47097         * MODULES.html.sh (C#): New section.
47098
47099 2005-06-01  Bruno Haible  <bruno@clisp.org>
47100
47101         * m4/csharp.m4: New file, from GNU gettext.
47102         * m4/csharpexec.m4: New file, from GNU gettext.
47103
47104 2005-06-01  Bruno Haible  <bruno@clisp.org>
47105
47106         * lib/csharpexec.h: New file, from GNU gettext.
47107         * lib/csharpexec.c: New file, from GNU gettext.
47108         * lib/csharpexec.sh.in: New file, from GNU gettext.
47109
47110 2005-05-31  Derek Price  <derek@ximbiot.com>
47111             Paul Eggert  <eggert@cs.ucla.edu>
47112
47113         Sync from cvs.
47114         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
47115
47116 2005-05-31  Derek Price  <derek@ximbiot.com>
47117             Paul Eggert  <eggert@cs.ucla.edu>
47118
47119         Sync from cvs.
47120         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
47121
47122 2005-05-29  Derek Price  <derek@ximbiot.com>
47123
47124         * config/srclist.txt (glob_.h, glob.c): Add these files.
47125
47126 2005-05-29  Derek Price  <derek@ximbiot.com>
47127
47128         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
47129         * modules/glob: New file.
47130         * modules/getlogin_r: Add link to POSIX spec in description.
47131
47132 2005-05-29  Derek Price  <derek@ximbiot.com>
47133             Paul Eggert  <eggert@cs.ucla.edu>
47134
47135         * m4/glob.m4: New file.
47136
47137 2005-05-29  Derek Price  <derek@ximbiot.com>
47138             Paul Eggert  <eggert@cs.ucla.edu>
47139
47140         * lib/glob_.h, lib/glob.c: New files.
47141
47142 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
47143
47144         * modules/fts (Files): Remove m4/inttypes-pri.m4.
47145         * modules/fts-lgpl (Depends-on): Remove gettext.
47146
47147 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
47148
47149         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
47150         and don't require gt_INTTYPES_PRI.
47151
47152 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
47153
47154         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
47155
47156         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
47157         the configuration hassle isn't worth it.
47158         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
47159         (LONGEST_MODIFIER, PRIuMAX): Remove.
47160
47161 2005-05-27  Bruno Haible  <bruno@clisp.org>
47162
47163         * lib/getlogin_r.h: Remove second include of <stddef.h>.
47164
47165 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
47166
47167         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
47168         _POSIX_PTHREAD_SEMANTICS for Solaris.
47169
47170 2005-05-25  Derek Price  <derek@ximbiot.com>
47171
47172         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
47173
47174 2005-05-25  Derek Price  <derek@ximbiot.com>
47175             Paul Eggert  <eggert@cs.ucla.edu>
47176
47177         * modules/getlogin_r, m4/getlogin_r.m4: New files.
47178         * lib/getlogin_r.c, getlogin_r.h: New files.
47179
47180 2005-05-25  Bruno Haible  <bruno@clisp.org>
47181             Derek Price  <derek@ximbiot.com>
47182
47183         * lib/getlogin_r.h: Simplify API documentation.
47184
47185 2005-05-23  Derek Price  <derek@ximbiot.com>
47186
47187         * modules/minmax (Files): Add m4/minmax.m4.
47188         (configure.ac): Add gl_MINMAX.
47189
47190 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
47191
47192         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
47193         so that unistd-safer.h (GPL'ed code) need not be included.
47194
47195 2005-05-22  Bruno Haible  <bruno@clisp.org>
47196
47197         * m4/minmax.m4: New file.
47198         Based on a patch by Derek Price <derek@ximbiot.com>.
47199
47200 2005-05-22  Bruno Haible  <bruno@clisp.org>
47201
47202         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
47203         (INT64_MIN): Fix definition.
47204         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
47205
47206         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
47207         NEED_SIGNED_INT_TYPES.
47208
47209         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
47210         HAVE_SYSTEM_INTTYPES.
47211
47212 2005-05-22  Bruno Haible  <bruno@clisp.org>
47213
47214         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
47215         Also include <sys/param.h> if it defines MIN, MAX.
47216         Based on a patch by Derek Price <derek@ximbiot.com>.
47217
47218 2005-05-21  Jim Meyering  <jim@meyering.net>
47219
47220         * modules/fts (Files): Add m4/inttypes-pri.m4.
47221         (Depends-on): Add lstat and remove gettext.  Alphabetize.
47222
47223 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
47224
47225         New fts module.
47226         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
47227         (setup_dir, free_dir): New functions.
47228         (enter_dir, leave_dir): Define trivial
47229         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
47230         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
47231         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
47232         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
47233         Move to fts-cycle.c.
47234         (fts_open): Use setup_dir.
47235         (fts_close): Use free_dir.
47236         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
47237         This adds a label and some gotos, but the alternatives were messier.
47238         Check for memory allocation failure when entering a dir.
47239         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
47240         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
47241         (FTS): New member fts_cycle, that is a union that contains the
47242         old active_dir_ht and cycle_state.  All uses changed to mention
47243         fts_cycle.ht and fts_cycle.state.
47244         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
47245         fts.c, with the following changes:
47246         (setup_dir, free_dir): New functions.
47247         (enter_dir): Now returns bool.  Return true if successful, false
47248         if memory exhausted.  All callers changed.
47249         Do not bother partly cleaning up on
47250         memory allocation failure; that is free_dir's job.
47251         However, free ad if hash_insert fails, to avoid memory leak.
47252         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
47253         fts->fts_options to see which union member to use.
47254
47255 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
47256
47257         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
47258         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
47259
47260 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
47261
47262         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
47263
47264 2005-05-20  Jim Meyering  <jim@meyering.net>
47265
47266         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
47267         Now a macro, to pacify GCC.
47268
47269 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
47270
47271         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
47272         of -1.
47273
47274 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
47275
47276         * lib/chown.c (rpl_chown): Return -1 on failure.
47277
47278 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
47279
47280         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
47281         Don't check for stddef.h.
47282         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
47283         don't use its results.
47284         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
47285         since we include them unconditionally.  Don't require
47286         AM_STDBOOL_H, since stdbool is a prerequisite.
47287         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
47288         since we assume C89 or better.
47289         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
47290         as we don't use their results.
47291         Don't check for fchdir, memmove, memset, strrchr, as we use
47292         them unconditionally.
47293         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
47294         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
47295
47296 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
47297
47298         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
47299         Include <stddef.h> unconditionally, since we assume C89 now.
47300         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
47301         * lib/fts.c: Include fts_.h first, to check interface.
47302         Do not include intprops.h; no longer needed.
47303         Include cycle-check.h and hash.h, since fts_.h no longer does.
47304         Remove unnecessary casts of closedir to void.
47305         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
47306         decide whether to decrement nlinks.
47307         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
47308         (FTS): Use struct hash_table * instead of Hash_table, so that
47309         we no longer need to include hash.h here.
47310
47311 2005-05-18  Jim Meyering  <jim@meyering.net>
47312
47313         * modules/dirfd (License): Change to LGPL.  Most of the code
47314         is already in the public domain.
47315
47316 2005-05-18  Jim Meyering  <jim@meyering.net>
47317
47318         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
47319         Reported by Yoann Vandoorselaere.
47320
47321 2005-05-17  Jim Meyering  <jim@meyering.net>
47322
47323         * m4/fts.m4: New file, from coreutils.
47324
47325 2005-05-17  Jim Meyering  <jim@meyering.net>
47326
47327         * lib/fts.c, lib/fts_.h: New files, from coreutils.
47328
47329 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
47330
47331         Sync from coreutils.
47332         * m4/unlinkdir.m4: New file.
47333
47334 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
47335
47336         Sync from coreutils.
47337         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
47338         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
47339         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
47340         White space changes only.
47341         * lib/makepath.c (make_path): Port to hosts where leading "//" is
47342         special.
47343         * lib/yesno.c: Include getline.h, not ctype.h.
47344         (yesno): Don't remove leading white space; POSIX doesn't allow it.
47345         Use getline to remove arbitrary restriction on response length.
47346
47347 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
47348
47349         * config/srclist-update: Spell out "Street" in FSF postal
47350         mail address; this is the style the FSF seems to prefer.
47351
47352         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
47353         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
47354         this updates FSF postal mail address.
47355
47356         Sync from coreutils.
47357         * modules/unlinkdir: New file.
47358         * modules/yesno (Depends-on): Add getline.
47359         * MODULES.html.sh (File system functions): Add unlinkdir.
47360
47361 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
47362
47363         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
47364         lib/strsep.h:
47365         Change the initial comment to refer to GPL, not LGPL.
47366         gnulib-tool will change it to LGPL as needed.
47367
47368         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
47369         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
47370         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
47371         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
47372         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
47373         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
47374         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
47375         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
47376         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
47377         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
47378         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
47379         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
47380         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
47381         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
47382         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
47383         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
47384         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
47385         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
47386         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
47387         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
47388         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
47389         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
47390         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
47391         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
47392         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
47393         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
47394         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
47395         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
47396         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
47397         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
47398         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
47399         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
47400         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
47401         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
47402         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
47403         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
47404         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
47405         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
47406         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
47407         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
47408         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
47409         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
47410         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
47411         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
47412         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
47413         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
47414         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
47415         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
47416         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
47417         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
47418         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
47419         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
47420         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
47421         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
47422         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
47423         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
47424         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
47425         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
47426         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
47427         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
47428         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
47429         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
47430         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
47431         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
47432         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
47433         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
47434         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
47435         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
47436         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
47437         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
47438         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
47439         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
47440         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
47441         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
47442         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
47443         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
47444         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
47445         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
47446         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
47447         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
47448         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
47449         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
47450         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
47451         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
47452         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
47453         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
47454         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
47455         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
47456         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
47457         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
47458         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
47459         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
47460         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
47461         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
47462         lib/yesno.c, lib/yesno.h:
47463         Update FSF postal mail address.
47464
47465 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
47466
47467         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
47468         tests/test-memmem.c, tests/test-stpncpy.c:
47469         Update FSF postal mail address.
47470
47471 2005-05-13  Bruno Haible  <bruno@clisp.org>
47472
47473         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
47474         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
47475         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
47476         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
47477         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
47478         Add support for 64-bit integers in the MSVC compiler.
47479
47480 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
47481
47482         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
47483
47484 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
47485
47486         * gnulib-tool (func_import): Sort and uniquify recommended includes.
47487
47488 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
47489
47490         * doc/getdate.texi (General date syntax): Don't say that date
47491         date --iso-8601=ns generates acceptable dates; it doesn't yet.
47492         Problem reported by Nic Ferrier.
47493
47494 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47495
47496         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
47497         specified in ai_socktype. Fix invalid ai_protocol
47498         check. ai_protocol is usually set to 0 or depending on
47499         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
47500         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
47501         ai_socktype / ai_protocol in the returned addrinfo structure.
47502
47503 2005-05-10  Simon Josefsson  <jas@extundo.com>
47504
47505         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
47506         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
47507
47508 2005-05-10  Karl Berry  <karl@gnu.org>
47509
47510         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
47511         (from http://www.gnu.org/licenses).
47512         * doc/COPYING.LIB: also rename to COPYING.LESSER.
47513         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
47514         fdl.texi suffices.
47515
47516 2005-05-10  Karl Berry  <karl@gnu.org>
47517
47518         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
47519         (COPYING.DOC): remove.
47520
47521         * config/srclist-update: new FSF address.
47522
47523 2005-05-10  Derek Price  <derek@ximbiot.com>
47524
47525         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
47526         possible.
47527
47528 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47529             Bruno Haible  <bruno@clisp.org>
47530
47531         * modules/inet_ntop: New file.
47532         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
47533         inet_ntop.
47534
47535 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47536             Bruno Haible  <bruno@clisp.org>
47537
47538         * m4/inet_ntop.m4: New file.
47539
47540 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47541             Bruno Haible  <bruno@clisp.org>
47542
47543         * lib/inet_ntop.h: New file.
47544         * lib/inet_ntop.c: New file, from glibc with modifications.
47545
47546 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
47547
47548         * modules/time_r (License): Change to LGPL.
47549         * modules/extensions (License): Change to LGPL.  Actually,
47550         the license is more permissive than that, but currently gnulib-tool
47551         doesn't know how to handle more-permissive licenses.
47552
47553         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
47554         Problem reported by Dave Love.
47555
47556 2005-05-08  Jim Meyering  <jim@meyering.net>
47557
47558         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
47559         blank.
47560
47561 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
47562
47563         * modules/argmatch (Depends-on): Add stdbool.
47564         * modules/backupfile (Depends-on): Likewise.
47565         * modules/chdir-long (Depends-on): Likewise.
47566         * modules/closeout (Depends-on): Likewise.
47567         * modules/cycle-check (Depends-on): Likewise.
47568         * modules/dirname (Depends-on): Likewise.
47569         * modules/fnmatch (Depends-on): Likewise.
47570         * modules/fsusage (Depends-on): Likewise.
47571         * modules/fwriteerror (Depends-on): Likewise.
47572         * modules/getcwd (Depends-on): Likewise.
47573         * modules/getloadavg (Depends-on): Likewise.
47574         * modules/hard-locale (Depends-on): Likewise.
47575         * modules/makepath (Depends-on): Likewise.
47576         * modules/mountlist (Depends-on): Likewise.
47577         * modules/nanosleep (Depends-on): Likewise.
47578         * modules/posixtm (Depends-on): Likewise.
47579         * modules/quotearg (Depends-on): Likewise.
47580         * modules/readtokens (Depends-on): Likewise.
47581         * modules/readtokens0 (Depends-on): Likewise.
47582         * modules/readutmp (Depends-on): Likewise.
47583         * modules/save-cwd (Depends-on): Likewise.
47584         * modules/strftime (Depends-on): Likewise.
47585         * modules/userspec (Depends-on): Likewise.
47586         * modules/utimecmp (Depends-on): Likewise.
47587         * modules/xgetcwd (Depends-on): Likewise.
47588         * modules/xnanosleep (Depends-on): Likewise.
47589         * modules/xstrtod (Depends-on): Likewise.
47590         * modules/yesno (Depends-on): Likewise.
47591
47592 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
47593
47594         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
47595         needless checks.
47596
47597 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
47598
47599         Merge from coreutils.  Among other things,
47600         add bulletproofing for cases where stdin, stdout, or stderr are closed.
47601         * lib/fd-safer.c: New file.
47602         * lib/fcntl-safer.h, open-safer.c: Remove.
47603         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
47604         * lib/dup-safer.c: Include unistd-safer.h first.
47605         Don't include errno.h.
47606         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
47607         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
47608         * lib/file-type.c: Rely on file-type.h change.
47609         * lib/getloadavg.c: Include unistd-safer.h.
47610         (getloadavg): Use safer open.
47611         * lib/getusershell.c: Include "stdio-safer.h".
47612         (getusershell): Use safer fopen.
47613         * lib/long-options.c (long_options): Use NULL rather than 0.
47614         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
47615         'free'.
47616         * lib/modechange.c: Likewise.
47617         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
47618         (MODE_DONE): New constant.
47619         (struct mode_change): Remove 'next' member.
47620         (make_node_op_equals): New function; like the old one of the
47621         same name, except it allocates an array.
47622         (mode_compile, mode_create_from_ref): Use it.
47623         (mode_compile): Allocate result as an array, not a linked list.
47624         Parse octal string ourself, so that we catch mistakes like "+0".
47625         (mode_adjust): Arg is an array, not a linked list.
47626         * lib/modechange.c: Include stat-macros.h, xalloc.h.
47627         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
47628         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
47629         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
47630         Remove.  This is now stat-macros.h's job.
47631         (talloc): Remove.  All callers replaced by xalloc, so that
47632         our invokers don't have to worry about reporting memory failures.
47633         (make_node_op_equals): Remove.
47634         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
47635         New constants.
47636         (struct mode_change): Moved here from modechange.h.
47637         (mode_append_entry): Remove.
47638         (mode_compile): Remove MASKED_OPS arg, since it encouraged
47639         apps to have incorrect behavior.  Use simpler algorithm for head
47640         and tail.  Don't futz with umask; that's now the job of mode_adjust.
47641         Detect more invalid usages rather than having somewhat-random behavior.
47642         Don't insert an "a=" action, as that leads to incorrect behavior.
47643         (mode_compile, mode_create_from_ref): Return NULL on error instead
47644         of an enum, since now there's only one way to have an error.  All
47645         callers changed.
47646         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
47647         at the correct time.  Simplify calculation of "+u" and its ilk.
47648         Don't mishandle "+X".
47649         (mode_free): Remove "register" and localize decls.
47650         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
47651         (struct mode_change): Move to modechange.c; callers don't
47652         need to see this stuff.
47653         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
47654         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
47655         (mode_change, mode_adjust): Reflect the new signatures noted above.
47656         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
47657         that might redefine system include files.
47658         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
47659         (my_usleep): Use NULL rather than (void *) 0.
47660         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
47661         Use siginterrupt to specify that system calls should be interrupted.
47662         (rpl_nanosleep): Move initialization of suspended closer to call of
47663         my_usleep.
47664         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
47665         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
47666         (desirable_utmp_entry): New function.
47667         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
47668         using x2nrealloc, to simplify logic.
47669         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
47670         size calculation.  Do not assume utmp file is a regular file.
47671         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
47672         (READ_UTMP_CHECK_PIDS): New constant.
47673         * lib/save-cwd.c: Include unistd-safer.h.
47674         (save_cwd): Use fd_safer.
47675         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
47676         [!_LIBC] Include "stat-macros.h" instead.
47677         * lib/unistd-safer.h (fd_safer): New decl.
47678
47679 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
47680
47681         * modules/getloadavg (Depends-on): Add unistd-safer.
47682         * modules/getusershell (Depends-on): Add stdio-safer.
47683         * modules/lstat (Depends-on): Remove xalloc.
47684         * modules/mkstemp (Depends-on): Add stat-macros.
47685         * modules/modechange (Depends-on): Remove xstrtol.
47686         Add stat-macros, xalloc.
47687         * modules/save-cwd (Depends-on): Add unistd-safer.
47688         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
47689         * modules/unistd-safer (Files): Add lib/fd-safer.c
47690         (Makefile.am): Remove lib_SOURCES.
47691
47692         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
47693         Remove fcntl-safer; unistd-safer supersedes it.
47694
47695 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
47696
47697         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
47698         AC_HEADER_STAT.
47699         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
47700         (gl_PREREQ_CHOWN): Remove.
47701         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
47702         it.  Don't require AC_HEADER_STAT.
47703         (gl_PREREQ_LSTAT): Remove.
47704         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
47705         Don't require AC_HEADER_STAT.
47706         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
47707         (gl_PREREQ_RMDIR): Remove.
47708         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
47709         mention stat-macros.h or AC_HEADER_STAT, since we'll make
47710         the stat-macros module a prerequisite.
47711         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
47712         * m4/filemode.m4 (gl_FILEMODE): Likewise.
47713         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
47714         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
47715         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
47716         variable names.
47717         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
47718         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
47719         variable prefixes.
47720         * m4/fcntl-safer.m4: Remove.
47721         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
47722         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
47723         Invoke gl_PREREQ_FD_SAFER.
47724         (gl_PREREQ_FD_SAFER): New macro.
47725         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
47726         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
47727         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
47728         Remove duplicate call to AC_LIBOBJ(readutmp).
47729         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
47730
47731         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
47732         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
47733
47734 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
47735
47736         * MODULES.html.sh (Misc): Add byteswap.
47737
47738 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
47739
47740         * modules/getcwd (Depends-on): Add extensions.
47741         * modules/openat (Depends-on): Likewise.
47742
47743 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
47744
47745         * modules/byteswap: New file.
47746
47747 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
47748
47749         * m4/byteswap.m4: New file.
47750
47751 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
47752
47753         * lib/byteswap_.h: New file.
47754
47755 2005-04-25  Karl Berry  <karl@gnu.org>
47756
47757         * m4/gettext.m4: Update from GNU gettext 0.14.4.
47758
47759 2005-04-25  Albert Chin  <china@thewrittenword.com>
47760
47761         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
47762         Toolkit C bug.
47763
47764 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
47765
47766         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
47767         (func_ln_if_changed) Remove forcibly for no error message
47768         in case file does not exist.
47769
47770 2005-04-19  Simon Josefsson  <jas@extundo.com>
47771
47772         * gnulib-tool (Options): Make --symlink mean --symbolic.
47773
47774 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
47775
47776         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
47777
47778 2005-04-16  Simon Josefsson  <jas@extundo.com>
47779
47780         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
47781
47782 2005-04-15  Simon Josefsson  <jas@extundo.com>
47783
47784         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
47785
47786 2005-04-15  Simon Josefsson  <jas@extundo.com>
47787
47788         * gnulib-tool: Rename --symlink to --symbolic.
47789
47790 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
47791
47792         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
47793         symbolic links to files instead of copying/moving.  Add --aux-dir,
47794         specifying directory relative --dir where auxiliary build tools
47795         are placed.
47796
47797 2005-04-14  Bruno Haible  <bruno@clisp.org>
47798
47799         * modules/allocsa (License): Change to LGPL.
47800         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
47801
47802 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
47803
47804         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
47805         that "UTC +1 second" continues to work.  Problem reported
47806         by Dmitry V. Levin.
47807         (relunit_snumber): New rule.
47808         (relunit): Use it.
47809
47810 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
47811
47812         * lib/getdate.y (universal_time_zone_table): New constant.
47813         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
47814         universal_time_zone_table.
47815         (lookup_zone): Prefer universal_time_zone_table to
47816         local_time_zone_table, so that "GMT" time stamps are allowed in
47817         London during the summer.  Problem reported by Ian Abbott.
47818
47819 2005-04-12  Jim Meyering  <jim@meyering.net>
47820
47821         * lib/human.c (humblock): Set *options even when returning due to
47822         xstrtoumax conversion failure.  Thanks to a used-uninitialized
47823         warning from gcc-4.
47824
47825 2005-04-09  Jim Meyering  <jim@meyering.net>
47826
47827         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
47828         -Wuninitialized: initialize tm0.tm_year.
47829
47830 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
47831
47832         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
47833         count, since there's no maximum.  All uses changed.
47834         Add member dsts_seen.
47835         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
47836         not being INT_MAX.
47837         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
47838         Use pc_rels_seen to decide whther a date is absolute.
47839
47840         * lib/getdate.y (number): Don't overwrite year.
47841         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
47842         check.
47843
47844 2005-04-02  Simon Josefsson  <jas@extundo.com>
47845
47846         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
47847         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
47848
47849 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
47850
47851         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
47852         where no absolute path name can be longer than PATH_MAX.
47853
47854 2005-03-27  Jim Meyering  <jim@meyering.net>
47855
47856         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
47857
47858 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
47859
47860         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
47861         "one's complement" -> "ones' complement" in comment, as per Knuth.
47862         "value of type" -> "type or expression" in comment.
47863         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
47864
47865 2005-03-26  Jim Meyering  <jim@meyering.net>
47866
47867         Comment nits.
47868         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
47869         Correct typos: s/or/of/.
47870
47871 2005-03-26  Jim Meyering  <jim@meyering.net>
47872
47873         * modules/check-include-files: Move to ../ and rename to...
47874         * check-module: ...this.
47875
47876 2005-03-25  Jim Meyering  <jim@meyering.net>
47877
47878         * modules/xvasprintf (Files): Add xalloc.h.
47879
47880 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
47881
47882         * modules/gettext (Files): config/config.rpath ->
47883         build-aux/config.rpath
47884         * modules/iconv (Files): Likewise.
47885         Problem reported by Oskar Liljeblad.
47886
47887 2005-03-23  Jim Meyering  <jim@meyering.net>
47888
47889         * modules/check-include-files: New script to check for
47890         missing dependencies, multiple includes, etc.
47891
47892         * modules/c-strtold (Depends-on): Add xalloc.
47893         * modules/c-strtod (Depends-on): Add xalloc.
47894         * modules/hash (Depends-on): Add xalloc.
47895         (Files): Remove lib/xalloc.h.
47896
47897         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
47898         * modules/userspec (Files): Add lib/inttostr.h.
47899
47900 2005-03-23  Jim Meyering  <jim@meyering.net>
47901
47902         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
47903
47904 2005-03-22  Jim Meyering  <jim@meyering.net>
47905
47906         * modules/stat-macros: New module.
47907         * modules/canonicalize, modules/euidaccess, modules/file-type,
47908         * modules/filemode, modules/lchown, modules/makepath,
47909         * modules/rmdir, modules/stat: Depend on new stat-macros module
47910         rather than listing lib/stat-macros.h manually.
47911         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
47912
47913 2005-03-22  Jim Meyering  <jim@meyering.net>
47914
47915         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
47916
47917 2005-03-22  Bruno Haible  <bruno@clisp.org>
47918
47919         * config/srclist.txt: Replace target directory 'config' with
47920         'build-aux'.
47921         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
47922         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
47923         ../build-aux/.
47924
47925 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
47926
47927         * modules/chdir-long (Depends-on): Add mempcpy.
47928
47929         * modules/acl, modules/backupfile, modules/c-strtod,
47930         modules/c-strtold, modules/canon-host, modules/canonicalize,
47931         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
47932         modules/exclude, modules/exitfail, modules/file-type,
47933         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
47934         modules/getdate, modules/getline, modules/getpagesize,
47935         modules/getpass, modules/getugroups, modules/group-member,
47936         modules/hard-locale, modules/hash, modules/human, modules/idcache,
47937         modules/inttostr, modules/long-options, modules/makepath,
47938         modules/md5, modules/memcasecmp, modules/memcoll,
47939         modules/modechange, modules/mountlist, modules/path-concat,
47940         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
47941         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
47942         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
47943         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
47944         modules/strftime, modules/strndup, modules/strverscmp,
47945         modules/timespec, modules/unlocked-io, modules/userspec,
47946         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
47947         modules/yesno:
47948         Remove lib_SOURCES line from Makefile.am section, as this is now
47949         done automatically by the corresponding Autoconf macro.
47950
47951 2005-03-21  Jim Meyering  <jim@meyering.net>
47952
47953         Changes imported from coreutils.
47954
47955         * lib/cycle-check.c: Don't include xalloc.h.
47956
47957         * lib/path-concat.c: Don't include assert.h.
47958         (path_concat): Remove assertion that would have triggered
47959         for ABASE starting with more than one slash.
47960         Reported by Andreas Schwab.
47961
47962         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
47963         properly when ABASE is an absolute file name.
47964         Correct the description of this function.
47965         Include <assert.h>.
47966         Add an assertion and a test driver.
47967         This fixes a bug introduced on 2004-07-02.
47968         Andreas Schwab reported the resulting failure of cp --parents:
47969         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
47970
47971 2005-03-21  Jim Meyering  <jim@meyering.net>
47972
47973         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
47974         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
47975
47976 2005-03-21  Jim Meyering  <jim@meyering.net>
47977         and  Paul Eggert  <eggert@cs.ucla.edu>
47978
47979         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
47980         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
47981         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
47982         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
47983         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
47984         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
47985         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
47986         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
47987         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
47988         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
47989         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
47990         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
47991         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
47992         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
47993         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
47994         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
47995         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
47996         for these modules.
47997
47998 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
47999
48000         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
48001         (which shouldn't happen), generate nothing instead of returning 0
48002         immediately, so that nstrftime (NULL, ...) doesn't return 0.
48003
48004 2005-03-16  Bruno Haible  <bruno@clisp.org>
48005
48006         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
48007         HAVE_LONGLONG_64BIT.
48008
48009 2005-03-16  Bruno Haible  <bruno@clisp.org>
48010
48011         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
48012         HAVE_LONGLONG_64BIT.
48013
48014 2005-03-16  Bruno Haible  <bruno@clisp.org>
48015
48016         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
48017         HAVE_LONGLONG_64BIT.
48018
48019 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
48020
48021         * lib/strftime.c (my_strftime): Prepend space to format so that we can
48022         reliably distinguish strftime failure from empty output on POSIX
48023         hosts.
48024
48025 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
48026
48027         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
48028         (iconv_string): Don't guess a size-zero buffer, as that might cause
48029         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
48030         result would be 'too large', where 'too large' is (heuristically)
48031         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
48032         overflow concerns.  This will prevent some unwanted malloc failures
48033         when the inputs are very large.
48034
48035 2005-03-15  Karl Berry  <karl@gnu.org>
48036
48037         * config/srclist.txt (config.rpath): from gettext.
48038         * config/config.rpath: update.
48039
48040 2005-03-15  Bruno Haible  <bruno@clisp.org>
48041
48042         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
48043         to 'negate'.
48044
48045         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
48046         variable.
48047
48048         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
48049         results.
48050
48051 2005-03-14  Simon Josefsson  <jas@extundo.com>
48052
48053         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
48054         <fx@gnu.org>.
48055
48056 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
48057
48058         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
48059         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
48060         intprops.h.
48061         * lib/strtol.c: Likewise.
48062
48063 2005-03-14  Jim Meyering  <jim@meyering.net>
48064
48065         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
48066         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
48067         to be nonzero so that we (and caller) can detect the difference
48068         between a valid zero-length expansion and an error return, even
48069         when the underlying strftime fails before writing anything into
48070         that location.
48071
48072 2005-03-14  Bruno Haible  <bruno@clisp.org>
48073
48074         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
48075         Update from GNU gettext 0.14.3.
48076
48077 2005-03-10  Jim Meyering  <jim@meyering.net>
48078
48079         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
48080
48081 2005-03-10  Jim Meyering  <jim@meyering.net>
48082
48083         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
48084         so that this module works on systems without fchdir.
48085
48086 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
48087
48088         Factor int-properties macros into a single file, except for
48089         glibc-related files.
48090         * lib/intprops.h: New file.
48091         * lib/getloadavg.c: Include it instead of limits.h.
48092         (INT_STRLEN_BOUND): Remove.
48093         * lib/human.c: Include intprops.h.
48094         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
48095         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
48096         302/1000.
48097         * lib/inttostr.h: Include intprops.h instead of limits.h.
48098         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
48099         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
48100         for consistency with intprops.h.
48101         (time_t_is_integer, twos_complement_arithmetic): Use them.
48102         * lib/sig2str.h: Include <signal.h>, intprops.h.
48103         (INT_STRLEN_BOUND): Remove.
48104         * lib/strftime.c (TYPE_SIGNED): Remove.
48105         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
48106         * lib/strtol.c: Adjust comments to match intprops.h.
48107         * lib/userspec.c: Include intprops.h.
48108         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
48109         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
48110         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
48111         instead of rolling our own expressions.
48112         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
48113
48114         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
48115         instead of int.
48116         (my_strftime): Do not mishandle years close to INT_MAX, by doing
48117         the right thing even if adding 1900 would overflow.  Similarly
48118         for tm_mon + 1 and tm_yday + 1.
48119         Make %Y always equivalent to %C%y, and similarly for %G and %g.
48120         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
48121         (DO_SIGNED_NUMBER): New macro.
48122         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
48123
48124 2005-03-07  Bruno Haible  <bruno@clisp.org>
48125
48126         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
48127
48128 2005-03-07  Bruno Haible  <bruno@clisp.org>
48129
48130         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
48131
48132 2005-03-04  Derek R. Price  <derek@ximbiot.com>
48133
48134         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
48135         (func_import): Only replace files via --import when they have actually
48136         changed.
48137
48138 2005-03-03  Derek R. Price  <derek@ximbiot.com>
48139
48140         * m4/mmap-anon.m4: New file.
48141         * m4/pagealign_alloc.m4: New file.
48142
48143 2005-03-03  Derek R. Price  <derek@ximbiot.com>
48144             Bruno Haible  <bruno@clisp.org>
48145
48146         * modules/pagealign_alloc: New file.
48147         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
48148
48149 2005-03-03  Derek R. Price  <derek@ximbiot.com>
48150             Bruno Haible  <bruno@clisp.org>
48151
48152         * lib/pagealign_alloc.h: New file.
48153         * lib/pagealign_alloc.c: New file.
48154
48155 2005-03-03  Bruno Haible  <bruno@clisp.org>
48156
48157         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
48158         Use an all-permissive copyright notice, recommended by RMS.
48159
48160 2005-03-02  Bruno Haible  <bruno@clisp.org>
48161
48162         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
48163         of AIX, the replacement has to be done only after <string.h> is
48164         included, therefore not in config.h. stpncpy.h does the replacement,
48165         and stpncpy.c uses it.
48166
48167 2005-03-02  Bruno Haible  <bruno@clisp.org>
48168
48169         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
48170         stpncpy.c uses it.
48171
48172 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
48173
48174         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
48175         The workaround isn't strictly needed for POSIX conformance, and
48176         it's too much of a pain to configure and maintain.  We'll ask
48177         people to fix their kernels instead.
48178         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
48179         (NANOSLEEP_BUG_WORKAROUND): Remove.
48180         (xnanosleep): Remove the workaround.
48181
48182 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
48183
48184         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
48185         Reported by Derek Price.
48186         (Include): Add "timespec.h".
48187
48188         * modules/xnanosleep (Depends-on): Remove gethrxtime.
48189
48190 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
48191
48192         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
48193         to detect nanosleep bug.
48194
48195 2005-03-01  Bruno Haible  <bruno@clisp.org>
48196
48197         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
48198
48199 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
48200
48201         * modules/gethrxtime: New file.
48202         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
48203         (Depends-on): Add gethrxtime.
48204         (configure.ac): Add gl_XNANOSLEEP.
48205         (Makefile.am): Remove lib_SOURCES line.
48206
48207 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
48208
48209         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
48210         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
48211
48212 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
48213
48214         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
48215         * lib/timespec.h (gettime): Return void, since it always
48216         succeeds now.  All uses changed.
48217         * lib/gettime.c (gettime) Likewise.
48218         [HAVE_NANOTIME]: Prefer nanotime.
48219         Assume gettimeofday succeeds, as POSIX requires.
48220         Assime time () succeeds, since other code already does.
48221         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
48222         (timespec_subtract): Remove.
48223         (NANOSLEEP_BUG_WORKAROUND): New constant.
48224         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
48225         things considerably.  Use it only on GNU/Linux hosts, since the
48226         workaround shouldn't be needed elsewhere.
48227
48228 2005-02-24  Bruno Haible  <bruno@clisp.org>
48229
48230         * modules/gettext (Files): Add m4/glibc2.m4.
48231
48232 2005-02-24  Bruno Haible  <bruno@clisp.org>
48233
48234         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
48235         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
48236         * m4/progtest.m4:
48237         Update from GNU gettext 0.14.2.
48238         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
48239
48240 2005-02-24  Bruno Haible  <bruno@clisp.org>
48241
48242         * lib/localcharset.c: Update from GNU gettext 0.14.2.
48243         * lib/config.charset: Update from GNU gettext 0.14.2.
48244
48245 2005-02-24  Bruno Haible  <bruno@clisp.org>
48246
48247         * lib/gettext.h: Update from GNU gettext 0.14.2.
48248
48249 2005-02-23  Simon Josefsson  <jas@extundo.com>
48250
48251         * m4/iconvme.m4: New file.
48252
48253 2005-02-23  Jim Meyering  <jim@meyering.net>
48254
48255         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
48256         change.
48257         Thanks to Bruno Haible for catching it.
48258
48259 2005-02-22  Simon Josefsson  <jas@extundo.com>
48260
48261         * modules/iconvme: New file.
48262
48263         * MODULES.html.sh: Add iconvme.
48264
48265 2005-02-22  Simon Josefsson  <jas@extundo.com>
48266
48267         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
48268
48269 2005-02-22  Simon Josefsson  <jas@extundo.com>
48270
48271         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
48272
48273 2005-02-22  Jim Meyering  <jim@meyering.net>
48274
48275         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
48276         s/ifndef/ifdef/.
48277
48278 2005-02-20  Neil Conway  <neilc@samurai.com>
48279
48280         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
48281         returned by OSX/Darwin if the specified buffer is not large
48282         enough for the hostname.
48283
48284 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
48285
48286         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
48287         pass it to _help, otherwise the latter coredumps trying to
48288         dereference state.root_argp.
48289
48290 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
48291
48292         * modules/chdir-long (Depends-on): Add memrchr.
48293         * modules/memrchr (Files): Add lib/memrchr.h.
48294         (Include): "memrchr.h".
48295
48296 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
48297
48298         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
48299
48300 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
48301
48302         * lib/memrchr.h: New file.
48303         * lib/chdir-long.c: Include it.
48304         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
48305         Don't bother including stddef.h.
48306
48307 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
48308
48309         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
48310         inclusion.
48311         Include <sys/types.h>, for dev_t.
48312         (ME_DUMMY, ME_REMOTE): Move from here....
48313         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
48314         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
48315         Dmitry V. Levin.
48316         Include mountlist.h first, to test the interface.
48317
48318 2005-01-29  Bruno Haible  <bruno@clisp.org>
48319
48320         * lib/progname.c (program_name): Initialize.
48321         Needed when linking statically on MacOS X.
48322
48323 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
48324
48325         Sync from coreutils.
48326         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
48327         (Depends-on): Add c-strtod.
48328         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
48329
48330 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
48331
48332         Sync from coreutils.
48333         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
48334
48335         Remove files that are specific to coreutils.
48336         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
48337
48338 2005-01-28  Bruno Haible  <bruno@clisp.org>
48339
48340         * modules/javacomp: New file.
48341         * MODULES.html.sh (Java): Add javacomp.
48342
48343 2005-01-28  Bruno Haible  <bruno@clisp.org>
48344
48345         * m4/javacomp.m4: New file, from GNU gettext.
48346
48347 2005-01-28  Bruno Haible  <bruno@clisp.org>
48348
48349         * lib/javacomp.sh.in: New file, from GNU gettext.
48350         * lib/javacomp.h: New file, from GNU gettext.
48351         * lib/javacomp.c: New file, from GNU gettext.
48352
48353 2005-01-26  Simon Josefsson  <jas@extundo.com>
48354
48355         * lib/gai_strerror.c: Use GPL in header.
48356
48357 2005-01-26  Bruno Haible  <bruno@clisp.org>
48358
48359         * modules/javaexec: New file.
48360         * MODULES.html.sh (Java): Add javaexec.
48361
48362 2005-01-26  Bruno Haible  <bruno@clisp.org>
48363
48364         * m4/javaexec.m4: New file, from GNU gettext.
48365
48366 2005-01-26  Bruno Haible  <bruno@clisp.org>
48367
48368         * lib/javaexec.sh.in: New file, from GNU gettext.
48369         * lib/javaexec.h: New file, from GNU gettext.
48370         * lib/javaexec.c: New file, from GNU gettext.
48371
48372 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
48373
48374         * modules/lchown (Depends-on): Remove lchown.h
48375
48376 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
48377
48378         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
48379         must be defined if the header file was not found, in order
48380         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
48381
48382 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
48383
48384         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
48385         initializers for struct pentry_state.
48386         (__argp_error): Check return value of __asprintf
48387         (__argp_failure): Translate error message
48388
48389         * lib/argp-parse.c: Removed braces around the expansion of N_()
48390
48391 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
48392
48393         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
48394         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
48395         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
48396         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
48397         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
48398         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
48399         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
48400         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
48401         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
48402         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
48403         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
48404         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
48405         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
48406         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
48407         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
48408         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
48409         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
48410         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
48411         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
48412         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
48413         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
48414         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
48415         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
48416         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
48417         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
48418         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
48419         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
48420         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
48421         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
48422         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
48423         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
48424         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
48425         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
48426         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
48427         xstrtol.m4, xstrtoumax.m4, yesno.m4:
48428         Use an all-permissive copyright notice, recommended by RMS.
48429
48430 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
48431
48432         * modules/chdir-long (Depends-on): Remove mempcpy.
48433
48434 2005-01-21  Jim Meyering  <jim@meyering.net>
48435
48436         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
48437         same value as for Solaris 9.
48438
48439         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
48440         component length.  This included changing the parameter to be
48441         of type `char *' rather than `char const *'.
48442         * lib/chdir-long.h (chdir_long): Update prototype.
48443
48444         * lib/openat.c (fdopendir, fstatat): New functions.
48445         * lib/openat.h: Include headers required for use of DIR and struct
48446         stat.
48447         [AT_SYMLINK_NOFOLLOW]: Define.
48448         (fdopendir, fstatat): Add prototypes.
48449
48450 2005-01-21  Bruno Haible  <bruno@clisp.org>
48451
48452         * modules/classpath: New file.
48453         * MODULES.html.sh (Java): Add classpath.
48454
48455 2005-01-21  Bruno Haible  <bruno@clisp.org>
48456
48457         * lib/classpath.h: New file, from GNU gettext.
48458         * lib/classpath.c: New file, from GNU gettext.
48459
48460 2005-01-20  Simon Josefsson  <jas@extundo.com>
48461
48462         * modules/version-etc-fsf: New file.
48463
48464 2005-01-20  Simon Josefsson  <jas@extundo.com>
48465
48466         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
48467         * lib/version-etc.c: Remove version_etc_copyright.
48468         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
48469         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
48470
48471 2005-01-20  Simon Josefsson  <jas@extundo.com>
48472
48473         * lib/base64.h (isbase64): Add.
48474
48475         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
48476         using a unsigned prototype, don't inline.
48477         (base64_decode): Use it.
48478
48479 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
48480
48481         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
48482         it.
48483
48484 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
48485
48486         * lib/save-cwd.c (save_cwd): Remove code to support the case
48487         where fchdir is missing or flaky.
48488
48489 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
48490
48491         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
48492
48493 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
48494
48495         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
48496         AC_LIBSOURCES now does this.
48497         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
48498         with new ullong_max module.
48499
48500 2005-01-19  Bruno Haible  <bruno@clisp.org>
48501
48502         * modules/sh-quote: New file.
48503         * MODULES.html.sh (Executing programs): Add sh-quote.
48504
48505 2005-01-19  Bruno Haible  <bruno@clisp.org>
48506
48507         * lib/sh-quote.h: New file, from GNU gettext.
48508         * lib/sh-quote.c: New file, from GNU gettext.
48509
48510 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
48511
48512         Merge from coreutils.
48513         * m4/ullong_max.m4: New file.
48514         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
48515         (gl_MACROS): Assume localeconv exists.
48516
48517 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
48518
48519         Merge changes from coreutils, as described below in several
48520         changelogs dated today.
48521
48522         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
48523         (O_DIRECTORY): Remove; not needed here, since "." must be
48524         a directory.  All uses removed.
48525         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
48526         universal on Suns, and we also need to test for IRIX.
48527         Revamp code to use 'if' rather than '#if'.
48528         Avoid unnecessary comparison of cwd->desc to 0.
48529
48530         * lib/utimens.c (futimens): Robustify the previous patch, by checking
48531         for known valid error numbers rather than observed invalid ones.
48532
48533 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
48534
48535         * modules/ullong_max: New file.
48536
48537         * modules/chdir-long, modules/openat: New files.
48538         * modules/save-cwd (Depends-on): Depend on chdir-long.
48539         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
48540
48541 2005-01-18  Jim Meyering  <jim@meyering.net>
48542
48543         Merge from coreutils.
48544         * m4/chdir-long.m4, m4/openat.m4: New files.
48545         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
48546         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
48547         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
48548         is sane and DOES follow symlinks.  Besides, testing 20 different
48549         systems found no broken chown implementations.
48550         Prompted by a change in rsync's copy of this macro.
48551         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
48552
48553         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
48554
48555         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
48556         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
48557         NULL-means-set-to-current-time semantics.
48558         Remove temporary file immediately, rather than waiting
48559         for configure's at-exit trap code to do it.
48560
48561 2005-01-18  Jim Meyering  <jim@meyering.net>
48562
48563         * lib/version-etc.c (version_etc_copyright): Update copyright date.
48564
48565         * lib/utimens.c (futimens): Account for the fact that futimes
48566         can also fail with errno == ENOSYS or errno == ENOENT.
48567         Patch from Dmitry V. Levin.
48568
48569         Change the name of the robust chdir function from chdir to chdir_long.
48570         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
48571         (restore_cwd): Use chdir_long, not chdir.
48572         * lib/chdir-long.c: Renamed from chdir.c.
48573         * lib/chdir-long.h: Renamed from chdir.h.
48574         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
48575         Hurd.
48576
48577 2005-01-18  Bruno Haible  <bruno@clisp.org>
48578
48579         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
48580         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
48581         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
48582         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
48583         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
48584         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
48585         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
48586         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
48587         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
48588         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
48589         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
48590         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
48591         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
48592         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
48593         Use an all-permissive copyright notice, recommended by RMS.
48594
48595 2005-01-18  Bob Proulx  <bob@proulx.com>
48596
48597         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
48598         simplify offsetof() macro construct to avoid compile failure with
48599         native HP-UX 11.0 ANSI C compiler.
48600
48601 2005-01-17  Bruno Haible  <bruno@clisp.org>
48602
48603         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
48604         redundant because stpncpy.m4 takes care of it.
48605
48606 2005-01-17  Bruno Haible  <bruno@clisp.org>
48607
48608         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
48609
48610 2005-01-17  Bruno Haible  <bruno@clisp.org>
48611
48612         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
48613         used.
48614
48615 2005-01-17  Bruno Haible  <bruno@clisp.org>
48616
48617         * lib/fwriteerror.h (fwriteerror): Change specification to include
48618         fclose.
48619         * lib/fwriteerror.c: Include <stdbool.h>.
48620         (fwriteerror): At the end, close the file stream. Record whether
48621         stdout was already closed.
48622
48623 2005-01-17  Bruno Haible  <bruno@clisp.org>
48624
48625         * lib/execute.c (environ): Declare if needed.
48626         * lib/pipe.c (environ): Likewise.
48627         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
48628
48629 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
48630
48631         * modules/argp: Depend on vsnprintf
48632
48633 2005-01-10  Jim Meyering  <jim@meyering.net>
48634
48635         * modules/closeout (Depends-on): Add atexit.
48636
48637 2005-01-06  Bruno Haible  <bruno@clisp.org>
48638
48639         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
48640
48641 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
48642
48643         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
48644         definitions to be after all include files, to avoid collisions.
48645         Problem reported by Bob Proulx.
48646
48647 2005-01-04  Jim Meyering  <jim@meyering.net>
48648
48649         Changes imported from coreutils.
48650         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
48651         as the mkstemp template, use a temporary directory and an
48652         8.3-friendly template to avoid trouble on systems like DJGPP.
48653         Reported by Juan M. Guerrero via Stepan Kasal.
48654         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
48655         close. Remove the temporary directory right away, rather than waiting
48656         for configure's at-exit trap code to do it.
48657         Suggestion from Stepan Kasal.
48658
48659 2005-01-01  Simon Josefsson  <jas@extundo.com>
48660
48661         * gnulib-tool: Print #include directives when --import'ing.
48662
48663 2004-12-28  Simon Josefsson  <jas@extundo.com>
48664
48665         * tests/test-base64.c: Include required header files.  Remove
48666         unused variables.
48667
48668 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
48669
48670         * modules/error (Depends-on): Remove gettext.
48671
48672 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
48673
48674         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
48675         not needed.  This removes a dependency on the gettext module.
48676         [defined _LIBC]: Do not include <libintl.h>; not needed.
48677
48678 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
48679
48680         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
48681         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
48682
48683 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
48684
48685         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
48686         HAVE_DECL_STRTOLD.
48687
48688 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
48689
48690         * modules/getdate (Depends-on): Remove alloca-opt.
48691
48692 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
48693
48694         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
48695
48696 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
48697
48698         * lib/argp-parse.c: Include <stddef.h>.
48699         (alignof, alignto): New macros.
48700         (parser_init): Don't assume that void * is aligned sufficiently
48701         for struct option.
48702
48703         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
48704         need to extend the stack.
48705         (YYINITDEPTH): New macro, so that the initial stack isn't overly
48706         large.
48707
48708 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
48709
48710         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
48711
48712 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
48713
48714         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
48715         (2004-10-24) change.  Apparently this was a false alarm.
48716
48717         * modules/getdate: Depend on alloca-opt, not alloca.
48718
48719 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
48720
48721         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
48722         Remove now-obsolete comment about AIX.
48723         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
48724         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
48725         (YYMAXDEPTH): New macro.
48726
48727 2004-12-18  Simon Josefsson  <jas@extundo.com>
48728
48729         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
48730
48731 2004-12-18  Bruno Haible  <bruno@clisp.org>
48732
48733         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
48734
48735 2004-12-18  Bruno Haible  <bruno@clisp.org>
48736
48737         * lib/fatal-signal.c (fatal_signals): Make non-const.
48738         (init_fatal_signals): New function.
48739         (uninstall_handlers, install_handlers): Ignore signals that were set to
48740         SIG_IGN.
48741         (at_fatal_signal): Call init_fatal_signals.
48742         (init_fatal_signal_set): Likewise. Ignore signals that were set to
48743         SIG_IGN.
48744         Reported by Paul Eggert.
48745
48746 2004-12-18  Bruno Haible  <bruno@clisp.org>
48747
48748         * doc/alloca.texi: New file.
48749         * doc/alloca-opt.texi: New file.
48750
48751 2004-12-17  Jim Meyering  <jim@meyering.net>
48752
48753         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
48754         Otherwise, install-sh could exit with improper exit status when
48755         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
48756
48757 2004-12-16  Simon Josefsson  <jas@extundo.com>
48758
48759         * tests/test-base64.c: Add license.
48760
48761 2004-12-15  Stepan Kasal  <address@hidden>
48762
48763         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
48764
48765 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
48766
48767         * modules/getcwd (Files): Add m4/d-ino.m4.
48768         Suggested by Mark D. Baushke.
48769
48770 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
48771
48772         * lib/getdate.y (textint): New member "negative".
48773         (time_zone_hhmm): New function.
48774         Expect 14 shift-reduce conflicts, not 13.
48775         (o_colon_minutes): New rule.
48776         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
48777         (yylex): Set the "negative" member of signed numbers.
48778
48779 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
48780
48781         * doc/getdate.texi (Time of day items, Time zone items):
48782         Describe new formats +00:00, UTC+00:00.
48783
48784 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
48785
48786         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
48787         spurious "-l"s.  Problem reported by Stepan Kasal.
48788
48789 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
48790
48791         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
48792         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
48793
48794 2004-12-04  Simon Josefsson  <jas@extundo.com>
48795
48796         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
48797         Vandoorselaere <yoann@prelude-ids.org>.
48798
48799 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
48800
48801         Changes imported from coreutils.
48802         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
48803         exist.
48804         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
48805
48806 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
48807
48808         Changes imported from coreutils.
48809         * lib/hard-locale.c: Assume <locale.h> exists.
48810         Include "strdup.h".
48811         (GLIBC_VERSION): New macro.
48812         (hard_locale): Assume setlocale exists.
48813         Rewrite to avoid #ifdef.
48814         Use strdup rather than malloc + strcpy.
48815         * lib/human.c: Assume <locale.h> exists.
48816         (human_readable): Assume localeconv exists.
48817
48818 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
48819
48820         * modules/hard-locale (Depends-on): Add strdup.
48821
48822 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
48823
48824         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
48825         convert T2, not T.  (Imported from libc.)
48826
48827 2004-11-30  Simon Josefsson  <jas@extundo.com>
48828
48829         * modules/restrict (License): Change to LGPL.
48830
48831 2004-11-30  Simon Josefsson  <jas@extundo.com>
48832
48833         * m4/restrict.m4: Add copyright and copying conditions.
48834
48835 2004-11-30  Simon Josefsson  <jas@extundo.com>
48836
48837         * m4/base64.m4: New file.
48838
48839 2004-11-30  Simon Josefsson  <jas@extundo.com>
48840
48841         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
48842         base64.
48843
48844         * tests/test-base64.c: New file.
48845
48846         * modules/base64: New file.
48847
48848 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
48849
48850         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
48851         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
48852
48853         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
48854
48855 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
48856
48857         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
48858         (__getcwd.c): Don't restore errno; glibc doesn't.
48859         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
48860         first, falling back to our code only if its results look suspicious.
48861         Ensure that the resulting buffer is only as large as necessary.
48862
48863         * lib/readutmp.c: Include readutmp.h first.
48864         Include <errno.h>, since readutmp.h no longer does that.
48865         * lib/readutmp.h: Don't include <errno.h>,
48866         <sys/param.h>, <time.h>; not needed to establish interface.
48867         (errno): Remove decl.
48868         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
48869         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
48870         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
48871
48872 2004-11-28  Simon Josefsson  <jas@extundo.com>
48873
48874         * lib/base64.h, base64.c: New file.
48875
48876 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
48877
48878         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
48879
48880 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
48881
48882         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
48883         (Depends-on): Remove pathmax, same.  Add mempcpy.
48884         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
48885         (Makefile.am): Append getcwd.h to lib_SOURCES.
48886         (Include): Add getcwd.h.
48887         (Maintainer): Change from Jim Meyering to "all, glibc",
48888         since getdate now uses intended-for-glibc code.
48889         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
48890         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
48891
48892 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
48893
48894         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
48895         HP's ANSI C compiler.
48896         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
48897         Declaring int functions causes warnings on some modern systems and
48898         shouldn't be needed to compile on ancient ones.
48899         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
48900         defined.
48901
48902         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
48903         with the following changes.
48904         (__set_errno): Parenthesize properly.
48905         Include <stdbool.h>.
48906         (MIN, MAX, MATCHING_INO): New macros.
48907         (__getcwd): Define with prototype, not K&R form.
48908         Use heuristics to allocate default buffer on stack if possible.
48909         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
48910         behavior, and to avoid the PATH_MAX limit when computing
48911         ../../../../...
48912         Use MATCHING_INO to compare inode number to file.
48913         Check for arithmetic overflow in size calculations.
48914         Fix bug in reallocation of dot array that caused getcwd to fail
48915         on directories nested deeper than 75.
48916         Be more careful about saving errno on error.
48917         Do not use realloc; use only free+malloc, as this is a bit
48918         more flexible and avoids a needless copy operation.
48919         Do not inspect st_dev and st_ino for symbolic links; POSIX
48920         doesn't specify the latter.
48921         Check for closedir errors.
48922         Avoid needless casts.
48923         Use "#ifdef weak_alias" around weak_alias, to be like other
48924         glibc code.
48925         The following changes to getcwd.c have effect only when used in
48926         gnulib; they have no effect inside glibc proper.
48927         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
48928         as alloca isn't used.
48929         (alloca, __alloca): Likewise.
48930         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
48931         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
48932         unconditionally, as gnulib assumes C89 or better.
48933         Do not include <sys/param.h>.
48934         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
48935         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
48936         better.
48937         (NULL) [!defined NULL]: Remove; we assume C89 or better.
48938         Include <dirent.h> in a way that is compatible with modern Autoconf.
48939         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
48940         New macros, if not already defined.
48941         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
48942         Use "_LIBC", not "defined _LIBC", for consistency.
48943         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
48944         a mempcpy module.
48945         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
48946         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
48947         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
48948         credit only to Jim Meyering and adjust the copyright dates.
48949         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
48950         <stdlib.h>, <unistd.h>, "pathmax.h".
48951         Instead, include "xgetcwd.h" (first) and "getcwd.h".
48952         (INITIAL_BUFFER_SIZE): Remove.
48953         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
48954
48955 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
48956
48957         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
48958         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
48959         Use the _ONCE methods, for efficiency.
48960         Check for fcntl.h.  In test program, include <errno.h>
48961         and <fcntl.h> if available.  Remove old K&R cruft from
48962         test program.  Check for common errors in GNU/Linux,
48963         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
48964         don't do AC_LIBOBJ, as that's getcwd.m4's job.
48965         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
48966         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
48967         name accordingly.
48968         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
48969         accommodate new getcwd.c.
48970         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
48971         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
48972         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
48973         that's all we need now.
48974
48975 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
48976
48977         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
48978         argp-parse.c depends on getopt internals, that means we should
48979         always use our getopt, to be on the safe side.
48980         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
48981         order not to spoil the result of an eventual previous invocation
48982         of gl_GETOPT_SUBSTITUTE.
48983
48984 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
48985
48986         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
48987         redefinition warnings. To avoid them, include the defines
48988         in `#if !defined __need_getopt ... #endif'. The only place
48989         where __getopt_argv_const is used is in definitions
48990         of getopt_long and getopt_long_only below, which are as well
48991         protected by `#ifndef __need_getopt'.
48992         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
48993         __need_getopt after including <stdio.h> and <unistd.h> These
48994         headers might have defined it.
48995
48996 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
48997
48998         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
48999
49000 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
49001
49002         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
49003         (futimens): New function, which uses futimes if available.
49004         (futimens, utimens): Support timespec==NULL, with same semantics
49005         as utime and utimens.
49006         * lib/utimens.h (futimens): New decl.
49007
49008 2004-11-23  Jim Meyering  <jim@meyering.net>
49009
49010         * lib/getopt_.h: Remove trailing blanks.
49011
49012 2004-11-23  Jim Meyering  <jim@meyering.net>
49013
49014         * lib/__fpending.c: Add comment.
49015
49016 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
49017
49018         * modules/canonicalize (Depends-on): Add xreadlink.
49019         Problem reported by James Youngman.
49020
49021 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
49022
49023         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
49024         New macros.
49025         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
49026         optopt): Use them instead of invoking ## directly; otherwise, the
49027         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
49028
49029 2004-11-19  Bruno Haible  <bruno@clisp.org>
49030
49031         * lib/strtok_r.c: Move comments from here...
49032         * lib/strtok_r.h: ... to here.
49033
49034 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
49035
49036         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
49037         implementations that mishandle size_t overflow.
49038
49039 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
49040
49041         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
49042         might fail.  Problem reported by Yoann Vandoorselaere.
49043         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
49044         implementations that mishandle size_t overflow.
49045
49046 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
49047
49048         * modules/canon-host (Depends-on): Add strdup.
49049
49050 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
49051
49052         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
49053
49054 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
49055
49056         * lib/canon-host.c: Include "strdup.h".
49057         (canon_host): Use getaddrinfo if available, so that IPv6 works.
49058         Use strdup instead of malloc/strcpy to duplicate strings.
49059
49060         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
49061         (human_space_before_unit): New constant.
49062         * lib/human.c (human_readable): Support it.
49063
49064         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
49065         (xgetcwd): Set errno correctly when failing.
49066         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
49067         the failure is actually due to a PATH_MAX problem.
49068
49069         Further getopt changes to make it more likely that glibc will
49070         buy the changes back.
49071         * lib/getopt.c (POSIXLY_CORRECT): New constant.
49072         (getopt): Use it, so to preserve glibc semantic
49073         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
49074         when compiling for libc.
49075         * lib/getopt_.h (__getopt_argv_const): Bring it back.
49076         (getopt_long, getopt_long_only): Use it.
49077
49078         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
49079         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
49080         (getopt): Argv is now char * const *, as per standard.
49081         (_getopt_internal_r, _getopt_internal): Argv is now char **,
49082         not char *__getopt_argv_const *.
49083         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
49084         _getopt_long_only_r): Likewise.
49085         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
49086         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
49087         _getopt_long_r, _getopt_long_only_r): Likewise.
49088         * lib/getopt_.h (__getopt_argv_const): Remove.
49089         (getopt): Argv is now char * const *, as per standard.
49090
49091         * lib/getdate.y (tORDINAL): New token.
49092         (day, relunit): Allow it for relative times.
49093         (relative_time_table): Use tORDINAL for ordinals.
49094
49095 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
49096
49097         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
49098         Document that "second" isn't allowed as an ordinal number.
49099
49100 2004-11-16  Jim Meyering  <jim@meyering.net>
49101
49102         * modules/closeout (Depends-on): Add fpending.
49103
49104 2004-11-15  Jim Meyering  <jim@meyering.net>
49105
49106         * lib/closeout.c: Include "__fpending.h" once again.
49107         Include <stdbool.h>.
49108         (close_stdout): Don't fail just because stdout was closed initially,
49109         since some programs don't write to stdout in the normal course of
49110         operation (other than --version and --help), and we don't want this
49111         function to make e.g. `touch file >&-' fail.
49112         But do fail if it was closed and someone has tried to write to it.
49113         E.g., `printf foo >&-' must fail.
49114
49115 2004-11-13  Jim Meyering  <jim@meyering.net>
49116
49117         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
49118
49119 2004-11-12  Simon Josefsson  <jas@extundo.com>
49120
49121         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
49122         small doc fix is still pending.
49123
49124 2004-11-11  Simon Josefsson  <jas@extundo.com>
49125
49126         * modules/strtok_r: New file.
49127
49128         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
49129         strtok_r.
49130
49131 2004-11-11  Simon Josefsson  <jas@extundo.com>
49132
49133         * m4/strtok_r.m4: New file.
49134
49135         * m4/getopt.m4: Replace opterr.
49136
49137 2004-11-11  Simon Josefsson  <jas@extundo.com>
49138
49139         * lib/strtok_r.h, strtok_r.c: New file.
49140
49141 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
49142
49143         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
49144         of replacing opterr, getopt, etc.  This should handle the
49145         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
49146
49147 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
49148
49149         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
49150         we can stop lying to compilers about the constness of argv when we
49151         are compiled outside glibc.
49152         (getopt, getopt_long, getopt_long_only): Use it.
49153         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
49154         _getopt_internal, getopt): Likewise.
49155         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
49156         _getopt_long_only_r): Likewise.
49157         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
49158         _getopt_long_r, _getopt_long_only_r): Likewise.
49159
49160         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
49161         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
49162         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
49163         the other external symbols.
49164         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
49165         declaration, since the above renaming now works around collisions.
49166
49167 2004-11-11  Jim Meyering  <jim@meyering.net>
49168
49169         * lib/linebreak.c: Remove trailing blanks.
49170         * lib/alloca_.h: Likewise.
49171         * lib/acosl.c: Likewise.
49172         * lib/euidaccess.c: Likewise.
49173         * lib/allocsa.h: Likewise.
49174
49175 2004-11-10  Simon Josefsson  <jas@extundo.com>
49176
49177         * m4/getaddrinfo.m4: New file.
49178
49179 2004-11-10  Simon Josefsson  <jas@extundo.com>
49180
49181         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
49182
49183 2004-11-10  Simon Josefsson  <jas@extundo.com>
49184
49185         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
49186         getaddrinfo.
49187
49188         * modules/getaddrinfo: New file.
49189
49190 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
49191
49192         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
49193
49194 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
49195
49196         * lib/mktime.c (SHR): New macro, which is a portable
49197         substitute for >> that should work even on Crays.
49198         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
49199         Problem reported by Mark D. Baushke in
49200         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
49201         * lib/getdate.y (SHR): Likewise.
49202         (tm_diff): Use it.
49203         * lib/strftime.c (SHR): Likewise.
49204         (tm_diff): Use it.
49205         * lib/quotearg.c (struct quoting_options): Use unsigned int for
49206         quote_these_too, so that right shifts are well defined.  All uses
49207         changed.
49208
49209 2004-11-10  Jim Meyering  <jim@meyering.net>
49210
49211         Ensure that no close failure goes unreported.
49212         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
49213         return early when it seems there's nothing to flush.
49214         Don't include __fpending.h.
49215
49216 2004-11-10  Jim Meyering  <jim@meyering.net>
49217
49218         * modules/closeout (Depends-on): Remove fpending.
49219
49220 2004-11-10  Jim Meyering  <jim@meyering.net>
49221
49222         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
49223
49224 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
49225
49226         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
49227         gl_FUNC_STRFTIME.
49228         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
49229         and AC_REQUIRE when possible, to avoid duplicate checks.
49230         Check for <wchar.h>.
49231
49232 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
49233
49234         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
49235
49236 2004-11-09  Bruno Haible  <bruno@clisp.org>
49237
49238         * m4/sockpfaf.m4: New file.
49239
49240 2004-11-05  Bruno Haible  <bruno@clisp.org>
49241
49242         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
49243         Reported by Mark D. Baushke <mdb@cvshome.org>.
49244
49245 2004-11-04  Bruno Haible  <bruno@clisp.org>
49246
49247         2004-09-11  Bruno Haible  <bruno@clisp.org>
49248                 * allocsa.valgrind: New file.
49249         2004-02-06  Bruno Haible  <bruno@clisp.org>
49250                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
49251                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
49252                 Reported by Christopher Seip <chris.seip@hp.com>.
49253
49254 2004-11-04  Bruno Haible  <bruno@clisp.org>
49255
49256         * modules/allocsa (Files): Add lib/allocsa.valgrind.
49257         (Makefile.am): Distribute it.
49258
49259 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
49260
49261         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
49262         with errno == ERANGE if the buffer is too small.
49263         Problem reported by Mark D. Baushke.
49264
49265 2004-11-03  Albert Chin  <china@thewrittenword.com>
49266             Paul Eggert  <eggert@cs.ucla.edu>
49267
49268         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
49269         equivalent, substitute $ac_type for equivalent type rather than
49270         blindly using uint32_t *always* which won't work if uint32_t is not
49271         available.  Define _UINT32_T to work around typedef of uint32_t if
49272         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
49273         2.5.1.
49274
49275 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
49276
49277         * m4/jm-macros.m4: Sync from coreutils.
49278         (gl_MACROS): Check for mbrlen, for pathchk.
49279         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
49280
49281 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
49282
49283         * lib/xreadlink.c (MAXSIZE): New macro.
49284         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
49285         size does not exceed MAXSIZE.  Avoid cast.
49286         As suggested by Mark D. Baushke in
49287         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
49288         if readlink fails with buffer size just under MAXSIZE, try again
49289         with MAXSIZE.
49290
49291 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
49292
49293         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
49294
49295 2004-11-02  Derek R. Price  <derek@ximbiot.com>
49296         and  Paul Eggert  <eggert@cs.ucla.edu>
49297
49298         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
49299         (get_date): Overparenthesize to avoid GCC warning.
49300
49301 2004-11-02  Bruno Haible  <bruno@clisp.org>
49302
49303         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
49304         returns void.
49305
49306 2004-11-02  Bruno Haible  <bruno@clisp.org>
49307
49308         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
49309         function returns void.
49310
49311 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
49312
49313         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
49314         fflush_unlocked, flockfile, funlockfile, funlockfile,
49315         fputs_unlocked, putc_unlocked.
49316
49317 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
49318
49319         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
49320         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
49321         already declared.
49322
49323 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
49324
49325         * modules/getdate (Files): Add doc/getdate.texi.
49326         (Depends-on): Add setenv, xalloc.
49327
49328 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
49329
49330         * lib/getdate.y: Add support for TZ="foo" within a date string.
49331         Fix some bugs near time_t boundaries.  Reject dates with
49332         out-of-range components, e.g., "Sept 31".
49333         Include <stdlib.h>, "setenv.h", "xalloc.h".
49334         (ISDIGIT_LOCALE): Remove; unused.
49335         Note that the TZ and time functions used here are not reentrant.
49336         (mktime_ok, get_tz): New functions.
49337         (TZBUFSIZE): New constant.
49338         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
49339         This requires that we sometimes generate our own TZ="XXX..." setting.
49340
49341 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
49342
49343         * doc/getdate.texi: New file, from coreutils with modifications for
49344         the new TZ parsing.
49345
49346 2004-10-27  Derek R. Price  <derek@ximbiot.com>
49347
49348         * lib/mktime.c (not_equal_tm): Remove redundant check.
49349
49350 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
49351
49352         * modules/regex (lib_SOURCES): Add regex.c.
49353         Reported by James Youngman in
49354         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
49355
49356 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
49357
49358         * lib/getdate.y: Use Bison 1.875 features, and some minor
49359         code cleanups.  This change does not affect semantics.
49360         Don't include <stdlib.h>; no longer needed.
49361         Don't include unlocked-io.h; only the "#if TEST" code uses
49362         stdio, and performance isn't crucial there.
49363         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
49364         Bison 1.875 features as described below.
49365         All uses of "PC." replaced by "pc->".
49366         (YYSTYPE): Add a forward declaration.
49367         (yylex, yyerror): Use full prototypes in forward decls.
49368         Use "%pure-parser" rather than obsolescent "%pure_parser".
49369         Use %parse-param and %lex-param instead of obsolescent
49370         YYPARSE_PARAM and YYLEX_PARAM.
49371         (meridian_table, month_and_day_table, time_units_table,
49372         relative_time_table, time_zone_table, military_table,
49373         lookup_zone, lookup_word, get_date):
49374         Use NULL instead of 0 where appropriate.
49375         (to_hour): Avoid abort (), to avoid a dependency on
49376         stdlib.h.
49377         (yyerror, yylex): Now accepts parser_control * arg.
49378         (main) [TEST]: Use '\0' rather than 0 for char.
49379
49380 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
49381
49382         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
49383
49384 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
49385
49386         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
49387         It's now the caller's responsibility to handle the case where
49388         !HAVE_GETPAGESIZE && !defined getpagesize.
49389
49390         * lib/mktime.c (leapyear): Arg is long int, not int.
49391
49392 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
49393
49394         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
49395
49396 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
49397
49398         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
49399         missing.  Problem reported by James Youngman.
49400
49401 2004-10-16  Simon Josefsson  <jas@extundo.com>
49402
49403         * gnulib-tool: Fix comments.  Fix parse problem.
49404         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
49405
49406 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
49407
49408         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
49409         implementation of getopt_long.  Problem reported by Alexander Taler in:
49410         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
49411
49412 2004-10-15  Bruno Haible  <bruno@clisp.org>
49413
49414         * gnulib-tool: Untabify. Initialize supplied_libname.
49415         (func_usage): More homogenous output.
49416         (func_modules_transitive_closure, func_modules_to_filelist,
49417         func_emit_lib_Makefile_am): New functions.
49418         (func_import): New function, extracted from big case statement. Use
49419         func_get_license, func_modules_transitive_closure,
49420         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
49421         opt_lgpl. Don't use test -a, as it's not portable.
49422         (func_create_testdir): Use func_modules_transitive_closure,
49423         func_modules_to_filelist, func_emit_lib_Makefile_am.
49424
49425 2004-10-15  Bruno Haible  <bruno@clisp.org>
49426
49427         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
49428
49429 2004-10-15  Bruno Haible  <bruno@clisp.org>
49430
49431         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
49432         the portions belonging to each module.
49433         Suggested by Derek Robert Price <derek@ximbiot.com>.
49434
49435 2004-10-12  Simon Josefsson  <jas@extundo.com>
49436
49437         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
49438         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
49439         to real functions.
49440
49441 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
49442
49443         * modules/vsnprintf: New file.
49444
49445 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
49446
49447         * m4/vsnprintf.m4: New file.
49448
49449 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
49450
49451         * lib/vsnprintf.h: New file.
49452         * lib/vsnprintf.c: New file.
49453
49454 2004-10-11  Bruno Haible  <bruno@clisp.org>
49455
49456         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
49457         vsnprintf.
49458
49459 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
49460
49461         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
49462
49463 2004-10-07  Bruno Haible  <bruno@clisp.org>
49464
49465         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
49466         fits into the provided buffer.
49467
49468 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
49469
49470         * lib/diacrit.c, diacrit.h: Add GPL notice.
49471
49472         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
49473         notice.
49474         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
49475         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
49476         This avoids a potential constant-folding bug.
49477
49478 2004-10-05  Bruno Haible  <bruno@clisp.org>
49479
49480         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
49481         for the declaration of strsep.
49482
49483 2004-10-05  Bruno Haible  <bruno@clisp.org>
49484
49485         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
49486
49487 2004-10-04  Simon Josefsson  <jas@extundo.com>
49488
49489         * modules/memmem: New file.
49490         * tests/test-memmem.c: New file.
49491         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
49492
49493 2004-10-04  Simon Josefsson  <jas@extundo.com>
49494
49495         * m4/memmem.m4: New file.
49496
49497 2004-10-04  Simon Josefsson  <jas@extundo.com>
49498
49499         * lib/memmem.h: New file.
49500         * lib/memmem.c: New file, taken from glibc.
49501
49502 2004-10-04  Simon Josefsson  <jas@extundo.com>
49503
49504         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
49505         '#ifdef USE_UNLOCKED_IO'.
49506
49507 2004-10-04  Simon Josefsson  <jas@extundo.com>
49508
49509         * config/srclist.txt: Add memmem from glibc.
49510
49511 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
49512
49513         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
49514
49515         * modules/argmatch, modules/argp, modules/closeout, modules/error,
49516         modules/exclude, modules/getdate, modules/getline,
49517         modules/getndelim2, modules/getpass, modules/getpass-gnu,
49518         modules/getusershell, modules/linebuffer, modules/md5,
49519         modules/mountlist, modules/posixtm, modules/readtokens,
49520         modules/readutmp, modules/regex, modules/sha1,
49521         modules/version-etc, modules/yesno:
49522         Remove dependency on unlocked-io.
49523
49524 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
49525
49526         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
49527
49528         * m4/unlocked-io.m4: Add copyright notice.
49529         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
49530
49531 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
49532
49533         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
49534         * lib/xmalloc.c (xmemdup): Likewise.
49535         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
49536         XFREE): Remove these long-obsolescent macros.
49537         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
49538         * lib/xstrdup.c: Remove.
49539
49540         * lib/regex.c (re_comp): Cast gettext return value to char *,
49541         Problem reported by Martin Neitzel via Mark D. Baushke.
49542
49543 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
49544
49545         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
49546         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
49547         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
49548         regex.c, sha1.c, version-etc.c, yesno.c:
49549         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
49550         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
49551         the includer's responsibility.
49552
49553         Sync from coreutils.
49554
49555         * lib/modechange.c (mode_compile): Don't decrement a pointer that
49556         points to the start of a string, as the C Standard says the
49557         resulting behavior is undefined.
49558
49559         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
49560         simple -> simple_backups, numbered_existing ->
49561         numbered_existing_backups, numbered -> numbered_backups
49562         to avoid shadowing problems.  All uses changed.
49563         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
49564         * lib/backupfile.c (check_extension, numbered_backup):
49565         Rename locals to avoid shadowing 'basename'.
49566         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
49567         once.
49568
49569         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
49570         * lib/.cvsignore: Add getopt.h.
49571
49572 2004-10-04  Bruno Haible  <bruno@clisp.org>
49573
49574         * modules/README: New file.
49575         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
49576         not a module.
49577
49578 2004-10-02  Jim Meyering  <jim@meyering.net>
49579
49580         * lib/dirfd.h, getpagesize.h: Add copyright notice.
49581
49582 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
49583
49584         * modules/strsep: New file.
49585
49586 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
49587
49588         * m4/strsep.m4: New file.
49589
49590 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
49591
49592         * lib/strsep.h: New file.
49593         * lib/strsep.c: New file.
49594
49595 2004-10-01  Simon Josefsson  <jas@extundo.com>
49596
49597         * lib/snprintf.c (snprintf): Handle size==0.
49598
49599 2004-10-01  Simon Josefsson  <jas@extundo.com>
49600             Bruno Haible  <bruno@clisp.org>
49601
49602         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
49603         (snprintf): Declare 'args'.
49604
49605 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
49606
49607         * lib/snprintf.c: Remove comments as to why each header is needed.
49608
49609 2004-10-01  Bruno Haible  <bruno@clisp.org>
49610
49611         * MODULES.html.sh: Add strsep.
49612
49613 2004-09-30  Simon Josefsson  <jas@extundo.com>
49614
49615         * modules/snprintf: New file.
49616
49617 2004-09-30  Simon Josefsson  <jas@extundo.com>
49618
49619         * m4/snprintf.m4: New file.
49620
49621 2004-09-30  Simon Josefsson  <jas@extundo.com>
49622
49623         * lib/snprintf.h, lib/snprintf.c: New files.
49624
49625 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
49626
49627         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
49628         (hol_entry_help): Never translate an empty string.
49629         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
49630         * lib/argp.h (OPTION_NO_TRANS): New option.
49631
49632 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
49633
49634         * modules/argp (Maintainer): Replace Simon Josefsson
49635         by Sergey Poznyakoff.
49636
49637 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
49638
49639         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
49640         changes merged back into glibc.
49641
49642 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
49643
49644         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
49645
49646 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
49647
49648         * lib/xvasprintf.c: Include xalloc.h.
49649         (xvasprintf): Use xalloc_die, not xmalloc_die.
49650
49651 2004-09-29  Bruno Haible  <bruno@clisp.org>
49652
49653         * modules/alloca-opt: New file, derived from modules/alloca.
49654         * modules/allocsa: Depend on alloca-opt instead of alloca.
49655         * modules/setenv: Likewise.
49656         * modules/vasnprintf: Likewise.
49657         * MODULES.html.sh: Add alloca-opt.
49658
49659 2004-09-28  Simon Josefsson  <jas@extundo.com>
49660
49661         * gnulib-tool: New parameter --lgpl, to asseert that modules are
49662         LGPL, and to replace license template from GPL to LGPL.
49663
49664 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
49665
49666         * modules/dummy: Change license to LGPL.
49667
49668 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
49669
49670         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
49671
49672 2004-09-24  Simon Josefsson  <jas@extundo.com>
49673
49674         * modules/minmax (License): Change from GPL to LGPL.
49675
49676 2004-09-23  Simon Josefsson  <jas@extundo.com>
49677
49678         * gnulib-tool (--import): Typo.
49679
49680 2004-09-23  Simon Josefsson  <jas@extundo.com>
49681
49682         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
49683
49684 2004-09-22  Bruno Haible  <bruno@clisp.org>
49685
49686         * modules/*: Add 'License' field.
49687         * gnulib-tool: Accept --extract-license option.
49688         (func_get_license): New function.
49689
49690 2004-09-21  Bruno Haible  <bruno@clisp.org>
49691
49692         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
49693         Reported by Simon Josefsson.
49694
49695 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
49696
49697         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
49698         gl_AC_TYPE_LONG_LONG.
49699
49700 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
49701
49702         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
49703
49704 2004-09-18  Simon Josefsson  <jas@extundo.com>
49705         and  Paul Eggert  <eggert@cs.ucla.edu>
49706
49707         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
49708         calls with autoreconf.  Define GL_LIB.
49709
49710 2004-09-14  Karl Berry  <karl@gnu.org>
49711
49712         * config/srclist.txt: unsync setenv.c, sigh.
49713
49714 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
49715
49716         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
49717         Problem reported by Bruno Haible in:
49718         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
49719
49720 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
49721
49722         * config/srclist.txt: Comment out argp-pvh.c.
49723
49724 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
49725
49726         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
49727         in case some system header has #define'd it.  Problem reported by
49728         Soeren D. Schulze in
49729         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
49730
49731 2004-09-09  Karl Berry  <karl@gnu.org>
49732
49733         * regex.[ch]: delete from the root.  These were supposed to be
49734                 synced with emacs cvs, but this has not happened for about
49735                 a year, and anyway nothing else uses emacs regex.[ch].
49736                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
49737                 lib/regex[.ch] is untouched.
49738
49739 2004-09-09  Bruno Haible  <bruno@clisp.org>
49740
49741         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
49742
49743 2004-09-09  Bruno Haible  <bruno@clisp.org>
49744
49745         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
49746         modifications.
49747         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
49748
49749 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
49750
49751         * modules/xvasprintf: New file.
49752         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
49753
49754 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
49755
49756         * lib/xvasprintf.h: New file.
49757         * lib/xvasprintf.c: New file.
49758         * lib/xasprintf.c: New file.
49759
49760 2004-09-08  Bruno Haible  <bruno@clisp.org>
49761
49762         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
49763
49764 2004-09-08  Bruno Haible  <bruno@clisp.org>
49765
49766         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
49767         length is > INT_MAX.
49768         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
49769         more.
49770
49771 2004-09-08  Bruno Haible  <bruno@clisp.org>
49772
49773         * lib/stdint_.h: New file, taken from GNU clisp.
49774
49775 2004-09-08  Bruno Haible  <bruno@clisp.org>
49776             Oskar Liljeblad  <oskar@osk.mine.nu>
49777
49778         * modules/stdint: New file.
49779         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
49780
49781 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
49782
49783         Import from coreutils.
49784         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
49785         strings on unbounded length.  alloca's performance benefits aren't
49786         that important here.
49787         (V_STRDUP): Remove.
49788         (parse_with_separator): New function, with most of the internals
49789         of the old parse_user_spec.  Allow user to omit both user and group,
49790         for compatibility with FreeBSD.
49791         Clone only the user name, not the entire spec.
49792         Do not set *uid, *gid unless entirely successful.
49793         Avoid memory leak in some failing cases.
49794         Fix regression for USER.GROUP reported by Dmitry V. Levin in
49795         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
49796         (parse_user_spec): Rewrite to use parse_with_separator.
49797
49798 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
49799
49800         * modules/userspec: Don't depend on alloca.
49801
49802 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
49803
49804         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
49805
49806 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
49807
49808         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
49809         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
49810         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
49811
49812 2004-08-16  Simon Josefsson  <jas@extundo.com>
49813
49814         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
49815         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
49816         Add --dry-run for --import.
49817         Let user provided command line parameters override configure.ac
49818         settings.
49819
49820 2004-08-12  Simon Josefsson  <jas@extundo.com>
49821
49822         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
49823         as discussed with Paul Eggert in threads rooted at
49824         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
49825         and
49826         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
49827         Before, the test was empty, and relied on ELIDE_CODE in source
49828         code.)
49829         (gl_PREREQ_GETOPT): New macro.
49830         (gl_GETOPT): Use them.
49831
49832 2004-08-12  Simon Josefsson  <jas@extundo.com>
49833
49834         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
49835         * lib/getopt_.h: Renamed from getopt.h.
49836
49837 2004-08-12  Simon Josefsson  <jas@extundo.com>
49838
49839         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
49840         Change default library name from libfoo to libgnu.
49841         Now, if you have a configure.ac that says:
49842                 gl_SOURCE_BASE(gl)
49843                 gl_M4_BASE(gl/m4)
49844                 gl_MODULES(error getopt etcetera)
49845                 gl_INIT
49846         you can import all you need by running:
49847                 ../gnulib/gnulib-tool --import
49848
49849         * modules/getopt (Files): Rename getopt.h to getopt_.h.
49850         (Makefile.am): Rewrite, use logic from argz.
49851         (Include): Use <getopt.h> instead of "getopt.h".
49852
49853 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
49854
49855         * modules/argp (Files): Add m4/unlocked-io.m4.
49856         (Depends-on): Add extensions.
49857
49858 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
49859
49860         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
49861         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
49862         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
49863         Check for program_invocation_name, program_invocation_short_name,
49864         flockfile, funlockfile, features.h, _getopt_long_only_r.
49865
49866 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
49867
49868         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
49869         its complicated substitute.
49870         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
49871         and program_invocation_name.
49872         (__argp_basename) [!_LIBC]: Remove; the only use was
49873         replaced by its body.
49874         (__argp_short_program_name): Change condition from
49875         !defined __argp_short_program_name to
49876         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
49877         to match argp-namefrob.h.
49878         (__argp_failure): Don't assume strerror_r returns char *.
49879         * lib/argp-parse.c (N_): Define unconditionally.
49880         (argp_default_options): Fill out initializers with 0 to avoid
49881         gcc warnings.
49882
49883 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
49884
49885         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
49886         getopt1.c.
49887
49888 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
49889
49890         Merge from coreutils.
49891
49892         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
49893
49894         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
49895         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
49896
49897 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
49898
49899         Merge from coreutils.
49900
49901         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
49902         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
49903         for Reliant Unix 5.43.
49904
49905         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
49906         (union fooround): Use uintmax_t, not long int.
49907         The rest is a merge from libc:
49908         [defined _LIBC]: Include <shlib-compat.h>.
49909         (_obstack) [defined _LIBC]: Remove after 2.3.4.
49910
49911         * lib/settime.c (settime): Recode to avoid warning with
49912         Sun Forte C 6U2.
49913
49914         * lib/strverscmp.c: Convert to UTF-8.
49915
49916 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
49917
49918         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
49919         m4/uintmax_t.m4.
49920
49921 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
49922
49923         * modules/xalloc-die: New file.
49924         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
49925
49926         * modules/md5 (Files): Add m4/uint32_t.m4.
49927         * modules/sha1: Renamed from modules/sha.
49928         (Files):
49929         Rename lib/sha.h to lib/sha1.h.
49930         Rename lib/sha.c to lib/sha1.c.
49931         Rename m4/sha.m4 to m4/sha1.m4.
49932         (lib_SOURCES): Likewise.
49933         (configure.ac): Rename gl_SHA to gl_SHA1.
49934         (Include): sha.h -> sha1.h.
49935
49936 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
49937
49938         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
49939         * m4/sha1.m4: Renamed from sha.m4.
49940         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
49941
49942 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
49943
49944         * lib/obstack.h (obstack_empty_p):
49945         Don't assume that chunk->contents is suitably aligned.
49946         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
49947         Likewise. Problem reported by Benno in
49948         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
49949
49950         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
49951         readable.  This could be improved further but it'd take some work.
49952
49953 2004-08-08  Simon Josefsson  <jas@extundo.com>
49954
49955         * modules/xgethostname (Depends-on): Remove exit and error (not
49956         used).
49957
49958         * modules/getpass-gnu: Add getpass.h.
49959         (Depends-on): Add stdbool.
49960         * modules/getpass: Add getpass.h.
49961
49962 2004-08-08  Simon Josefsson  <jas@extundo.com>
49963
49964         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
49965         Check getpass declaration.
49966
49967 2004-08-08  Simon Josefsson  <jas@extundo.com>
49968
49969         * lib/xgethostname.c: Don't include error.h (not used).
49970
49971         * lib/getpass.h: Add.
49972         * lib/getpass.c: Include getpass.h first.
49973
49974 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
49975
49976         * lib/xalloc-die.c: New file.
49977         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
49978         All uses removed.
49979         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
49980         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
49981         xalloc-die.c.
49982         (_, N_, xalloc_die): Move to xalloc-die.c.
49983         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
49984         so that we needn't mess with xalloc_msg_memory_exhausted.
49985
49986         * lib/sha1.h: Renamed from sha.h.
49987         (SHA1_H): Renamed from _SHA_H.
49988         (sha1_ctx): Renamed from sha_ctx.
49989         (sha1_init_ctx): Renamed from sha_init_ctx.
49990         (sha1_process_block): Renamed from sha_process_block.
49991         (sha1_process_bytes): Renamed from sha_process_bytes.
49992         (sha1_finish_ctx): Renamed from sha_finish_ctx.
49993         (sha1_read_ctx): Renamed from sha_read_ctx.
49994         (sha1_stream): Renamed from sha_stream.
49995         (sha1_buffer): Renamed from sha_buffer.
49996         * lib/sha1.c: Likewise; renamed from sha.c.
49997         Do not include <sys/types.h>.
49998         Include <stddef.h> rather than <stdlib.h>.
49999
50000 2004-08-08  Bruno Haible  <bruno@clisp.org>
50001
50002         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
50003         FILESYSTEM_PREFIX_LEN.
50004         * lib/progreloc.c: Likewise.
50005         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
50006
50007 2004-08-06  Simon Josefsson  <jas@extundo.com>
50008
50009         * modules/progname (Depends-on): Don't depend on stdbool.
50010
50011 2004-08-06  Simon Josefsson  <jas@extundo.com>
50012
50013         * modules/getsubopt: New file.
50014         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
50015         getsubopt.
50016
50017 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
50018
50019         More merge from coreutils.
50020
50021         * m4/utimens.m4, m4/utimecmp.m4: New files.
50022         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
50023         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
50024         prereq.m4, sha.m4: Import changes from coreutils.
50025
50026 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
50027
50028         More merge from coreutils.
50029         * modules/raise, modules/readtokens0, modules/utimens:
50030         * modules/utimecmp, module/xnanosleep: New files.
50031         * modules/strftime: Add lib/strftime.h.
50032         Change include from <time.h> to "strftime.h".
50033         * modules/yesno: Add lib/yesno.h.
50034         * modules/backupfile: Remove lib/addext.c.
50035         * modules/euidaccess: Add stat-macros.h.
50036         * modules/canonicalize, modules/euidaccess,
50037         modules/filemode, modules/lchown, modules/makepath,
50038         modules/rmdir, modules/stat: Likewise.
50039
50040 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
50041
50042         Merge from tar.
50043         * lib/argp-help.c (make_hol, hol_append): Don't assume that
50044         SIZE_MAX is a valid preprocessor constant.
50045         (__argp_basename): Change from "#ifndef _LIBC"
50046         to "#ifndef __argp_short_program_name", so that
50047         we don't compile these functions for tar.
50048
50049         More merges from coreutils.
50050         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
50051         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
50052         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
50053         * lib/addext.c: Remove; no longer needed.
50054         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
50055         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
50056         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
50057         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
50058         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
50059         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
50060         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
50061         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
50062         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
50063         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
50064         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
50065         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
50066         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
50067         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
50068         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
50069         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
50070         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
50071         Import changes from coreutils.
50072
50073 2004-08-05  Simon Josefsson  <jas@extundo.com>
50074
50075         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
50076
50077 2004-08-05  Simon Josefsson  <jas@extundo.com>
50078
50079         * m4/getsubopt.m4: New file.
50080
50081 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
50082
50083         Merge from coreutils.
50084
50085         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
50086         * m4/getcwd-path-max.m4: New files.
50087
50088         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
50089         FILESYSTEM_PREFIX_LEN ->
50090         FILE_SYSTEM_PREFIX_LEN.
50091         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
50092         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
50093         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
50094         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
50095
50096         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
50097         prerequisite modules now handle the DOS stuff.
50098         Don't check for unistd.h.
50099
50100 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
50101
50102         Merge from coreutils.
50103
50104         * lib/.gdb-history: Remove; this doesn't belong here.
50105
50106         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
50107         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
50108         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
50109         * lib/getcwd.c: New files.
50110
50111         * lib/dirname.h: Include <stdbool.h>.
50112         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
50113         for consistency with POSIX terminology.  All uses changed.
50114         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
50115         (strip_trailing_slashes): Use bool for booleans.
50116         * lib/stripslash.c (strip_trailing_slashes): Likewise.
50117
50118         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
50119         sometimes returns a positive errno value even when it succeeds.
50120         (print_errno_message) [!LIBC]: Fall back on strerror if
50121         __strerror_r fails.
50122
50123         * lib/path-concat.c (mempcpy): Don't define if a system header defines
50124         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
50125         (longest_relative_suffix): New function.
50126         (path_concat): Use it.  Assume first argument is not NULL.
50127         Port to DOS.  Omit redundant separators.
50128         Report an error instead of returning NULL.
50129         Use mempcpy instead of memcpy.
50130         (xpath_concat): Remove: not declared or used.
50131
50132         * lib/same.h: Include <stdbool.h>
50133         (same_name): Return bool, not int.
50134         * lib/same.c (same_name): Likewise.
50135         (errno): Don't declare; we assume C89 or better now.
50136
50137         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
50138         if not already defined.
50139
50140         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
50141         * lib/dup-safer.c (errno): Likewise.
50142
50143 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
50144
50145         Merge from coreutils.
50146         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
50147         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
50148         * modules/path-concat: Don't depend on strdup.
50149
50150 2004-08-03  Simon Josefsson  <jas@extundo.com>
50151
50152         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
50153         * lib/progname.h: Don't include stdbool.h.
50154
50155 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
50156
50157         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
50158         * MODULES.html.sh (func_all_modules): Remove fatal.
50159
50160 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
50161
50162         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
50163
50164 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
50165
50166         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
50167         working.
50168
50169 2004-08-02  Simon Josefsson  <jas@extundo.com>
50170
50171         * lib/getsubopt.h: New file, with comments from Bruno Haible.
50172         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
50173         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
50174
50175 2004-08-01  Simon Josefsson  <jas@extundo.com>
50176
50177         * lib/xgetdomainname.c: Include stdlib.h, for free().
50178
50179 2004-07-19  Bruno Haible  <bruno@clisp.org>
50180
50181         * MODULES.html.sh (func_all_modules): Add dummy.
50182
50183 2004-07-16  Simon Josefsson  <jas@extundo.com>
50184
50185         * modules/dummy: New file.
50186
50187 2004-07-16  Simon Josefsson  <jas@extundo.com>
50188
50189         * lib/dummy.c: New file.
50190
50191 2004-07-16  Bruno Haible  <bruno@clisp.org>
50192
50193         * lib/backupfile.h: Add extern "C" for C++.
50194         * lib/closeout.h: Likewise.
50195         * lib/copy-file.h: Likewise.
50196         * lib/findprog.h: Likewise.
50197         * lib/full-write.h: Likewise.
50198         * lib/pathname.h: Likewise.
50199         * lib/progname.h: Likewise.
50200         * lib/stpcpy.h: Likewise.
50201         * lib/stpncpy.h: Likewise.
50202         * lib/strcase.h: Likewise.
50203         * lib/strstr.h: Likewise.
50204         * lib/xalloc.h: Likewise.
50205
50206         * lib/mbswidth.h: Add extern "C" for C++.
50207         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
50208
50209 2004-07-13  Robert Millan  <robertmh@gnu.org>
50210
50211         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
50212
50213 2004-07-09  Simon Josefsson  <jas@extundo.com>
50214
50215         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
50216         failed without this.)
50217
50218 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
50219
50220         * modules/chown (Files): Add lib/fchown-stub.c, since
50221         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
50222
50223 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
50224
50225         * lib/fchown-stub.c: New file.
50226
50227 2004-06-24  Jim Meyering  <jim@meyering.net>
50228
50229         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
50230
50231 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
50232
50233         * modules/argz: Omit "#include".
50234
50235         * MODULES.html.sh (func_all_modules): Add calloc, to match
50236         2004-06-01 addition of calloc module.
50237
50238 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
50239
50240         * m4/argz.m4: New file, which is autoupdated from libtool.
50241
50242 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
50243
50244         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
50245         libtool.
50246
50247 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
50248
50249         * config/srclist-update: Don't insist on "USA." before the
50250         close-comment, as libtool omits the period and puts the */ on a
50251         separate line.
50252         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
50253         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
50254
50255 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
50256
50257         * modules/argz: New file.
50258         * MODULES.html.sh (func_all_modules): Add argz.
50259
50260 2004-06-12  Jim Meyering  <jim@meyering.net>
50261         and  Paul Eggert  <eggert@cs.ucla.edu>
50262
50263         * modules/hash (Files): Add lib/xalloc.h.
50264         * modules/pipe (Depends-on): Add wait-process.
50265         * modules/stat (Depends-on): Add xalloc.
50266         * modules/userspec (Files): Add lib/userspec.h.
50267         * modules/xstrto
50268
50269         Upgrade from gettext-0.13.
50270         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
50271         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
50272         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
50273
50274 2004-06-10  Jim Meyering  <jim@meyering.net>
50275
50276         * lib/calloc.c: New file.
50277
50278 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
50279
50280         * lib/getdate.y (yylex): Allow space between sign and number.
50281         Problem reported by Dan Jacobson.
50282
50283 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
50284
50285         Merge from coreutils CVS.
50286
50287         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
50288         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
50289         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
50290         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
50291         xstrtol.m4: Fix copyright date and/or serial number.
50292
50293         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
50294         See if we need an fchown replacement.
50295         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
50296         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
50297         and use the replacement function if we detect either defect.
50298
50299         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
50300         gl_UTIMECMP.
50301
50302 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
50303         and  Jim Meyering  <jim@meyering.net>
50304
50305         Merge from coreutils CVS.
50306
50307         * lib/stat-macros.h: New file, with contents from file-type.h
50308         and coreutils' system.h.
50309         * lib/file-type.c: Include "stat-macros.h".
50310         * lib/file-type.h (file_type): Move all macro definitions to new file,
50311         stat-macros.h.
50312
50313         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
50314         Wrap old code with this conditional.
50315         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
50316         function that does not dereference symlinks.
50317         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
50318
50319         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
50320         dependency problems.
50321         (xreadlink): Accept new arg SIZE, for efficiency.
50322         All decls and uses changed.
50323         * lib/xreadlink.h: Include <stddef.h>, for size_t.
50324
50325         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
50326         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
50327
50328         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
50329         sysexits.h.
50330
50331 2004-06-01  Jim Meyering  <jim@meyering.net>
50332
50333         * m4/calloc.m4: New file.
50334
50335 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
50336
50337         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
50338         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
50339         Also, fix a typo in a diagnostic.
50340
50341 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
50342
50343         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
50344         or AC_FUNC_REALLOC.
50345
50346 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
50347
50348         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
50349         macros to be defined.
50350         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
50351         the allocator returns NULL because the requested size is zero.
50352
50353 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
50354
50355         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
50356         var.  Add comment explaining why libc still defines it.  This
50357         merges the following patch from glibc:
50358         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
50359
50360 2004-05-20  Andreas Schwab  <schwab@suse.de>
50361
50362         * m4/free.m4: Replace free if it not known to work, not the other
50363         way round.
50364
50365 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
50366
50367         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
50368         present in glibc since revision 1.1 of this file.
50369         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
50370         obstack_alignment_mask, obstack_alloc, obstack_base,
50371         obstack_blank, obstack_blank_fast, obstack_chunk_size,
50372         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
50373         obstack_grow0, obstack_init, obstack_int_grow,
50374         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
50375         obstack_next_free, obstack_object_size, obstack_ptr_grow,
50376         obstack_ptr_grow_fast, obstack_room): Remove declarations of
50377         nonexistent functions.
50378
50379 2004-05-18  Karl Berry  <karl@gnu.org>
50380
50381         * config/srclist.txt: break link for vasnprintf.c.
50382
50383 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
50384
50385         Port obstack to the AS/400, where pointers are 16 bytes wide and
50386         you cannot cast an integer to a valid pointer.  This patch is
50387         currently waiting to be integrated into glibc; see
50388         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
50389
50390         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
50391         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
50392         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
50393         (struct obstack): temp member is now a union of a pointer and
50394         an integer, instead of an integer.  All integer uses changed.
50395         This does not affect the physical layout of struct obstack,
50396         except on hosts (like the AS/400) where the size or alignment of
50397         void * is greater than that of ptrdiff_t.
50398         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
50399         __STDC__)]: Store temporary in pointer member of union, not
50400         integer member.
50401         * lib/obstack.c: Include <stddef.h>, for offsetof.
50402         (struct fooalign): Remove; it doesn't need a name.
50403         (union fooround): Change double to long double, and add void *.
50404         (DEFAULT_ALIGNMENT): Use offsetof to compute.
50405         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
50406         not a macro.  Hence the values are always int; so remove all
50407         casts-to-int in uses.
50408
50409 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
50410
50411         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
50412         we can get this patch merged into glibc.
50413
50414 2004-05-17  Derek R. Price  <derek@ximbiot.com>
50415             Paul Eggert  <eggert@cs.ucla.edu>
50416
50417         * m4/argp: Depend on alloca.
50418
50419 2004-05-17  Derek R. Price  <derek@ximbiot.com>
50420             Paul Eggert  <eggert@cs.ucla.edu>
50421
50422         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
50423         freecoding.
50424
50425 2004-05-17  Bruno Haible  <bruno@clisp.org>
50426
50427         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
50428         precision that consists of a '.' followed by an empty digit string.
50429         Patch by Tor Lillqvist <tml@iki.fi>.
50430
50431 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
50432
50433         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
50434         for backward compatibility with older code.  We need our own
50435         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
50436         it under some other name, and our alloca.h will define it.
50437
50438 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
50439             Derek Price  <derek@ximbiot.com>
50440
50441         * lib/alloca.c: Include <alloca.h>, to get our interface.
50442         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
50443         include <alloca.h> first.  Use C89 prototype for alloca; this
50444         requires including <stddef.h> for size_t.  Use extern "C" if C++.
50445         Use #elif for simplicity, since we can assume C89 now.
50446         Don't try to source the system alloca.h since it will not be found
50447         and to prevent recursively including its replacement.
50448         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
50449         * lib/regex.c: Likewise.
50450
50451 2004-05-16  Derek Price  <derek@ximbiot.com>
50452             Paul Eggert  <eggert@cs.ucla.edu>
50453
50454         getline cleanup.  This changes the getndelim2 API: both order of
50455         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
50456         no delimiter).
50457
50458         * lib/getline.c: Don't include stddef.h or stdio.h, since our
50459         interface does that.
50460         (getline): Always use getdelim, so that we don't have two
50461         copies of this code.
50462         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
50463         if available.
50464         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
50465         (GETNDELIM2_MAXIMUM): New macro.
50466         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
50467         instead of the old practice of delim2==0.  All callers changed.
50468         Return -1 on overflow, instead of returning junk.
50469         Do not set *linesize unless allocation succeeds.
50470         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
50471         that we include sys/types.h.
50472         * lib/getnline.h: Likewise.
50473         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
50474         (getndelim2): Reorder arguments.
50475         * lib/getnline.c (getnline, getndelim):
50476         Don't discard the NMAX argument.
50477         (getnline): Invoke getndelim, to avoid code duplication.
50478         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
50479         of (size_t) -1 by callers of the getnline family.
50480
50481 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
50482
50483         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
50484         Check for gettimeofday.
50485         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
50486         Check for settimeofday, stime.
50487
50488 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
50489
50490         * lib/nanosleep.c (suspended): Change its type from int to
50491         sig_atomic_t volatile.
50492         (first_call): Make it private to rpl_nanosleep, and have it
50493         be zero initially as that's a bit faster.
50494         (my_usleep): Round up fractional times instead of truncating them,
50495         as this is the usual meaning for 'sleep'.
50496
50497         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
50498         doesn't work.
50499         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
50500         (ENOSYS): Define if not defined.
50501         (settime): Fall back on stime if it exists and settimeofday fails.
50502         But don't bother with fallbacks if a method fails with errno == EPERM.
50503
50504 2004-05-11  Jim Meyering  <jim@meyering.net>
50505
50506         Prior to this change, the save_cwd caller required read access to the
50507         current directory on most systems (ones with the fchdir function).
50508
50509         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
50510         fails, try write-only, and finally, resort to using xgetcwd.
50511
50512 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
50513
50514         * lib/obstack.c, obstack.h: Import changes from libc.
50515
50516 2004-04-28  Bruno Haible  <bruno@clisp.org>
50517
50518         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
50519         also implicitly appends .exe to executables.
50520         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
50521         accepts Windows pathnames.
50522         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
50523         Treat Cygwin like Windows, since it now accepts Windows pathnames.
50524         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
50525         Treat Cygwin like Windows, since it now accepts Windows pathnames.
50526         Reported by Derek Robert Price <derek@ximbiot.com>.
50527
50528 2004-04-21  Karl Berry  <karl@gnu.org>
50529
50530         * config/srclist.txt (localcharset.c): break sync.
50531
50532 2004-04-20  Paul Eggert  <eggert@twinsun.com>
50533
50534         * m4/host-os.m4: Add a copyright notice.
50535
50536 2004-04-20  Jim Meyering  <jim@meyering.net>
50537
50538         Change UTILS_ to gl_ in AC_DEFINE'd names.
50539         Change utils_- and jm_-prefixed variables, too.
50540         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
50541         UTILS_FUNC_MKDIR_TRAILING_SLASH.
50542         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
50543
50544         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
50545         Don't emit trailing blanks.
50546         Also rename jm_-prefixed variables to have gl_ prefix.
50547
50548         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
50549         Also rename jm_-prefixed variables to have gl_ prefix.
50550
50551         * m4/jm-macros.m4: Reflect the renamings.
50552         * m4/prereq.m4: Likewise.
50553
50554 2004-04-20  Jim Meyering  <jim@meyering.net>
50555
50556         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
50557         memory.
50558
50559 2004-04-20  Jim Meyering  <jim@meyering.net>
50560             Bruno Haible  <bruno@clisp.org>
50561
50562         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
50563         memory when realloc fails.
50564
50565 2004-04-19  Jim Meyering  <jim@meyering.net>
50566
50567         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
50568         now that readutmp.c may call `free (0)'.
50569
50570 2004-04-19  Bruno Haible  <bruno@clisp.org>
50571
50572         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
50573         * m4/inttypes_h.m4: Likewise.
50574         * m4/stdint_h.m4: Likewise.
50575         * m4/intmax_t.m4: Likewise.
50576         * m4/uintmax_t.m4: Likewise.
50577
50578 2004-04-18  Jim Meyering  <jim@meyering.net>
50579
50580         * m4/prereq.m4: Don't forbid jm_ prefix.
50581
50582         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
50583         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
50584         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
50585         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
50586         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
50587         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
50588         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
50589         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
50590         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
50591         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
50592         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
50593         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
50594         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
50595         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
50596         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
50597         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
50598         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
50599         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
50600         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
50601
50602 2004-04-18  Jim Meyering  <jim@meyering.net>
50603
50604         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
50605         failure, don't leak memory and do call END_UTMP_ENT.
50606
50607 2004-04-16  Jim Meyering  <jim@meyering.net>
50608
50609         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
50610         coreutils' stat program.
50611         (gl_PREREQ): Don't require jm_PREREQ_STAT.
50612
50613 2004-04-11  Paul Eggert  <eggert@twinsun.com>
50614
50615         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
50616         C89.
50617         (CHAR_BIT): Remove, since we assume C89.
50618         Include <stdint.h> if available, as per current Autoconf CVS advice.
50619
50620 2004-03-31  Jim Meyering  <jim@meyering.net>
50621
50622         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
50623         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
50624         * m4/xalloc.m4: Likewise.
50625
50626 2004-03-30  Paul Eggert  <eggert@twinsun.com>
50627
50628         Merge from coreutils.
50629
50630         * m4/inttostr.m4: New file.
50631         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
50632         Require AM_STDBOOL_H and gl_TIMESPEC instead.
50633         Require gl_CLOCK_TIME.
50634         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
50635
50636 2004-03-30  Paul Eggert  <eggert@twinsun.com>
50637
50638         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
50639         not bool, to be more consistent with Unix conventions.
50640         Suggested by Bruno Haible.
50641
50642         Merge from coreutils.
50643
50644         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
50645         * lib/umaxtostr.c: New files.
50646
50647         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
50648         the usual <time.h> dance.
50649         (get_date): Change signature to support fractional time stamps.
50650         All callers changed.
50651         * lib/getdate.y: Include "getdate.h" first, as we can now
50652         assume C89 and don't need to worry about 'const'.
50653         Similarly, include "unlocked-io.h" near start, not in middle.
50654         Include <limits.h>.
50655         (textint.value): Use long int rather than int.
50656         (textint.digits): Use size_t rather than int.
50657         (BILLION, LOG10_BILLION): New constants.
50658         (parser_control): New member rel_ns.  Members day_ordinal,
50659         time_zone, month, day, hour, minutes, rel_year, rel_month,
50660         rel_day, rel_hour, rel_minutes, rel_seconds
50661         are now long int, not int.  Member seconds is now struct timespec,
50662         not int.  New member timespec_seen.  Members dates_seen, days_seen,
50663         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
50664         not int.
50665         (%union.intval): Now long int, not int.
50666         New member timespec.
50667         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
50668         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
50669         (spec): Now is a timespec or an item list.
50670         (timespec, items): New nonterminals.
50671         (time, rel, relunit, number, get_date):
50672         Add support for fractional seconds.
50673         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
50674         (gmtime, localtime, mktime): Remove decls; not needed with C89.
50675         (to_hour): First arg is now long int, not int.
50676         (to_year): Returns long int, not int.
50677         Don't treat year -70 like 70.
50678         (tm_diff): Returns long int, not int.
50679         (lookup_word): Use bool instead of int when appropriate.
50680         (yylex): Use size_t for count, not int.
50681         Detect overflow when parsing large integer constants.
50682         Add support for fractions.
50683         (get_date): Make pointers 'const' if possible.
50684         Use more-portable code to detect integer overflow.
50685         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
50686         Don't use ctime; it's not reliable if the year has >4 digits.
50687
50688         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
50689         This is for compatibility with BSD.
50690
50691         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
50692         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
50693         From coreutils' system.h.
50694
50695         * lib/userspec.c: Don't include "posixver.h".
50696         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
50697         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
50698         compatible extension.  Simplify code by removing a boolean int
50699         that was always nonzero if a string was nonnull.
50700
50701 2004-03-30  Jim Meyering  <jim@meyering.net>
50702
50703         Merge from coreutils.
50704
50705         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
50706         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
50707         on some systems one must include <grp.h> before it.
50708         Reported by Christian Krackowizer.
50709
50710 2004-03-30  Jim Meyering  <jim@meyering.net>
50711
50712         Merge from coreutils.
50713
50714         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
50715
50716         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
50717         an empty input stream.
50718
50719         * lib/readtokens.c: Include <stdbool.h>.
50720         (readtoken): Use `size_t' rather than int/long.
50721         All callers adjusted.
50722         Use `bool' rather than `int' where appropriate.
50723         Use memset rather than an explicit loop.
50724         Use x2nrealloc rather than xrealloc.
50725         Allow the use of `\0' as a delimiter.
50726         (readtokens): Likewise.
50727         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
50728
50729 2004-03-30  Jim Meyering  <jim@meyering.net>
50730
50731         * m4/realloc.m4: Remove file, since now it does no more than
50732         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
50733         the `configure.ac' section of module/realloc.
50734         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
50735
50736 2004-03-30  Bruno Haible  <bruno@clisp.org>
50737
50738         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
50739         nonnull.
50740
50741 2004-03-29  Paul Eggert  <eggert@twinsun.com>
50742
50743         Merge changes to getloadavg.c from coreutils and Emacs.
50744
50745         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
50746         Define to an expression, not to the empty string.
50747         Include cloexec.h and xalloc.h.
50748         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
50749         Use set_cloexec_flag rather than rolling our own.
50750         * lib/cloexec.c, lib/cloexec.h: New files.
50751
50752 2004-03-29  Paul Eggert  <eggert@twinsun.com>
50753
50754         * m4/cloexec.m4: New file.
50755
50756 2004-03-18  Paul Eggert  <eggert@twinsun.com>
50757
50758         * lib/getopt.h: Sync with libc CVS.
50759
50760 2004-03-18  Paul Eggert  <eggert@twinsun.com>
50761             Bruno Haible  <bruno@clisp.org>
50762
50763         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
50764         mbswidth.
50765
50766 2004-03-18  Paul Eggert  <eggert@twinsun.com>
50767             Bruno Haible  <bruno@clisp.org>
50768
50769         * lib/mbswidth.h: Include <wchar.h> only if
50770         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
50771         <wchar.h>.
50772         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
50773
50774 2004-03-09  Paul Eggert  <eggert@twinsun.com>
50775
50776         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
50777         Sync with libc CVS.
50778         * lib/getopt_int.h: New file, also synced from libc.
50779
50780 2004-03-09  Paul Eggert  <eggert@twinsun.com>
50781
50782         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
50783         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
50784         Bring back getopt.c, getopt.h, getopt1.c.
50785
50786 2004-03-07  Paul Eggert  <eggert@twinsun.com>
50787
50788         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
50789         All uses changed.  Check for sa_sigaction member; this fixes
50790         a bug first reported by Jason Andrade in
50791         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
50792
50793 2004-03-07  Paul Eggert  <eggert@twinsun.com>
50794
50795         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
50796         '#if' expressions.  Unlike the code it replaces, it does not
50797         depend on (defined _SC_PAGESIZE).  However, it does depend on
50798         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
50799         first reported by Jason Andrade in
50800         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
50801
50802 2004-02-25  Simon Josefsson  <jas@extundo.com>
50803
50804         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
50805
50806 2004-02-25  Simon Josefsson  <jas@extundo.com>
50807
50808         * lib/strdup.h: New file.
50809         * lib/strdup.c: Include it.
50810         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
50811         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
50812
50813 2004-02-23  Karl Berry  <karl@gnu.org>
50814
50815         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
50816         (from fencepost.gnu.org:/gd/gnuorg).
50817
50818 2004-02-23  Karl Berry  <karl@gnu.org>
50819
50820         * config/srclistvars.sh (GNUORG) [karl]: redefine.
50821         * config/srclist.txt: add maintain/standards documents.
50822
50823 2004-02-18  Bruno Haible  <bruno@clisp.org>
50824
50825         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
50826         Reported by Derek Robert Price <derek@ximbiot.com>.
50827
50828 2004-02-16  Karl Berry  <karl@gnu.org>
50829
50830         * config/mkinstalldirs, install-sh: update from automake.
50831
50832 2004-02-06  Karl Berry  <karl@gnu.org>
50833
50834         * m4/po.m4: update from gettext 0.14.1.
50835
50836 2004-02-06  Karl Berry  <karl@gnu.org>
50837
50838         * lib/config.charset: update from gettext 0.14.1.
50839
50840 2004-02-05  Paul Eggert  <eggert@twinsun.com>
50841
50842         Add comments and code, prompted by suggestions from Bruno Haible
50843         for sh-quote.
50844         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
50845         describing the enum quoting_style values.
50846         * lib/quotearg.c (quotearg_alloc): New function.
50847         (quotearg_buffer_restyled): Treat lone { and } as special.
50848         Treat = as special.  Work around bug with older shells
50849         that "see" a '\' that is really the 2nd byte of a multibyte char.
50850         Quote empty string with shell_quoting_style.
50851
50852 2004-02-03  Bruno Haible  <bruno@clisp.org>
50853
50854         * m4/pipe.m4: New file, from GNU gettext.
50855
50856 2004-02-03  Bruno Haible  <bruno@clisp.org>
50857
50858         * lib/pipe.h: New file, from GNU gettext.
50859         * lib/pipe.c: New file, from GNU gettext.
50860
50861 2004-01-27  Bruno Haible  <bruno@clisp.org>
50862
50863         * m4/execute.m4: New file, from GNU gettext.
50864
50865 2004-01-27  Bruno Haible  <bruno@clisp.org>
50866
50867         * lib/execute.h: New file, from GNU gettext.
50868         * lib/execute.c: New file, from GNU gettext.
50869         * lib/w32spawn.h: New file, from GNU gettext.
50870
50871 2004-01-24  Paul Eggert  <eggert@twinsun.com>
50872
50873         Merge from diffutils.
50874
50875         * lib/file-type.c (file_type): Add typed memory objects.
50876         * lib/file-type.h (S_TYPEISTMO): New macro.
50877
50878         * lib/c-stack.h (c_stack_action): Remove argv argument.
50879         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
50880         (die): Don't calculate message unless segv_action returns.
50881         (get_stack_location, min_address_from_argv, max_address_from_argv,
50882         volatile stack_base, volatile_stack_size): Remove.
50883         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
50884         that every segmentation violation is a stack overflow.  (Ouch!)
50885         See Debian bug 136249 (still outstanding) for more info about why
50886         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
50887
50888 2004-01-24  Paul Eggert  <eggert@twinsun.com>
50889
50890         Exit-status fix from coreutils.
50891
50892         Use exit_failure consistently in place of EXIT_FAILURE,
50893         so that program exit statuses are consistent on failure.
50894
50895         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
50896         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
50897         * lib/argmatch.h: Comment fix to match the above.
50898         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
50899         Now a macro referring to exit_failure, instead of a separate
50900         variable.  Include "exitfail.h" to get it.
50901         * lib/xstrtol.h: Include "exitfail.h".
50902         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
50903
50904         * lib/long-options.c (parse_long_options): Use prototype
50905         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
50906         for clarity.
50907
50908 2004-01-21  Jim Meyering  <jim@meyering.net>
50909
50910         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
50911         so as not to conflict with a different-sized __mktime_internal
50912         function in GNU libc.
50913         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
50914         Problem building statically-linked `ls' reported by Michael Brunnbauer.
50915
50916 2004-01-20  Karl Berry  <karl@gnu.org>
50917
50918         * config/config.guess: update from config.
50919
50920         * config/srclistvars.sh: GNUWWWLICENSES for karl.
50921
50922 2004-01-20  Bruno Haible  <bruno@clisp.org>
50923
50924         Safer stack allocation.
50925         * lib/setenv.c: Include allocsa.h.
50926         (alloca): Remove fallback definition.
50927         (freea): Remove macro.
50928         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
50929         instead of freea.
50930
50931 2004-01-20  Bruno Haible  <bruno@clisp.org>
50932
50933         * m4/eealloc.m4: New file, from GNU gettext.
50934
50935 2004-01-20  Bruno Haible  <bruno@clisp.org>
50936
50937         * m4/allocsa.m4: New file, from GNU gettext.
50938
50939 2004-01-20  Bruno Haible  <bruno@clisp.org>
50940
50941         * lib/xallocsa.h: New file, from GNU gettext.
50942         * lib/xallocsa.c: New file, from GNU gettext.
50943
50944 2004-01-20  Bruno Haible  <bruno@clisp.org>
50945
50946         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
50947
50948 2004-01-20  Bruno Haible  <bruno@clisp.org>
50949
50950         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
50951         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
50952         specially.
50953
50954 2004-01-20  Bruno Haible  <bruno@clisp.org>
50955
50956         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
50957         patch.
50958
50959 2004-01-20  Bruno Haible  <bruno@clisp.org>
50960
50961         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
50962
50963 2004-01-20  Bruno Haible  <bruno@clisp.org>
50964
50965         * lib/eealloc.h: New file.
50966
50967 2004-01-20  Bruno Haible  <bruno@clisp.org>
50968
50969         * lib/binary-io.h: Avoid warnings on Cygwin.
50970
50971 2004-01-20  Bruno Haible  <bruno@clisp.org>
50972
50973         * lib/allocsa.h: New file, from GNU gettext.
50974         * lib/allocsa.c: New file, from GNU gettext.
50975
50976 2004-01-18  Karl Berry  <karl@gnu.org>
50977
50978         * doc/gpl.texi, doc/lgpl.texi: new files.
50979
50980 2004-01-18  Karl Berry  <karl@gnu.org>
50981
50982         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
50983         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
50984
50985 2004-01-15  Paul Eggert  <eggert@twinsun.com>
50986
50987         Merge from coreutils.
50988
50989         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
50990         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
50991         (gl_DEFAULT_POSIX2_VERSION): Move
50992         the documentation from 'configure' into 'config.hin',
50993         so that 'configure --help' isn't burdened by it and
50994         we don't have to worry about its formatting there.
50995         Reword the documentation so that it's more succinct
50996         and can be run together into a single paragraph.
50997         * m4/same.m4 (gl_SAME): Check for pathconf.
50998
50999 2004-01-15  Paul Eggert  <eggert@twinsun.com>
51000
51001         Merge from coreutils.
51002
51003         * lib/posixver.c: Include posixver.h.
51004
51005         * lib/same.c: Include <stdbool.h>, <limits.h>.
51006         (_POSIX_NAME_MAX): Define if not defined.
51007         (MIN): New macro.
51008         (same_name): If file names are silently truncated, report
51009         that the file names are the same if they are the same after
51010         the silent truncation.
51011
51012         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
51013         conversion function.
51014         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
51015         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
51016         longer needed.
51017
51018 2004-01-15  Jim Meyering  <jim@meyering.net>
51019
51020         Merge from coreutils.
51021
51022         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
51023         if no library is required.
51024         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
51025         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
51026         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
51027         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
51028         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
51029         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
51030         value, $ac_cv_search_crypt, if it's "none required".
51031         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
51032         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
51033         not gl_FUNC_GETLOADAVG.
51034         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
51035         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
51036
51037 2004-01-15  Jim Meyering  <jim@meyering.net>
51038
51039         Merge from coreutils.
51040
51041         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
51042         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
51043         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
51044
51045         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
51046         optional configure-time default.
51047
51048         * lib/version-etc.c (version_etc_copyright): Update copyright date.
51049
51050         * lib/xreadlink.c (xreadlink): Correct outdated comment.
51051
51052 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
51053
51054         Merge from coreutils.
51055
51056         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
51057         value, $ac_cv_search_nanosleep, if it's "none required".
51058
51059 2004-01-14  Paul Eggert  <eggert@twinsun.com>
51060
51061         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
51062         with like-named macro in fnmatch.c.
51063         (EXT): Use an internal constant instead.
51064
51065         Merge fnmatch patches from glibc.
51066         * lib/fnmatch.c (mbsinit): Remove define.
51067         Add libc_hidden_ver (__fnmatch, fnmatch).
51068         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
51069         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
51070
51071 2004-01-14  Karl Berry  <karl@gnu.org>
51072
51073         * config/install-sh: update from automake.
51074
51075 2004-01-13  Karl Berry  <karl@gnu.org>
51076
51077         * config/install-sh: update from automake.
51078
51079 2004-01-09  Karl Berry  <karl@gnu.org>
51080
51081         * config/install-sh: update from automake.
51082
51083 2004-01-05  Karl Berry  <karl@gnu.org>
51084
51085         * config/config.{sub,guess}: update from config.
51086
51087 2003-12-31  Karl Berry  <karl@gnu.org>
51088
51089         * config/depcomp: update from automake.
51090
51091 2003-12-14  Karl Berry  <karl@gnu.org>
51092
51093         * lib/config.charset: update from gettext-runtime.
51094
51095 2003-12-03  Paul Eggert  <eggert@twinsun.com>
51096
51097         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
51098         Bug reported by Alfred M. Szmidt.
51099
51100 2003-12-03  Bruno Haible  <bruno@clisp.org>
51101
51102         * m4/gettext.m4: Upgrade from gettext-0.13.
51103         * m4/po.m4: Upgrade from gettext-0.13.
51104         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
51105         * m4/intmax.m4: New file, from gettext-0.13.
51106         * m4/printf-posix.m4: New file, from gettext-0.13.
51107
51108 2003-11-29  Karl Berry  <karl@gnu.org>
51109
51110         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
51111
51112 2003-11-25  Paul Eggert  <eggert@twinsun.com>
51113             Bruno Haible  <bruno@clisp.org>
51114
51115         * lib/printf-parse.h: Don't include sys/types.h.
51116         (ARG_NONE): New macro.
51117         (char_directive): Change type of *arg_index fields to size_t.
51118         * lib/printf-parse.c: Don't include sys/types.h.
51119         (SSIZE_MAX): Remove macro.
51120         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
51121         Remove unnecessary overflow check.
51122         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
51123         fields.
51124
51125 2003-11-25  Bruno Haible  <bruno@clisp.org>
51126
51127         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
51128
51129 2003-11-25  Bruno Haible  <bruno@clisp.org>
51130
51131         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
51132         gt_TYPE_SSIZE_T.
51133
51134 2003-11-24  Paul Eggert  <eggert@twinsun.com>
51135
51136         * modules/alloca: Remove dependency on xalloc.
51137
51138 2003-11-24  Paul Eggert  <eggert@twinsun.com>
51139
51140         * lib/alloca.c: Remove dependency on xalloc module.
51141         (xalloc_die): Remove.
51142         (memory_full) [!defined emacs]: New macro.
51143         [!defined emacs]: Don't include xalloc.h.
51144         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
51145         address arithmetic overflows.  Change datatypes a bit to avoid
51146         unnecessary casts.
51147
51148 2003-11-22  Jim Meyering  <jim@meyering.net>
51149
51150         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
51151         s/size/size_t/.
51152
51153 2003-11-21  Karl Berry  <karl@gnu.org>
51154
51155         * config/config.{sub,guess}: update from config.
51156
51157 2003-11-18  Karl Berry  <karl@gnu.org>
51158
51159         * config/config.{sub,guess}: update from config.
51160
51161         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
51162
51163 2003-11-17  Paul Eggert  <eggert@twinsun.com>
51164
51165         * README: Mention that S+T cannot overflow if S is the size of
51166         an existing object and T is sufficiently small.
51167
51168 2003-11-17  Jim Meyering  <jim@meyering.net>
51169
51170         On systems without utime and without a utimes function capable of
51171         dealing with a NULL struct utimbuf* argument, this utime replacement
51172         could -- in unusual circumstances -- leak a file descriptor.
51173         * lib/utime.c: Include <unistd.h> and <errno.h>.
51174         (utime_null): Be sure to close `fd' and to preserve errno.
51175         Reported by Geoff Collyer via Arnold Robbins.
51176
51177 2003-11-17  Bruno Haible  <bruno@clisp.org>
51178
51179         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
51180         (Depends-on): Add xsize.
51181
51182 2003-11-17  Bruno Haible  <bruno@clisp.org>
51183
51184         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
51185
51186 2003-11-17  Bruno Haible  <bruno@clisp.org>
51187
51188         * lib/vasnprintf.c (alloca): Remove fallback definition.
51189         (freea): Remove definition.
51190         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
51191         Reported by Paul Eggert.
51192
51193 2003-11-16  Paul Eggert  <eggert@twinsun.com>
51194             Bruno Haible  <bruno@clisp.org>
51195
51196         Protect against address arithmetic overflow.
51197         * lib/printf-args.h: Include stddef.h.
51198         (arguments): Change type of field 'count' to size_t.
51199         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
51200         'unsigned int' where appropriate.
51201         * lib/printf-parse.h: Include sys/types.h.
51202         (char_directive): Change type of *arg_index fields to ssize_t.
51203         (char_directives): Change type of fields 'count', max_*_length to
51204         size_t.
51205         * lib/printf-parse.c: Include sys/types.h and xsize.h.
51206         (SSIZE_MAX): Define fallback value.
51207         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
51208         instead of 'int' where appropriate. Check a_allocated, d_allocated
51209         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
51210         * lib/vasnprintf.c: Include xsize.h.
51211         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
51212         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
51213         overflow. Avoid wraparound when converting a width or precision from
51214         decimal to binary.
51215
51216 2003-11-16  Bruno Haible  <bruno@clisp.org>
51217
51218         Update from GNU gettext.
51219         * lib/printf-parse.c: Generalize to it can be compiled for wide
51220         strings.
51221         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
51222         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
51223         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
51224         SNPRINTF): New macros.
51225         Don't include <alloca.h> if the file is used inside libintl.
51226         (local_wcslen): New function, for Solaris 2.5.1.
51227         (VASNPRINTF): Use it instead of wcslen.
51228
51229 2003-11-16  Bruno Haible  <bruno@clisp.org>
51230
51231         * lib/xsize.h (xmax): New function.
51232         (xsum, xsum3, xsum4): Declare as "pure" functions.
51233
51234 2003-11-12  Paul Eggert  <eggert@twinsun.com>
51235
51236         * modules/xalloc (Files): Undo latest change, since xalloc.h
51237         no longer needs SIZE_MAX or PTRDIFF_MAX.
51238
51239 2003-11-12  Paul Eggert  <eggert@twinsun.com>
51240
51241         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
51242         gl_PTRDIFF_MAX.
51243
51244 2003-11-12  Paul Eggert  <eggert@twinsun.com>
51245
51246         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
51247         "return", to pacify some unknown compiler.  Problem reported
51248         by Joerg Schilling.
51249
51250 2003-11-12  Paul Eggert  <eggert@twinsun.com>
51251
51252         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
51253         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
51254         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
51255         heuristic is just as accurate as far as we know, and it removes a
51256         dependency on size_max.m4 and ptrdiff_max.m4.
51257
51258 2003-11-11  Bruno Haible  <bruno@clisp.org>
51259
51260         * modules/xsize (Files): Add m4/size_max.m4.
51261         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
51262
51263 2003-11-11  Bruno Haible  <bruno@clisp.org>
51264
51265         * m4/size_max.m4: New file.
51266         * m4/ptrdiff_max.m4: New file.
51267         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
51268         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
51269         (gl_XALLOC): Invoke it.
51270
51271 2003-11-11  Bruno Haible  <bruno@clisp.org>
51272
51273         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
51274         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
51275         defined.
51276
51277 2003-11-10  Paul Eggert  <eggert@twinsun.com>
51278
51279         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
51280         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
51281         rejected some allocations of exactly SIZE_MAX - 2 bytes.
51282         From Bruno Haible.
51283         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
51284         not (size_t) -1, since it's defined here.
51285
51286 2003-11-09  Karl Berry  <karl@gnu.org>
51287
51288         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
51289
51290 2003-11-06  Paul Eggert  <eggert@twinsun.com>
51291
51292         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
51293         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
51294         Reject sizes of exactly SIZE_MAX bytes.
51295         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
51296         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
51297
51298 2003-11-05  Bruno Haible  <bruno@clisp.org>
51299
51300         * lib/xsize.h: Include limits.h, to avoid a possible collision with
51301         SIZE_MAX defined in <limits.h> on Solaris.
51302
51303 2003-11-04  Jim Meyering  <jim@meyering.net>
51304
51305         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
51306         variable names, rather than @VAR@.
51307         * modules/poll: Likewise.
51308
51309 2003-11-04  Bruno Haible  <bruno@clisp.org>
51310
51311         * modules/xsize: New file.
51312         * modules/linebreak: Depend on xsize.
51313         * MODULES.html.sh (func_all_modules): Add xsize.
51314
51315 2003-11-04  Bruno Haible  <bruno@clisp.org>
51316
51317         * m4/xsize.m4: New file.
51318
51319 2003-11-04  Bruno Haible  <bruno@clisp.org>
51320
51321         * lib/xsize.h: New file.
51322         * lib/linebreak.c: Include xsize.h.
51323         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
51324         argument for overflow.
51325         Suggested by Paul Eggert.
51326
51327 2003-11-03  Karl Berry  <karl@gnu.org>
51328
51329         * config/config.{guess,sub}: update from config.
51330
51331 2003-11-03  Jim Meyering  <jim@meyering.net>
51332
51333         * modules/userspec (lib_SOURCES): Add userspec.h.
51334         (Include): Add "userspec.h".
51335         Improve description.
51336
51337 2003-11-03  Jim Meyering  <jim@meyering.net>
51338
51339         * lib/userspec.c: Include "userspec.h".
51340         * lib/userspec.h: New file.
51341
51342 2003-11-03  Bruno Haible  <bruno@clisp.org>
51343
51344         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
51345
51346 2003-11-03  Bruno Haible  <bruno@clisp.org>
51347
51348         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
51349         available, to avoid (extremely rare) race condition.
51350         Suggested by Paul Eggert.
51351
51352 2003-11-02  Karl Berry  <karl@gnu.org>
51353
51354         * config/srclist.txt (vasprintf.c): sync broken, sigh.
51355
51356 2003-10-31  Paul Eggert  <eggert@twinsun.com>
51357
51358         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
51359         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
51360         (read_filesystem_list): Set and use me_type_malloced.
51361         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
51362         whatever the type happens to be), for brevity and consistency.
51363         Check for size calculation overflow on Alphas running OSF/1.
51364
51365 2003-10-31  Jim Meyering  <jim@meyering.net>
51366
51367         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
51368
51369         * lib/linebuffer.c: Include <string.h> for declaration of memset.
51370
51371 2003-10-30  Paul Eggert  <eggert@twinsun.com>
51372             Bruno Haible  <bruno@clisp.org>
51373
51374         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
51375         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
51376
51377 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
51378
51379         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
51380         netbsd*-gnu*.  Suggested by Robert Millan.
51381
51382 2003-10-29  Paul Eggert  <eggert@twinsun.com>
51383
51384         * modules/group-member: Depend on stdbool.
51385
51386 2003-10-29  Paul Eggert  <eggert@twinsun.com>
51387
51388         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
51389
51390 2003-10-29  Paul Eggert  <eggert@twinsun.com>
51391
51392         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
51393         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
51394         after the 'gnu' in these cases.  This fixes some bugs in the
51395         previous change, and is based on suggestions by Robert Millan.
51396
51397 2003-10-29  Paul Eggert  <eggert@twinsun.com>
51398
51399         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
51400         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
51401         no longer needed.
51402         * lib/quotearg.c (quotearg_n_options): Use it.
51403         * lib/group-member.c: Include <stdbool.h>.
51404         (free_group_info): Arg is now const *; don't free arg.
51405         (get_group_info): Now returns bool and accepts struct group_info *,
51406         rather than returning a malloc'ed struct group_info *.
51407         All uses changed.  Check for overflow in internal size calculation.
51408
51409         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
51410         rather than xmalloc/xrealloc.
51411         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
51412         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
51413         conformance bug: the old code used a pointer after freeing the
51414         storage that it addressed.
51415         * lib/hash.c (hash_initialize): Simplify the code by using
51416         xalloc_oversized rather than doing it by hand.
51417         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
51418         the buffer preserved.  Use free and xmalloc instead.
51419         * lib/quotearg.c (quotearg_n_options): Likewise.
51420         Use a simpler test for size overflow.  Don't use xalloc_oversized
51421         because unsigned int might be wider than size_t (!); this suggests
51422         that we should switch from unsigned int to size_t for slot numbers.
51423
51424 2003-10-28  Paul Eggert  <eggert@twinsun.com>
51425
51426         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
51427         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
51428         NetBSD kernels.  Requested by Richard Stallman.
51429
51430 2003-10-27  Paul Eggert  <eggert@twinsun.com>
51431
51432         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
51433         to allocate the returned structure.  Do not allocate a subarray,
51434         as x2nrealloc will do that.
51435         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
51436         instead of xnrealloc.
51437         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
51438
51439 2003-10-27  Bruno Haible  <bruno@clisp.org>
51440
51441         * lib/stdbool_.h: Better support for BeOS.
51442
51443 2003-10-26  Paul Eggert  <eggert@twinsun.com>
51444
51445         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
51446         now uses inline.
51447
51448 2003-10-26  Paul Eggert  <eggert@twinsun.com>
51449
51450         * lib/xalloc.h (xalloc_oversized): New static inline function, for
51451         callers that want to do their own size-overflow checking.  Include
51452         <stdbool.h>, since xalloc_oversized returns bool.
51453         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
51454         to use xalloc_oversized.
51455
51456         Add two functions x2realloc, x2nrealloc, for programs that grow
51457         arrays dynamically by doubling their sizes.
51458         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
51459         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
51460         New functions.
51461
51462         Port to C99 semantics for 'inline' of external functions.
51463         Bug reported by Bruno Haible.
51464         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
51465         with the old contents of xnmalloc.
51466         (xnmalloc, xmalloc): Use it.
51467         (xnrealloc_inline): New static inline function,
51468         with the old contents of xnrealloc.
51469         (xnrealloc, xrealloc): Use it.
51470
51471         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
51472         that.
51473
51474 2003-10-26  Karl Berry  <karl@gnu.org>
51475
51476         * config/srclist.txt (COPYING.DOC): no longer available from
51477         /gd/gnuorg; don't know where the ultimate source is.
51478
51479 2003-10-25  Paul Eggert  <eggert@twinsun.com>
51480
51481         Fix several address-calculation bugs in the hash modules,
51482         plus some minor code cleanup.
51483
51484         * lib/hash.h: Include <stdbool.h>, for bool.
51485         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
51486         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
51487         hash_get_n_entries, hash_get_max_bucket_length,
51488         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
51489         hash_rehash): Use size_t rather than unsigned.
51490         * lib/hash.c (struct hash_table, hash_get_n_buckets,
51491         hash_get_n_buckets_used, hash_get_n_entries,
51492         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
51493         hash_get_entries, hash_do_for_each, hash_string, is_prime,
51494         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
51495         Likewise.
51496         (SIZE_MAX): Define if not defined.
51497         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
51498         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
51499         hash_print):
51500         Use const * when possible.
51501         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
51502         (check_tuning): Fix bug: if tuning parameters were very close to
51503         0 or 1, rounding errors could have caused subscript violations.
51504         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
51505         (hash_initialize): Add 'fail:' label
51506         to free table and return NULL, and use it to simplify code.
51507         Use calloc rather than clearing the storage ourself.
51508         (hash_initialize, hash_rehash): Check for arithmetic overflow in
51509         buffer size calculations.
51510         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
51511         Include <stddef.h>, for size_t.
51512         * lib/hash-pjw.c (hash_pjw): Likewise.
51513         Switch to method described by Bruno Haible.
51514         Include <limits.h>, for CHAR_BIT.
51515         (SIZE_BITS): New macro.
51516
51517 2003-10-23  Paul Eggert  <eggert@twinsun.com>
51518
51519         * m4/getline.m4 (AM_FUNC_GETLINE):
51520         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
51521         hosts.  Problem reported by Derek Robert Price in
51522         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
51523         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
51524         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
51525
51526 2003-10-21  Paul Eggert  <eggert@twinsun.com>
51527
51528         * lib/getndelim2.c (getndelim2): When size calculation overflows,
51529         ceiling the allocation at NMAX bytes rather than silently
51530         discarding input bytes before NMAX is reached.  This makes
51531         a difference only if NMAX exceeds SIZE_MAX / 2.
51532
51533         * lib/obstack.c: Merge from glibc.
51534         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
51535         Add libc_hidden_def (_obstack_newchunk).
51536         (_obstack_free) [! defined _LIBC]: Remove.
51537         [defined _LIBC]: Make a strong alias from obstack_free, rather than
51538         a clone of the function body.
51539         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
51540         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
51541
51542         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
51543         glibc.
51544         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
51545         arg to memcpy.
51546
51547         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
51548         (obstack_ptr_grow_fast, obstack_int_grow_fast):
51549         Don't use lvalue casts, as GCC plans to remove support for them
51550         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
51551         was also present in the non-GCC version, indicating that this
51552         code had always been buggy and had never been widely used.
51553         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
51554         Use the fast variant of each macro, rather than copying the
51555         definiens of the fast variant; that way, we'll be more likely to
51556         catch future bugs in the fast variants.
51557
51558 2003-10-20  Bruno Haible  <bruno@clisp.org>
51559
51560         * modules/wait-process: New file.
51561         * MODULES.html.sh (func_all_modules): Add wait-process.
51562
51563 2003-10-20  Bruno Haible  <bruno@clisp.org>
51564
51565         * m4/wait-process.m4: New file.
51566
51567 2003-10-20  Bruno Haible  <bruno@clisp.org>
51568
51569         * lib/wait-process.h: New file, from GNU gettext.
51570         * lib/wait-process.c: New file, from GNU gettext.
51571
51572 2003-10-19  Jim Meyering  <jim@meyering.net>
51573
51574         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
51575         HPUX 10.20.
51576
51577 2003-10-18  Karl Berry  <karl@gnu.org>
51578
51579         * config/config.guess: update from config.
51580
51581 2003-10-16  Paul Eggert  <eggert@twinsun.com>
51582
51583         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
51584         (getgroups): First arg is int, not size_t.
51585         Don't let 'free' mangle errno.
51586
51587 2003-10-16  Paul Eggert  <eggert@twinsun.com>
51588
51589         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
51590
51591 2003-10-16  Karl Berry  <karl@gnu.org>
51592
51593         * config/config.{guess,sub}: update from config.
51594
51595 2003-10-16  Jim Meyering  <jim@meyering.net>
51596
51597         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
51598         memcpy.
51599
51600 2003-10-15  Paul Eggert  <eggert@twinsun.com>
51601
51602         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
51603         (SIZE_MAX): Remove.
51604         (new_exclude, add_exclude_file): Initial size no longer needs to
51605         be a power of 2.
51606         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
51607         our own address arithmetic overflow checking.
51608
51609         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
51610         (fnmatch): Do not alloca more than 2000 wide characters;
51611         instead, use malloc for large buffers.
51612         Check for address arithmetic overflow, and return -1
51613         with errno set to ENOMEM in that case.
51614         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
51615         (NEW_PATTERN): Do not alloca more than 8000 bytes;
51616         instead, return -1.  Check for address arithmetic overflow.
51617
51618 2003-10-14  Paul Eggert  <eggert@twinsun.com>
51619
51620         Handle invalid suffixes and overflow independently, so that
51621         callers can treat them independently as needed.  Fix some bugs in
51622         suffix handling, e.g., "100k@" was not diagnosed as an invalid
51623         suffix for a human-readable blocksize.  The major caller-visible
51624         change is the addition of a new
51625         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
51626         that both overflow and suffix chars were found.
51627
51628         * lib/human.c (humblock): Don't check separately for invalid suffix
51629         char; that is xstrtoumax's job (now that its bug is fixed).
51630         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
51631         INTMAX_MAX]: New macros.
51632         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
51633         TYPE_MAXIMUM): New macros.
51634         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
51635         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
51636         if overflow occurs, as it's what __strtol does and it's more useful
51637         in practice.
51638         (__xstrtol): If __strtol reports some error other than ERANGE,
51639         reflect it to the caller as LONGINT_INVALID.  If it reports
51640         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
51641         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
51642         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
51643         value.
51644         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
51645         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
51646         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
51647         [defined UINTMAX_MAX]: New macros.
51648
51649 2003-10-14  Bruno Haible  <bruno@clisp.org>
51650
51651         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
51652
51653 2003-10-14  Bruno Haible  <bruno@clisp.org>
51654
51655         * m4/sig_atomic_t: New file, from GNU gettext.
51656         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
51657
51658 2003-10-14  Bruno Haible  <bruno@clisp.org>
51659
51660         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
51661         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
51662         Also use volatile where needed.
51663
51664 2003-10-12  Paul Eggert  <eggert@twinsun.com>
51665
51666         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
51667         Change maintainer from Bruno Haible to 'all'.
51668
51669 2003-10-12  Paul Eggert  <eggert@twinsun.com>
51670
51671         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
51672
51673 2003-10-12  Paul Eggert  <eggert@twinsun.com>
51674
51675         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
51676         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
51677         and define in terms of the other primitives.
51678         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
51679         (SIZE_MAX): Define if not already defined.
51680         (array_size_overflow): New function.
51681         (xalloc_die): Abort instead of exiting if 'error' returns.
51682         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
51683         (xmalloc, xrealloc): Use them.
51684         (xcalloc): Check for address arithmetic overflow.
51685         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
51686         a bit faster than strcpy.
51687
51688 2003-10-10  Simon Josefsson  <jas@extundo.com>
51689
51690         * modules/argp (Depends-on): Add restrict and strcase.
51691
51692 2003-10-10  Simon Josefsson  <jas@extundo.com>
51693
51694         * m4/argp.m4: Add AC_C_INLINE.
51695
51696 2003-10-08  Paul Eggert  <eggert@twinsun.com>
51697
51698         Merge getpass from libc, plus a few fixes.
51699
51700         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
51701         Include <stdbool.h>.
51702         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
51703         __fsetlocking to empty.
51704         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
51705         do include <bits/libc-lock.h>.
51706         Do not include <fcntl.h>; not needed.
51707         [_LIBC]: Include <wchar.h>.
51708         (NOTCANCEL_MODE): New macro.
51709         (flockfile, funlockfile) [_LIBC]: New macros.
51710         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
51711         [!_LIBC]: New macros.
51712         (call_fclose): New function.
51713         (getpass): Use it.  Save tty stream separately; this simplifies the
51714         code and makes it more reliable if stdin happens to equal stdout.
51715         Invoke __fsetlocking on tty.
51716         Handle thread cancellation if needed.
51717         Namespace cleanup (use __tcgetattr, __getline).
51718         Use bool for Booleans.
51719         [USE_IN_LIBIO]: Handle wide streams.
51720         [!_LIBC]: Unconditionally do the fseek, since we don't know what
51721         stream might go where.
51722
51723         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
51724         doesn't have to include <stdio.h> before us.
51725         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
51726         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
51727         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
51728         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
51729         if not declared, so that we can use getpass.c code from libc without
51730         rewriting it.
51731         (flockfile, ftrylockfile, funlockfile): New macros.
51732
51733 2003-10-08  Paul Eggert  <eggert@twinsun.com>
51734
51735         * modules/getpass: Depend on stdbool.
51736
51737 2003-10-08  Paul Eggert  <eggert@twinsun.com>
51738
51739         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
51740
51741 2003-10-07  Karl Berry  <karl@gnu.org>
51742
51743         * config/config.{guess,sub}: update from config.
51744
51745 2003-10-06  Jim Meyering  <jim@meyering.net>
51746             Bruno Haible  <bruno@clisp.org>
51747
51748         This lets translators provide better translations for the
51749         "Written by ..." part of --version output.
51750         * lib/version-etc.h: Include stdarg.h.
51751         (version_etc_copyright): Declare as readonly.
51752         (version_etc): Make this function variadic with a NULL-terminated list
51753         of author name strings.
51754         (version_etc_va): New declaration.
51755         * lib/version-etc.c: Include stdarg.h, stdlib.h.
51756         (version_etc_copyright): Declare as readonly.
51757         (version_etc_va): New function. Provide a different translatable string
51758         for each possible number of authors < 10. Abbreviate when there are 10
51759         authors or more.
51760         (version_etc): Make this function variadic. Call version_etc_va.
51761         Suggestion from Gary V. Vaughan.
51762
51763         * lib/long-options.h (parse_long_options): Change prototype: the
51764         authors string is moved to the end and becomes variadic.
51765         * lib/long-options.c: Include stdarg.h.
51766         (parse_long_options): Make this function variadic, too.
51767         Call version_etc_va, not version_etc.
51768
51769 2003-10-06  Bruno Haible  <bruno@clisp.org>
51770
51771         * modules/version-etc-2: Remove file.
51772         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
51773
51774 2003-10-06  Bruno Haible  <bruno@clisp.org>
51775
51776         * modules/fatal-signal: New file.
51777         * MODULES.html.sh (func_all_modules): Add fatal-signal.
51778
51779 2003-10-06  Bruno Haible  <bruno@clisp.org>
51780
51781         * m4/fatal-signal.m4: New file.
51782         * m4/signalblocking.m4: New file, from GNU gettext.
51783
51784 2003-10-06  Bruno Haible  <bruno@clisp.org>
51785
51786         * lib/version-etc-2.h: Remove file.
51787         * lib/version-etc-2.c: Remove file.
51788
51789 2003-10-06  Bruno Haible  <bruno@clisp.org>
51790
51791         * lib/fatal-signal.h: New file, from GNU gettext.
51792         * lib/fatal-signal.c: New file, from GNU gettext.
51793
51794 2003-10-05  Paul Eggert  <eggert@twinsun.com>
51795
51796         * README: Rework advice for preventing empty .o files.
51797         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
51798         not <sys/types.h>.
51799
51800 2003-10-04  Karl Berry  <karl@gnu.org>
51801
51802         * lib/argp*: update from libc.
51803
51804 2003-10-04  Karl Berry  <karl@gnu.org>
51805
51806         * config/config.{guess,sub}: update from config.
51807
51808 2003-10-02  Bruno Haible  <bruno@clisp.org>
51809
51810         * modules/lchown (Include): Add lchown.h.
51811         * modules/time_r (Include): Use "..." syntax.
51812         * modules/xgetdomainname (Include): Add xgetdomainname.h.
51813
51814 2003-10-01  Simon Josefsson  <jas@extundo.com>
51815
51816         * MODULES.html.sh (func_all_modules): Move gethostname from section
51817         'based on' to section 'lacking' POSIX:2001.
51818
51819 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
51820
51821         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
51822         to output mode on the same stream.
51823
51824 2003-09-29  Paul Eggert  <eggert@twinsun.com>
51825
51826         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
51827         Fix arg typo in previous patch.
51828
51829 2003-09-28  Jim Meyering  <jim@meyering.net>
51830
51831         * lib/error.c: Correct cpp indentation.
51832
51833 2003-09-27  Paul Eggert  <eggert@twinsun.com>
51834
51835         * modules/free: New file.
51836
51837 2003-09-27  Paul Eggert  <eggert@twinsun.com>
51838
51839         * m4/free.m4: New file.
51840
51841 2003-09-27  Paul Eggert  <eggert@twinsun.com>
51842
51843         * lib/minmax.h (MIN, MAX)
51844         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
51845         Omit the special code that used __typeof__, since we worry that
51846         it could be more trouble than it's worth.  See:
51847         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
51848         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
51849
51850         * lib/free.c: New file.
51851
51852 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
51853
51854         Trivial fixes to Makefile.am parts of module listings.
51855         * modules/strstr: Append strstr.h to lib_SOURCES.
51856         * modules/strcase: Likewise, for strcase.h.
51857
51858 2003-09-27  Karl Berry  <karl@gnu.org>
51859
51860         * config/mkinstalldirs: update from automake.
51861
51862 2003-09-26  Paul Eggert  <eggert@twinsun.com>
51863
51864         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
51865         (error_tail): Do not loop, reallocating temporary buffer, since
51866         the output cannot contain more wide characters than the input
51867         contains bytes, the size must be big enough already.  This avoids
51868         one potential size overflow calculation.  Check for size overflow
51869         when calculating temporary buffer size.  Free temporary buffer
51870         when done, if it was allocated with malloc; this plugs a memory
51871         leak.  Remove casts from void * to pointers, that are no longer
51872         needed now that we're assuming C89 or better.
51873
51874         Merge error changes from glibc.
51875
51876         * lib/error.c, error.h: Update copyright notice header to match glibc.
51877         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
51878         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
51879         Disable cancellation while printing error.
51880         * lib/error.h: Prepend __ to parameter names.
51881
51882 2003-09-26  Jim Meyering  <jim@meyering.net>
51883
51884         * lib/error.c (error_tail): Move some declarations
51885         into inner scope where the local variables are used.
51886
51887 2003-09-26  Bruno Haible  <bruno@clisp.org>
51888
51889         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
51890         stpncpy().
51891         Don't define stpncpy through config.h; it's now done through stpncpy.h.
51892
51893 2003-09-26  Bruno Haible  <bruno@clisp.org>
51894
51895         * lib/stpncpy.h (gnu_stpncpy): New declaration.
51896         (stpncpy): Define as alias for gnu_stpncpy.
51897         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
51898
51899 2003-09-25  Simon Josefsson  <jas@extundo.com>
51900
51901         * lib/xgetdomainname.h: New file.
51902         * lib/xgetdomainname.c: New file.
51903
51904 2003-09-25  Simon Josefsson  <jas@extundo.com>
51905             Bruno Haible  <bruno@clisp.org>
51906
51907         * modules/getdomainname: New file.
51908         * modules/xgetdomainname: New file.
51909         * MODULES.html.sh (func_all_modules): Add getdomainname,
51910         xgetdomainname.
51911
51912 2003-09-25  Simon Josefsson  <jas@extundo.com>
51913             Bruno Haible  <bruno@clisp.org>
51914
51915         * m4/getdomainname.m4: New file.
51916
51917 2003-09-25  Simon Josefsson  <jas@extundo.com>
51918             Bruno Haible  <bruno@clisp.org>
51919
51920         * lib/getdomainname.h: New file.
51921         * lib/getdomainname.c: New file.
51922
51923 2003-09-25  Karl Berry  <karl@gnu.org>
51924
51925         * lib/argp-fmtstream.c, argp-help.c: update from libc.
51926
51927 2003-09-25  Karl Berry  <karl@gnu.org>
51928
51929         * config/install-sh: update from automake.
51930
51931 2003-09-25  Bruno Haible  <bruno@clisp.org>
51932
51933         * modules/version-etc-2: New file, from modules/version-etc with
51934         modifications.
51935         * MODULES.html.sh (func_all_modules): Add version-etc-2.
51936
51937 2003-09-25  Bruno Haible  <bruno@clisp.org>
51938
51939         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
51940         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
51941
51942 2003-09-24  Simon Josefsson  <jas@extundo.com>
51943
51944         * modules/xgethostname: Add xgethostname.h.
51945
51946 2003-09-24  Paul Eggert  <eggert@twinsun.com>
51947
51948         * lib/linebuffer.c (freebuffer): Don't free the argument, just
51949         the buffer associated with the argument.  Bug reported by
51950         Simon Josefsson.
51951
51952 2003-09-24  Paul Eggert  <eggert@twinsun.com>
51953
51954         * README: Document assumptions that 'int' is at least 32 bits
51955         wide, that integer arithmetic is 2's complement without overflow,
51956         that there are no holes in integer values, that adding sizes of
51957         two nonoverlapping objects can't overflow, and that all-bits-zero
51958         yields scalar zero.  Fix spelling and capitalization typos.
51959
51960 2003-09-19  Karl Berry  <karl@gnu.org>
51961
51962         * lib/argp.h: update from libc.
51963
51964 2003-09-17  Paul Eggert  <eggert@twinsun.com>
51965
51966         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
51967         to avoid spurious warnings like "AC_RUN_IFELSE was called before
51968         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
51969
51970 2003-09-17  Paul Eggert  <eggert@twinsun.com>
51971
51972         * gnulib-tool: Use "test -h", not "test -L", for portability
51973         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
51974         (tags_regexp): Remove, since \| doesn't conform to POSIX.
51975         (sed_extract_prog): Issue s commands one-by-one, rather than
51976         using \| in one s command.
51977
51978 2003-09-16  Paul Eggert  <eggert@twinsun.com>
51979
51980         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
51981         input error, instead of returning NULL the next time we are called
51982         (and therefore losing track of errno).
51983
51984 2003-09-16  Bruno Haible  <bruno@clisp.org>
51985
51986         * gnulib-tool (func_create_testdir): Warn about duplicated
51987         dependencies.
51988
51989 2003-09-15  Paul Eggert  <eggert@twinsun.com>
51990
51991         * modules/argmatch, modules/fatal, modules/obstack,
51992         modules/xalloc, modules/xgethostname: Sort dependencies by
51993         importance, not alphabetically.
51994
51995 2003-09-15  Paul Eggert  <eggert@twinsun.com>
51996
51997         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
51998         fails, so that the caller gets the proper errno.
51999
52000         * lib/readutmp.c (read_utmp): Likewise.
52001         Check for fstat error.  Close stream and free storage
52002         when failing.
52003
52004 2003-09-14  Karl Berry  <karl@gnu.org>
52005
52006         * config/srclist.txt (strdup.c): disable for c89 changes.
52007
52008 2003-09-14  Jim Meyering  <jim@meyering.net>
52009
52010         * lib/getloadavg.c: Correct cpp indentation.
52011         * lib/strdup.c: Likewise.
52012         * lib/vasnprintf.c: Likewise.
52013
52014 2003-09-14  Bruno Haible  <bruno@clisp.org>
52015
52016         * modules/fwriteerror: New file.
52017         * MODULES.html.sh (func_all_modules): Add fwriteerror.
52018
52019 2003-09-14  Bruno Haible  <bruno@clisp.org>
52020
52021         * lib/fwriteerror.h: New file.
52022         * lib/fwriteerror.c: New file.
52023
52024 2003-09-12  Paul Eggert  <eggert@twinsun.com>
52025
52026         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
52027         modules/xgethostname, modules/xalloc: Depend on exit.
52028
52029 2003-09-12  Paul Eggert  <eggert@twinsun.com>
52030
52031         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
52032
52033         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
52034         and AC_MINIX, too, so that their extensions are available.
52035
52036         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
52037         This macro has been superseded by gl_BACKUPFILE.
52038
52039         More patches to assume C89 or better.
52040
52041         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
52042
52043         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
52044         unconditionally.
52045         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
52046         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
52047         Include <string.h>, <stdlib.h> unconditionally.
52048         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
52049         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
52050         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
52051         headers or for string.h.
52052         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
52053         or strtoul.
52054
52055         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
52056         headers.
52057         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
52058         * m4/userspec.m4 (gl_USERSPEC): Likewise.
52059         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
52060         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
52061         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
52062         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
52063         memcpy, memset.
52064         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
52065         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
52066         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
52067         strtol.
52068         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
52069         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
52070         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
52071         strtoul.
52072
52073 2003-09-12  Paul Eggert  <eggert@twinsun.com>
52074
52075         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
52076         * lib/obstack.c [!defined _LIBC]: Likewise.
52077         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
52078         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
52079         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
52080
52081         More changes to assume C89 or better.
52082
52083         * lib/error.c (error_tail): Assume vprintf.
52084
52085         * lib/argmatch.c (getenv): Remove decl.
52086         * lib/progreloc.c (get_full_program_name): Define via prototype.
52087         * lib/setenv.c (clearenv): Likewise.
52088         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
52089         needed.
52090         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
52091         (malloc, memcpy): Remove decls.
52092         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
52093         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
52094         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
52095         (memcpy): Remove macro.
52096         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
52097         (__P): Remove.  All uses removed.
52098         (PTR): Remove.  All uses changed to void *.
52099         (CHAR_BIT, NULL): Remove.
52100         (spaces, zeros, memset_space, memset_zero)
52101         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
52102         Remove.
52103         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
52104         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
52105         Define with prototype.
52106         Remove now-unnecessary prototype decl.
52107         (extra_args_spec): Assume ANSI C.  All uses changed.
52108         (extra_args_spec_iso): Remove.
52109         (my_strftime, emacs_strftimeu): Define via prototype.
52110         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
52111         unconditionally.
52112         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
52113         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
52114         (strtoul, strtol): Remove decls.
52115         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
52116         LONG_MAX): Remove.
52117         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
52118         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
52119         (LOCALE_PARAM_PROTO): New macro.
52120         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
52121         (INTERNAL (strtol), strtol): Define with a prototype.
52122         (PARAMS): Remove.  All uses removed.
52123         * lib/tempname.c: Include <string.h> unconditionally.
52124         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
52125         * lib/xgethostname.c (main): Define with a prototype.
52126         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
52127         Include <stdlib.h> unconditionally.
52128         (calloc, malloc, realloc, free): Remove decls.
52129         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
52130         Include <stdlib.h> unconditionally.  Sort include file names.
52131         (strtod): Remove.
52132         (xstrtod): Define with a prototype.
52133         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
52134         (strtol, strtoul): Remove decls.
52135
52136 2003-09-11  Paul Eggert  <eggert@twinsun.com>
52137
52138         More patches to assume C89 or better.
52139         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
52140         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
52141         string.h, memchr, STDC_HEADERS.
52142
52143 2003-09-11  Paul Eggert  <eggert@twinsun.com>
52144
52145         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
52146         Include <stdlib.h>, <string.h> unconditionally.
52147         Remove now-unnecessary cast to char *.
52148         * lib/strnlen.c: Include <string.h> unconditionally.
52149         * lib/yesno.c (yesno): Define with a prototype.
52150
52151 2003-09-11  Bruno Haible  <bruno@clisp.org>
52152
52153         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
52154
52155 2003-09-10  Jim Meyering  <jim@meyering.net>
52156
52157         * lib/error.c: Correct indentation of cpp directives.
52158
52159 2003-09-10  Bruno Haible  <bruno@clisp.org>
52160
52161         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
52162         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
52163         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
52164         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
52165         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
52166         <stdlib.h> and <string.h> checks.
52167         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
52168         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
52169
52170 2003-09-10  Bruno Haible  <bruno@clisp.org>
52171
52172         * lib/strcspn.c: Include <string.h> unconditionally.
52173         * lib/strpbrk.c: Include <string.h> unconditionally.
52174         * lib/strstr.c: Include <string.h> unconditionally.
52175         * lib/unicodeio.c: Include <string.h> unconditionally.
52176         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
52177         * lib/unsetenv.c: Likewise.
52178         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
52179         * lib/yesno.c: Include <stdlib.h> unconditionally.
52180         (rpmatch): Add prototype.
52181
52182 2003-09-09  Paul Eggert  <eggert@twinsun.com>
52183
52184         More patches to assume C89 or better.
52185         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
52186         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
52187         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
52188         or for string.h.
52189         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
52190         stdlib.h.
52191         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
52192         C headers.
52193         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
52194         string.h.
52195         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
52196         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
52197         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
52198         or for string.h.
52199         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
52200         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
52201         C headers.
52202         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
52203         memcpy.
52204         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
52205         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
52206         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
52207         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
52208         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
52209         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
52210         string.h, free.
52211         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
52212         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
52213         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
52214         C headers, or for string.h.
52215         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
52216         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
52217         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
52218         headers, memory.h, stdlib.h, string.h, strings.h.
52219         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
52220         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
52221         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
52222         strchr.
52223         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
52224         headers, memory.h, string.h.
52225         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
52226         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
52227         free.
52228         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
52229         headers.
52230         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
52231         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
52232         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
52233         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
52234         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
52235
52236 2003-09-09  Paul Eggert  <eggert@twinsun.com>
52237
52238         More K&R removal.
52239
52240         * lib/acosl.c (main): Use a prototype.
52241         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
52242         tanl.c: Likewise.
52243
52244         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
52245
52246         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
52247         (getopt, etopt_long, getopt_long_only, _getopt_internal)
52248         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
52249         with a prototype.
52250         * lib/getopt.c (const): Remove macro.
52251         Include <string.h> unconditionally.
52252         (my_index): Remove; all uses changed to strchr.
52253         (strlen): Remove decl.
52254         (exchange): Remove forward decl; no longer needed.
52255         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
52256         Define with prototype.
52257         * lib/getopt1.c (const): Remove macro.
52258         (getopt_long, getopt_long_only, main): Define with prototype.
52259
52260         * lib/getugroups.c: Include <string.h> unconditionally.
52261
52262         * lib/getusershell.c: Include <stdlib.h> unconditionally.
52263         (getusershell, setusershell, endusershell, readname, main):
52264         Define with prototypes.
52265
52266         * lib/group-member.c: Include group-member.h first.
52267         Include <stdlib.h> unconditionally.
52268
52269         * lib/hard-locale.c: Include hard-locale.h first.
52270         Include <stdlib.h>, <string.h> unconditionally.
52271
52272         * lib/hash.c (free, malloc): Remove decls.
52273         Include <stdlib.h> unconditionally.
52274
52275         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
52276         (getenv): Do not declare.
52277
52278         * lib/idcache.c: Include <string.h> unconditionally.
52279
52280         * lib/long-options.c: Include long-options.h first, to test interface.
52281         Include <stdlib.h> unconditionally.
52282
52283         * lib/makepath.c: Include makepath.h first, to test interface.
52284         Include <stdlib.h> and <string.h> unconditionally.
52285
52286         * lib/linebuffer.c: Include <stdlib.h>.
52287         (free): Remove decl.
52288
52289         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
52290         stddef.h. rpl_malloc returns void *, not char *.
52291         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
52292         prototype.
52293
52294         * lib/md5.h: Include <limits.h> unconditionally.
52295         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
52296         (__P): Remove; all uses removed.
52297         * lib/md5.c: Include "md5.h" first.
52298         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
52299         md5_buffer, md5_process_bytes, md5_process_block):
52300         Define with prototypes.
52301         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
52302         * lib/sha.c: Include "sha.h" first.
52303         Include <stdlib.h>, <string.h> unconditionally.
52304
52305         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
52306         * lib/memcmp.c (__ptr_t): Likewise.
52307         * lib/memrchr.c (__ptr_t): Likewise.
52308         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
52309         Include <string.h> unconditionally.
52310         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
52311         * lib/memchr.c: Include <stdlib.h> unconditionally.
52312         * lib/memchr.c (LONG_MAX): Remove.
52313         * lib/memrchr.c (LONG_MAX): Likewise.
52314         * lib/memchr.c (__memchr): Define via a prototype.
52315         * lib/memrchr.c (__memrchr): Likewise.
52316         * lib/memcmp.c (__P): Remove, and remove all uses.
52317         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
52318         Remove forward decls; no longer needed.
52319         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
52320         Use types required by C89 in prototype.
52321
52322         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
52323         * lib/savedir.c: Likewise.
52324         * lib/mkdir.c (free): Remove decl.
52325         * lib/rmdir.c (rmdir): Define with a prototype.
52326         * lib/savedir.c: Include savedir.h first, to test interface.
52327
52328         * lib/mktime.c (STDC_HEADERS): Remove.
52329         Include <stdlib.h>, <string.h> unconditionally.
52330
52331         * lib/modechange.c: Include <stdlib.h> unconditionally.
52332         (malloc): Remove decl.
52333
52334         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
52335         (free): Remove decl.
52336
52337         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
52338         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
52339         (This type really should be intptr_t, but that's a C99ism.)
52340         (_obstack_memcpy): Remove: all uses changed to memcpy.
52341         Include <string.h> unconditionally.
52342         (struct obstack): Assume __STDC__ for types of members
52343         chunkfun, freefun, extra_arg.
52344         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
52345         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
52346         obstack_begin, obstack_specify_allocation,
52347         obstack_specify_allocation_with_arg, obstack_chunkfun,
52348         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
52349         Remove unprototyped decls and the macros that use them.
52350         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
52351         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
52352         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
52353         (defined __STDC__ && __STDC__)]:
52354         Remove nonprototyped code.
52355         Include <stdlib.h> unconditionally.
52356         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
52357         _obstack_allocated_p, _obstack_free, obstack_free,
52358         _obstack_memory_used, print_and_abort):
52359         Define using prototypes.
52360         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
52361         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
52362         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
52363         obstack_next_free, obstack_object_size, obstack_room) [0]:
52364         Remove unused, unprototyped code.
52365
52366         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
52367
52368         * lib/physmem.c (physmem_total, physmem_available, main): Define
52369         with prototypes.
52370
52371         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
52372         (main): Define with a prototype.
52373
52374         * lib/posixver.c (getenv): Remove decl.
52375
52376         * lib/putenv.c (malloc): Returns void *, not char *.
52377         Include <string.h> unconditionally.
52378         (strchr, memcpy, NULL): Do not define.
52379
52380         * lib/readtokens.c: Include readtokens.h first, to test interface.
52381         Include <stdlib.h>, <string.h> unconditionally.
52382         (init_tokenbuffer): Define with a prototype.
52383
52384         * lib/regex.c (PARAMS): Remove.  All uses removed.
52385         All uses of _RE_ARGS removed, too.
52386         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
52387         unconditionally.
52388         (bzero): Assume memset exists.
52389         (memcmp, memcpy, NULL): Remove.
52390         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
52391         char, or assignments to local vars of type signed char.
52392         (init_syntax_once, PREFIX(extract_number_and_incr),
52393         PREFIX(print_partial_compiled_pattern),
52394         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
52395         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
52396         PREFIX(regex_grow_registers), PREFIX(regex_compile),
52397         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
52398         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
52399         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
52400         wcs_compile_range, byte_compile_range, truncate_wchar,
52401         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
52402         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
52403         count_mbs_length, wcs_re_match_2_internal,
52404         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
52405         PREFIX(alt_match_null_string_p),
52406         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
52407         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
52408         regfree, PREFIX(extract_number)): Define with prototype.  Remove
52409         now-unnecessary declaration, if any.
52410         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
52411         regcomp, regexec):
52412         Remove now-unnecessary casts among pointer types.
52413         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
52414
52415         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
52416         (free): Remove decl.
52417
52418         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
52419
52420         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
52421         (free): Remove decl.
52422
52423         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
52424         * lib/xgetcwd.c: Likewise.
52425
52426         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
52427         (free): Remove decl.
52428
52429         * lib/strchrnul.c (strchrnul): Define with a prototype.
52430         Fix bug: c_in was not converted to char before searching.
52431
52432         The following changes are not K&R related:
52433
52434         * lib/group-member.h: Include <sys/types.h>, so that this file is
52435         self-contained.
52436         * lib/makepath.h: Likewise.
52437
52438         * lib/getusershell.c (readname, default_index, line_size, readname):
52439         Use size_t, not int, for sizes.
52440         (readname): If the size overflows, report an error instead of
52441         looping forever.
52442
52443 2003-09-09  Paul Eggert  <eggert@twinsun.com>
52444
52445         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
52446         libc.
52447
52448 2003-09-09  Paul Eggert  <eggert@twinsun.com>
52449
52450         * README: New section: portability guidelines.
52451
52452 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
52453
52454         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
52455         C89 spec.
52456
52457 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
52458
52459         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
52460
52461 2003-09-08  Paul Eggert  <eggert@twinsun.com>
52462
52463         Assume C89 or better; remove K&R cruft.
52464         A few of these changes were first proposed by Derek Robert Price
52465         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
52466
52467         * lib/addext.c: Include <string.h> unconditionally.
52468         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
52469         Don't declare getenv or malloc.
52470
52471         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
52472         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
52473         (NULL): Remove.
52474         (find_stack_direction, alloca): Use prototypes.
52475
52476         * lib/atexit.c (atexit): Define using a prototype.
52477
52478         * lib/basename.c, dirname.c, stripslash.c:
52479         Include <string.h> unconditionally.
52480
52481         * lib/bcopy.c: Include <stddef.h>.
52482         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
52483
52484         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
52485
52486         * lib/error.h (error, error_at_line, error_print_progname)
52487         [! (defined (__STDC__) && __STDC__)]: Remove decls.
52488         * lib/error.c: Include error.h first, to check interface.
52489         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
52490         (VA_START): Remove; all uses changeed to va_start.
52491         (exit, strerror): Remove decls.
52492         (error_print_progname): Prototype uncondionally.
52493         Don't include <errno.h>; no longer needed.
52494         (private_strerror): Remove.
52495         (error_tail): Always define.
52496         (error, error_at_line): Assume C89 or better; always use prototypes.
52497         * lib/fatal.c: Include "fatal.h" first, to test interface.
52498         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
52499         (VA_START): Remove; all uses changed to va_start.
52500         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
52501         this case.
52502         (exit): Remove decl.
52503         (fatal): Prototype unconditionally.  Assume va_start works.
52504         Abort at end, to pacify gcc.
52505
52506         * lib/euidaccess.c (main): Define with a prototype.
52507
52508         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
52509
52510         * lib/exitfail.c: Include <stdlib.h> unconditionally.
52511
52512         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
52513         prototypes.
52514         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
52515         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
52516         (getenv): Remove decl.
52517         (fnmatch): Define using a prototype.
52518         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
52519         (FCT): Define using a prototype.
52520
52521         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
52522
52523         * lib/gethostname.c: Include <stddef.h>.
52524         (gethostname): Define with prototype.  Length is size_t, not int.
52525
52526 2003-09-08  Paul Eggert  <eggert@twinsun.com>
52527
52528         Assume C89 or better; remove K&R cruft.
52529         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
52530         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
52531         string.h, getenv, malloc.
52532         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
52533         headers.
52534         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
52535         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
52536         do not check for strerror.
52537         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
52538         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
52539         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
52540         do not check for doprnt or vprintf.
52541         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
52542         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
52543
52544 2003-09-08  Paul Eggert  <eggert@twinsun.com>
52545
52546         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
52547         getversion.c should have been removed then, but was accidentally
52548         preserved.
52549
52550         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
52551         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
52552
52553 2003-09-08  Karl Berry  <karl@gnu.org>
52554
52555         * config/config.sub, config.guess, srclistvars.sh: update from savannah
52556                 config, forget about prep.
52557
52558         * config/depcomp, missing: update from automake.
52559
52560 2003-09-07  Paul Eggert  <eggert@twinsun.com>
52561
52562         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
52563         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
52564
52565 2003-09-07  Paul Eggert  <eggert@twinsun.com>
52566
52567         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
52568         copy_tm_result.  Bug reported by Simon Josefsson in
52569         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
52570
52571 2003-09-06  Paul Eggert  <eggert@twinsun.com>
52572
52573         * m4/time_r.m4: New file.
52574         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
52575         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
52576         is. Check for timegm declaration.
52577         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
52578         Do not check for gmtime_r.
52579         Replace mktime if __mktime_internal does not exist and if mktime
52580         hasn't been replaced already.
52581
52582 2003-09-06  Paul Eggert  <eggert@twinsun.com>
52583
52584         * lib/time_r.c, lib/time_r.h: New files.
52585
52586         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
52587         __localtime_r.
52588         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
52589         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
52590
52591         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
52592         __gmtime_r.
52593         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
52594         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
52595         Include <time_r.h>.
52596
52597         * lib/timegm.c: Switch to glibc implementation, with the following
52598         changes:
52599         [defined HAVE_CONFIG_H]: Include <config.h>.
52600         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
52601         (__mktime_internal) [!defined _LIBC]: New decl.
52602         (__gmtime_r) [!defined _LIBC]: New macro and function.
52603         (timegm): Use a prototype, since gnulib assumes C89.
52604         Do not bother declaring tmp to be const, as it's not really usefu.
52605         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
52606         (timegm): Declare only if HAVE_DECL_TIMEGM.
52607
52608 2003-09-06  Paul Eggert  <eggert@twinsun.com>
52609
52610         * MODULES.html.sh (func_all_modules): Add time_r.
52611         * modules/time_r: New file.
52612         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
52613         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
52614
52615 2003-09-03  Paul Eggert  <eggert@twinsun.com>
52616
52617         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
52618         Bug reported by Lute Kamstra in
52619         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
52620
52621         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
52622         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
52623         course with correspondingly smaller numbers for tomorrow and
52624         yesterday.  From Tadayoshi Funaba.  Originally installed into
52625         sh-utils on 1999-08-07, but the patch got lost (I guess during the
52626         coreutils merge?).
52627
52628 2003-08-31  Simon Josefsson  <jas@extundo.com>
52629
52630         * modules/timegm: New file.
52631         * MODULES.html.sh (func_all_modules): Add timegm.
52632
52633 2003-08-31  Simon Josefsson  <jas@extundo.com>
52634
52635         * m4/timegm.m4: New file.
52636
52637 2003-08-31  Simon Josefsson  <jas@extundo.com>
52638
52639         * lib/timegm.h: New file.
52640         * lib/timegm.c: New file.  Based on
52641         wget-1.8.2/src/http.c:mktime_from_utc.
52642
52643 2003-08-31  Karl Berry  <karl@gnu.org>
52644
52645         * lib/argp.h: update from libc.
52646
52647 2003-08-28  Bruno Haible  <bruno@clisp.org>
52648
52649         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
52650         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
52651         followed by '#define fnmatch fnmatch_posix' gives an error.
52652
52653 2003-08-28  Bruno Haible  <bruno@clisp.org>
52654
52655         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
52656         warning on QNX, which defines O_BINARY to 000000.
52657
52658 2003-08-27  Jim Meyering  <jim@meyering.net>
52659
52660         * m4/mkstemp.m4: Require that the system mkstemp be able to create
52661         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
52662         would fail after 32.  Reported by Danny Levinson.  Details here:
52663         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
52664
52665 2003-08-24  Bruno Haible  <bruno@clisp.org>
52666
52667         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
52668         MSVC7 <stdio.h> is included later.
52669
52670 2003-08-22  Simon Josefsson  <jas@extundo.com>
52671
52672         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
52673
52674 2003-08-20  Karl Berry  <karl@gnu.org>
52675
52676         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
52677
52678 2003-08-20  Bruno Haible  <bruno@clisp.org>
52679
52680         * modules/progname: New file.
52681         * MODULES.html.sh (func_all_modules): Add progname.
52682
52683 2003-08-20  Bruno Haible  <bruno@clisp.org>
52684
52685         * lib/progname.h: New file, from GNU gettext.
52686         * lib/progname.c: New file, from GNU gettext.
52687         * lib/progreloc.c: New file, from GNU gettext.
52688
52689 2003-08-19  Jim Meyering  <jim@meyering.net>
52690
52691         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
52692         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
52693
52694 2003-08-19  Bruno Haible  <bruno@clisp.org>
52695
52696         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
52697         more.
52698
52699 2003-08-19  Bruno Haible  <bruno@clisp.org>
52700
52701         * lib/xstrdup.c: Assume <string.h> exists.
52702
52703 2003-08-18  Paul Eggert  <eggert@twinsun.com>
52704
52705         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
52706         in makefile rules.
52707
52708 2003-08-18  Jim Meyering  <jim@meyering.net>
52709
52710         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
52711         * m4/lib-ld.m4: Likewise.
52712
52713 2003-08-18  Jim Meyering  <jim@meyering.net>
52714
52715         * lib/setenv.h: Indent nested cpp directive.
52716         * lib/vasnprintf.c: Remove trailing blanks.
52717
52718 2003-08-17  Simon Josefsson  <jas@extundo.com>
52719
52720         * modules/xstrndup: New file.
52721         * MODULES.html.sh (func_all_modules): Add xstrndup.
52722
52723 2003-08-17  Simon Josefsson  <jas@extundo.com>
52724
52725         * modules/argp: Fix autoconf macro name. Add more dependencies.
52726
52727 2003-08-17  Simon Josefsson  <jas@extundo.com>
52728
52729         * m4/xstrndup.m4: New file.
52730
52731 2003-08-17  Simon Josefsson  <jas@extundo.com>
52732
52733         * m4/argp.m4: New file.
52734
52735 2003-08-17  Simon Josefsson  <jas@extundo.com>
52736             Bruno Haible  <bruno@clisp.org>
52737
52738         * lib/xstrndup.h: New file.
52739         * lib/xstrndup.c: New file.
52740
52741 2003-08-17  Bruno Haible  <bruno@clisp.org>
52742
52743         * modules/strndup (Files, Include): Add lib/strndup.h.
52744
52745 2003-08-17  Bruno Haible  <bruno@clisp.org>
52746
52747         * modules/euidaccess (Files): Add lib/euidaccess.h.
52748
52749 2003-08-17  Bruno Haible  <bruno@clisp.org>
52750
52751         * lib/strndup.h: New file.
52752
52753 2003-08-17  Bruno Haible  <bruno@clisp.org>
52754
52755         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
52756         like AC_GNU_SOURCE.
52757         * modules/extensions (configure.ac): Comment out the invocation of
52758         gl_USE_SYSTEM_EXTENSIONS.
52759
52760 2003-08-16  Paul Eggert  <eggert@twinsun.com>
52761
52762         Merges from coreutils, etc.
52763         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
52764         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
52765         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
52766         fixing a typo.
52767         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
52768         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
52769
52770 2003-08-16  Paul Eggert  <eggert@twinsun.com>
52771
52772         Document merge from coreutils.
52773         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
52774         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
52775         * modules/utime: Add m4/utimes-null.m4.
52776
52777 2003-08-16  Paul Eggert  <eggert@twinsun.com>
52778
52779         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
52780         space, undoing this 2003-08-12 change:
52781         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
52782
52783 2003-08-16  Paul Eggert  <eggert@twinsun.com>
52784
52785         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
52786         strtoul.c from libc, undoing this 2003-08-12 change:
52787         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
52788
52789 2003-08-16  Jim Meyering  <jim@meyering.net>
52790
52791         Merges from coreutils.
52792         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
52793         prefix.  Adjust cache variables similarly.  Create 500 rather than
52794         just 300 files, to exercise bug on Darwin6.5, too.
52795         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
52796         $missing_dir.
52797         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
52798         AM_SYS_POSIX_TERMIOS.
52799         Reported by mkc@mathdogs.com.
52800         Also change use of $am_cv_sys_posix_termios
52801         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
52802         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
52803         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
52804         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
52805         in /proc/mounts until it finds one with matching device number.  This
52806         is unnecessary when the FILE argument *is* a mount point.  No stat call
52807         is necessary in that case.  So, disable the statvfs-testing code on
52808         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
52809         as RedHat bug# 84846.
52810         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
52811         to 1MB, so as not to render systems with no stack size limit (e.g.,
52812         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
52813         Include <unistd.h>.  On some systems,
52814         it is required for the definition of _SC_PAGESIZE.
52815
52816 2003-08-16  Jim Meyering  <jim@meyering.net>
52817
52818         Merge from coreutils.
52819         * lib/xstrtoimax.c: #else #if -> #elif.
52820         * lib/xstrtoumax.c: Likewise.
52821
52822 2003-08-16  Jim Meyering  <jim@meyering.net>
52823
52824         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
52825         * m4/utimes.m4: Removed.
52826         * m4/utimes-null.m4: Renamed from utimes.m4.
52827
52828         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
52829         to 1MB, so as not to render systems with no stack size limit (e.g.,
52830         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
52831         Include <unistd.h>.  On some systems,
52832         it is required for the definition of _SC_PAGESIZE.
52833
52834 2003-08-16  Jim Meyering  <jim@meyering.net>
52835         and Paul Eggert  <eggert@cs.ucla.edu>
52836
52837         Merges from coreutils, etc.
52838
52839         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
52840         using the latest version from cvs.  This avoids problems with #line
52841         directives using a vendor (Sun) compiler.
52842         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
52843         Don't set GETGROUPS_LIB here; now it's
52844         done via getgroups.m4's wrapper function.
52845         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
52846         rather than just in sh-util/configure.in, so that the
52847         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
52848         same.
52849         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
52850         AC_FUNC_GETLOADAVG where to find getloadavg.c.
52851         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
52852         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
52853         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
52854         Remove code that is now done by the newly-required macros.
52855         Append $(EXEEXT) to DF_PROG.
52856         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
52857         Do not invoke or require the following here,
52858         since prereq.m4 or some gnulib .m4 now does this for us:
52859         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
52860         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
52861         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
52862         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
52863         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
52864         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
52865         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
52866         AC_FUNC_OBSTACK.
52867         Do not replace the following functions, as this is now the job
52868         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
52869         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
52870         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
52871         atexit getpass, strdup, getpagesize.
52872         Replace 'raise'.
52873         Do not check for the following functions, as this is now the job
52874         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
52875         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
52876         setregid.
52877         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
52878         Check for sys/sysctl.h.
52879         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
52880         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
52881         of checking for ssize_t ourselves.
52882
52883         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
52884         Require every macro that gnulib/modules/* suggests for us.
52885         (jm_PREREQ_ADDEXT): New macro.
52886         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
52887         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
52888
52889         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
52890         (gl_PHYSMEM): Use it.
52891         Also check for `table' function.
52892         Check for new headers and functions.
52893         Add check for sys/sysmp.h.
52894         With suggestions from Kaveh Ghazi.
52895         Ignore headers that are present but cannot be compiled.  This
52896         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
52897         C 5.4.
52898
52899 2003-08-15  Paul Eggert  <eggert@twinsun.com>
52900
52901         Document merge from coreutils.
52902         * modules/userspec: Depend on posixver.
52903         * modules/strftime: Depend on tzset.
52904
52905 2003-08-15  Paul Eggert  <eggert@twinsun.com>
52906
52907         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
52908         rather than tab, after '#' in shell-script copyright notices.
52909         Suggested by Bruno Haible.
52910
52911 2003-08-15  Paul Eggert  <eggert@twinsun.com>
52912
52913         * config/srclist-update: Use three spaces, rather than tab, after '#'
52914         in shell-script copyright notices.  Suggested by Bruno Haible.
52915         Remove unnecessary parenthesization in regular expression.
52916
52917 2003-08-15  Jim Meyering  <jim@meyering.net>
52918
52919         Merge from coreutils.
52920         * lib/xgethostname.c: Include <stdlib.h>.
52921         (xghostname): Don't exit for anything other than memory-related
52922         failure; just return NULL.
52923         * lib/userspec.c: Include "posixver.h".
52924         (parse_user_spec): Accept `.' as a separator only
52925         in pre-POSIX-200112 mode.
52926         * lib/strtoimax.c: Use #elif rather than #else #if.
52927         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
52928         Remove function, now that we can rely on a working tzset function.
52929         [!_LIBC]: Ensure that the required autoconf test has been run.
52930         [!defined _NL_CURRENT && HAVE_STRFTIME]:
52931         Use underlying_strftime for %r.
52932         * lib/sha.c: Merge in some clean-up and optimization changes from
52933         glibc.
52934         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
52935         Ensure that it is a multiple of 64.
52936         Rearrange loop exit tests so as to avoid performing an
52937         additional fread after encountering an error or EOF.
52938         * lib/realloc.c: Update copyright date.
52939
52940 2003-08-15  Jim Meyering  <jim@meyering.net>
52941         and Paul Eggert  <eggert@twinsun.com>
52942
52943         Merge from coreutils.
52944         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
52945         member but strut utmpx does not.  Needed for AIX 4.3.3.
52946         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
52947
52948 2003-08-15  Jim Meyering  <jim@meyering.net>
52949         and Paul Eggert  <eggert@cs.ucla.edu>
52950
52951         Merges from coreutils, etc.
52952         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
52953         Require gl_FUNC_TZSET_CLOBBER.
52954         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
52955         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
52956         members.
52957
52958 2003-08-14  Paul Eggert  <eggert@twinsun.com>
52959
52960         Help the merge from coreutils.
52961         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
52962         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
52963         * m4/tzset.m4: Use it too.
52964
52965 2003-08-14  Paul Eggert  <eggert@twinsun.com>
52966
52967         * modules/tzset: New file.
52968
52969 2003-08-14  Jim Meyering  <jim@meyering.net>
52970
52971         Merges from coreutils.
52972         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
52973         variable names, rather than @FNMATCH_H@.
52974         * modules/alloca: Likewise for $(ALLOCA_H).
52975
52976         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
52977         the three copies of the literal target, `fnmatch.h'.
52978         * modules/alloca (alloca.h): Likewise.
52979
52980 2003-08-14  Jim Meyering  <jim@meyering.net>
52981
52982         Merge from coreutils.
52983         * m4/tzset.m4: New file.
52984         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
52985         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
52986         otherwise, AIX 5.1 systems would end up using the latter.
52987         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
52988         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
52989         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
52990         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
52991
52992 2003-08-14  Jim Meyering  <jim@meyering.net>
52993
52994         Merge from coreutils.
52995         * lib/obstack.h: Whitespace changes.
52996         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
52997         and xcalloc return values.
52998         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
52999         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
53000         hang on OSF/1 5.1 for DIR on both local and remote file systems.
53001         Reported by (and fix confirmed by) Nelson H. F. Beebe.
53002         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
53003         error from mntctl.
53004         Use mntctl's return value to drive the entry-processing loop, since
53005         we can't rely on the value of the vmt_length member in the last
53006         entry.  On some systems doing so could result in exhausting
53007         virtual memory.  Based in part on a patch from Mike Jetzer.
53008
53009 2003-08-14  Jim Meyering  <jim@meyering.net>
53010         and Paul Eggert  <eggert@twinsun.com>
53011
53012         Merges from coreutils, plus other fixes.
53013         * lib/physmem.c: Merge in portability changes from gcc/libiberty
53014         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
53015         for credits and details.  Thanks to Kaveh Ghazi for helping
53016         to keep these files in sync.
53017         (ARRAY_SIZE): Define it.
53018         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
53019         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
53020         (memcasecmp): Don't assume size_t fits in unsigned int.
53021         Remove casts and duplicate code.
53022         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
53023         (memcpy): Remove definition.
53024         Merge in some clean-up and optimization changes from glibc.
53025         [BLOCKSIZE]: Move definition to top of file.
53026         Ensure that it is a multiple of 64.
53027         Rearrange loop exit tests so as to avoid performing an
53028         additional fread after encountering an error or EOF.
53029         * lib/md5.h (md5_uintptr): Define.
53030         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
53031         return to the initial working directory.  Preserve errno
53032         for caller.
53033         * lib/idcache.c: Include "xalloc.h".
53034         (xmalloc, xrealloc): Remove decls.
53035         (getuser): Remove casts no longer required in C89.
53036         * lib/human.c: Include stdio.h, for sprintf.
53037         * lib/group-member.c: Include "xalloc.h".
53038         (xmalloc, xrealloc): Remove decls.
53039         (get_group_info): Remove casts no longer required in C89.
53040         * lib/getusershell.c (readname): Remove casts no longer required in
53041         C89.
53042         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
53043         * lib/getline.c: Whitespace fix, from coreutils.
53044
53045 2003-08-13  Paul Eggert  <eggert@twinsun.com>
53046
53047         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
53048         Check for isascii.
53049
53050         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
53051         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
53052         Undo previous (whitespace-only) change.
53053
53054 2003-08-13  Paul Eggert  <eggert@twinsun.com>
53055
53056         * lib/exclude.c: Include <ctype.h>
53057         (IN_CTYPE_DOMAIN): New macro.
53058         (is_space): New fn.
53059         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
53060         and empty lines.
53061
53062         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
53063         Undo previous (whitespace-only) change.
53064
53065 2003-08-13  Paul Eggert  <eggert@twinsun.com>
53066
53067         * config/srclist-update: Change update back to the old behavior,
53068         leaving whitespace alone.  Use one 'sed' command rather than a
53069         pipeline.
53070         (fixlicense): Now a variable, not a function.
53071         (remove_trailing_blanks): Remove.
53072         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
53073         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
53074         Undo previous (whitespace-only) change.
53075
53076 2003-08-12  Paul Eggert  <eggert@twinsun.com>
53077
53078         Merge from coreutils.
53079         * modules/euidaccess: Add lib_SOURCES, include for new
53080         file euidaccess.h
53081
53082 2003-08-12  Paul Eggert  <eggert@twinsun.com>
53083
53084         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
53085         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
53086         Normalize leading white space and remove trailing white space.
53087
53088         Merge from coreutils
53089         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
53090
53091         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
53092         0.12.1.  These files are now being upgraded automatically by
53093         ../config/srclist-update.
53094
53095 2003-08-12  Paul Eggert  <eggert@twinsun.com>
53096
53097         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
53098         Normalize leading white space and remove trailing white space.
53099         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
53100         notice, as per ../config/srclist-update.
53101
53102         Merge from coreutils.
53103         * lib/euidaccess.h: New file.
53104         * lib/euidaccess.c: Include it.
53105         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
53106         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
53107         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
53108
53109 2003-08-12  Paul Eggert  <eggert@twinsun.com>
53110
53111         * config/srclist-update: Add copyright notice.
53112         (remove_id_lines, remove_trailing_blanks): New constants.
53113         (fixfile): Use them to normalize spacing a bit in copied files.
53114         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
53115         Normalize leading white space and remove trailing white space.
53116
53117         * config/texinfo.tex: Sync with texinfo.
53118
53119         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
53120         strtoul.c from libc, to merge coreutils whitespace changes.
53121
53122         * config/srclist.txt: Get the following m4 files from gettext:
53123         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
53124         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
53125         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
53126         wint_t.m4.
53127
53128 2003-08-12  Karl Berry  <karl@gnu.org>
53129
53130         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
53131         been made.
53132
53133 2003-08-11  Paul Eggert  <eggert@twinsun.com>
53134
53135         * modules/gnu-source, m4/gnu-source.m4:
53136         Remove; we're assuming Autoconf 2.54 or later now.
53137         Suggested by Bruno Haible.
53138         * MODULES.html.sh (func_all_modules): Remove gnu-source.
53139
53140 2003-08-11  Bruno Haible  <bruno@clisp.org>
53141
53142         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
53143
53144 2003-08-11  Bruno Haible  <bruno@clisp.org>
53145
53146         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
53147         (vasnprintf): Use it instead of wcslen.
53148
53149 2003-08-11  Bruno Haible  <bruno@clisp.org>
53150
53151         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
53152         value to ensure that _Bool promotes to int. Use #define for _Bool when
53153         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
53154
53155 2003-08-10  Karl Berry  <karl@gnu.org>
53156
53157         * lib/regex.h: update from libc (whitespace fix).
53158
53159 2003-08-09  Paul Eggert  <eggert@twinsun.com>
53160
53161         Merge some files from coreutils.  These changes were
53162         originally made by Jim Meyering.
53163         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
53164         many older Unixes require this.
53165         * lib/alloca.c (alloca): Remove cast to argument of free;
53166         no longer needed in C89.
53167         * lib/alloca_.h, regex.h: Fix white space to match
53168         what GNU indent does.
53169
53170 2003-08-09  Paul Eggert  <eggert@twinsun.com>
53171
53172         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
53173         apparently Emacs's Unicode mode got confused before my 2003-08-05
53174         checkin.
53175
53176 2003-08-08  Paul Eggert  <eggert@twinsun.com>
53177
53178         * m4/extensions.m4: New file.
53179         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
53180         Require gl_USE_SYSTEM_EXTENSIONS.
53181         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
53182         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
53183
53184 2003-08-08  Paul Eggert  <eggert@twinsun.com>
53185
53186         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
53187         * modules/extensions, modules/gnu-source: New files.
53188         * modules/timespec, modules/unlocked-io: Depend on extensions.
53189
53190 2003-08-07  Paul Eggert  <eggert@twinsun.com>
53191
53192         * modules/restrict: New file.
53193         * MODULES.html.sh (func_all_modules): Add restrict.
53194         * modules/regex: Depend on restrict.
53195
53196 2003-08-07  Paul Eggert  <eggert@twinsun.com>
53197
53198         * m4/restrict.m4: New file.
53199         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
53200
53201 2003-08-07  Bruno Haible  <bruno@clisp.org>
53202
53203         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
53204         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
53205
53206 2003-08-07  Bruno Haible  <bruno@clisp.org>
53207
53208         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
53209         makes the module 'getndelim2' compatible with the module 'getline'.
53210
53211 2003-08-05  Paul Eggert  <eggert@twinsun.com>
53212
53213         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
53214         byte with "\201" to avoid glitches when editing that source file
53215         with multi-gnome-terminal.
53216
53217 2003-08-05  Paul Eggert  <eggert@twinsun.com>
53218
53219         * lib/bumpalloc.h: Remove.
53220
53221 2003-08-05  Paul Eggert  <eggert@twinsun.com>
53222
53223         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
53224         * modules/bumpalloc: Remove.
53225
53226 2003-08-04  Paul Eggert  <eggert@twinsun.com>
53227
53228         * lib/getloadavg.c: Change copyright notice and spacing to conform to
53229         GNU coding style.
53230
53231         Merge from coreutils.
53232         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
53233         1. From glibc.
53234         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
53235         from Karl Berry, implemented by Jim Meyering.
53236         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
53237         from Dmitry V. Levin.
53238         Remove anachronistic cast of xrealloc.
53239         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
53240         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
53241         type. Otherwise, it wouldn't compile with at least /bin/cc on
53242         ymp-cray-unicos9.0.2.X.
53243         Combine two mostly-identical uses of alloca into one.
53244         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
53245
53246 2003-08-04  Dave Love  <d.love@dl.ac.uk>
53247
53248         [From Emacs.]
53249
53250         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
53251         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
53252         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
53253         obsolete NLIST_NAME_UNION.
53254         [__GNU__]: Undef BSD and FSCALE.
53255         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
53256
53257 2003-08-03  Paul Eggert  <eggert@twinsun.com>
53258
53259         * lib/stdbool_.h (_Bool): Make it signed char, instead of
53260         an enum type, so that it's guaranteed to promote to int.  See:
53261         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
53262
53263 2003-08-03  Karl Berry  <karl@gnu.org>
53264
53265         * config/depcomp: update from automake.
53266
53267 2003-07-31  Paul Eggert  <eggert@twinsun.com>
53268
53269         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
53270         (strerror): Don't assume that a printable int fits in 14 bytes.
53271
53272 2003-07-31  Bruno Haible  <bruno@clisp.org>
53273
53274         * modules/getpass-gnu: New file.
53275         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
53276
53277 2003-07-31  Bruno Haible  <bruno@clisp.org>
53278
53279         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
53280
53281 2003-07-24  Karl Berry  <karl@gnu.org>
53282
53283         * config/missing: update from automake.
53284
53285 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
53286             Bruno Haible  <bruno@clisp.org>
53287
53288         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
53289         * lib/getline.c (getline, getdelim): Likewise.
53290         Remove _GNU_SOURCE define; now it's defined in config.h through
53291         m4/getline.m4.
53292
53293 2003-07-23  Karl Berry  <karl@gnu.org>
53294
53295         * config/config.sub: update from prep.
53296
53297 2003-07-22  Paul Eggert  <eggert@twinsun.com>
53298
53299         * modules/xalloc (Depends-on): Add exitfail.
53300         * modules/xmemcoll: Likewise.
53301
53302 2003-07-22  Paul Eggert  <eggert@twinsun.com>
53303
53304         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
53305         over-parenthesization in macros.
53306
53307         Sync with coreutils.
53308
53309         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
53310         required by C99.
53311
53312         Use `exit_failure' for xalloc and xmemcoll instead of their own
53313         private exit-failure variables.
53314         * lib/xalloc.h (xalloc_exit_failure): Remove.
53315         * lib/xmalloc.c: Likewise.  Include exitfail.h.
53316         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
53317         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
53318         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
53319         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
53320
53321 2003-07-20  Jim Meyering  <jim@meyering.net>
53322
53323         * modules/closeout (Depends-on): Add exitfail.
53324         Suggestion from Bruno Haible.
53325
53326 2003-07-19  Karl Berry  <karl@gnu.org>
53327
53328         * config/config.sub: update from prep.
53329
53330 2003-07-18  Paul Eggert  <eggert@twinsun.com>
53331
53332         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
53333         Remove.
53334         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
53335         to test that it can stand by itself.  Include "exitfail.h".
53336         Clients should set exit_failure instead.
53337         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
53338
53339 2003-07-18  Bruno Haible  <bruno@clisp.org>
53340
53341         * modules/getndelim2: New file.
53342         * modules/getline: Share files with module getndelim2.
53343         * modules/getnline: Depend on getndelim2 instead of sharing files with
53344         it. Add getnline.c to lib_SOURCES.
53345         * MODULES.html.sh (func_all_modules): Add getndelim2.
53346
53347 2003-07-18  Bruno Haible  <bruno@clisp.org>
53348
53349         * m4/getndelim2.m4: New file.
53350         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
53351         invoke gl_PREREQ_GETNDELIM2.
53352         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
53353         gl_PREREQ_GETNDELIM2.
53354         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
53355         gl_GETNDELIM2.
53356
53357 2003-07-18  Bruno Haible  <bruno@clisp.org>
53358
53359         * lib/getndelim2.h: New file.
53360         * lib/getndelim2.c: Make into a module of its own. Include config.h,
53361         getndelim2.h.
53362         (getndelim2): Make non-static. Change return type to ssize_t.
53363         * lib/getline.h: Change argument names.
53364         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
53365         * lib/getnline.c: Include getndelim2.h.
53366
53367 2003-07-18  Andreas Schwab  <schwab@suse.de>
53368
53369         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
53370
53371 2003-07-17  Karl Berry  <karl@gnu.org>
53372
53373         * config/config.sub: update from prep.
53374
53375 2003-07-17  Bruno Haible  <bruno@clisp.org>
53376
53377         * modules/getnline: New file.
53378         * modules/getline: Add lib/getndelim2.c to source file list.
53379         * MODULES.html.sh (func_all_modules): Add getnline.
53380
53381 2003-07-17  Bruno Haible  <bruno@clisp.org>
53382
53383         * m4/getnline.m4: New file.
53384
53385 2003-07-17  Bruno Haible  <bruno@clisp.org>
53386
53387         * m4/Makefile.am.in: Remove file.
53388         * m4/Makefile.am: Remove file.
53389         * m4/Makefile.in: Remove file.
53390
53391 2003-07-17  Bruno Haible  <bruno@clisp.org>
53392
53393         * lib/getnline.h: New file.
53394         * lib/getnline.c: New file.
53395         * lib/getndelim2.c: New file, extracted from getline.c.
53396         (getndelim2): Renamed from getdelim2, with added nmax argument.
53397         * lib/getline.c: Include getndelim2.c.
53398         (getdelim2): Moved out to getndelim2.c.
53399         (getline, getdelim): Update.
53400
53401 2003-07-17  Bruno Haible  <bruno@clisp.org>
53402
53403         * lib/Makefile.am: Remove file.
53404         * lib/Makefile.in: Remove file.
53405
53406 2003-07-17  Bruno Haible  <bruno@clisp.org>
53407
53408         * configure.in: Remove file.
53409         * Makefile.in: Remove file.
53410
53411 2003-07-17  Bruno Haible  <bruno@clisp.org>
53412
53413         * MODULES.html.sh: Put the </BODY> right before </HTML>.
53414
53415 2003-07-16  Karl Berry  <karl@gnu.org>
53416
53417         * config/srclist-update: was running fixlicense twice, which caused
53418                 texinfo.tex to be nullified for some reason.  Simplify,
53419                 $gplsrc is no longer needed as far as I can see?
53420
53421 2003-07-16  Jim Meyering  <jim@meyering.net>
53422
53423         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
53424
53425 2003-07-15  Paul Eggert  <eggert@twinsun.com>
53426
53427         * config/srclist.txt: Get the following files from gettext-runtime/intl
53428         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
53429         ref-del.sin.  From Bruno Haible.
53430         * config/srclist-update (fixfile): Change grep pattern again, since the
53431         previous fix didn't work (there was another trailing $).  Use
53432         '[$]' to escape the $s.
53433
53434 2003-07-15  Karl Berry  <karl@gnu.org>
53435
53436         * lib/vasnprintf.c: update from gettext.
53437
53438 2003-07-15  Karl Berry  <karl@gnu.org>
53439
53440         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
53441         gets expanded when surrounded by '$'.
53442
53443 2003-07-15  Jim Meyering  <jim@meyering.net>
53444
53445         * modules/save-cwd: Don't depend on error.  From Derek Price.
53446
53447 2003-07-15  Jim Meyering  <jim@meyering.net>
53448
53449         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
53450
53451 2003-07-14  Simon Josefsson  <jas@extundo.com>
53452
53453         * modules/mempcpy: New file.
53454         * MODULES.html.sh (func_all_modules): Add mempcpy.
53455
53456 2003-07-14  Simon Josefsson  <jas@extundo.com>
53457
53458         * m4/mempcpy.m4: New file.
53459
53460 2003-07-14  Simon Josefsson  <jas@extundo.com>
53461
53462         * lib/mempcpy.h: New file.
53463         * lib/mempcpy.c: New file.
53464
53465 2003-07-14  Paul Eggert  <eggert@twinsun.com>
53466
53467         * modules/getdate, modules/posixtm: Depend on mktime.
53468
53469 2003-07-14  Paul Eggert  <eggert@twinsun.com>
53470
53471         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
53472         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
53473         unicodeio.c, unicodeio.h, unlocked-io.h:
53474         Switch from LGPL to GPL.
53475
53476 2003-07-14  Paul Eggert  <eggert@twinsun.com>
53477
53478         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
53479         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
53480         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
53481         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
53482         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
53483         updated automatically by ../config/srclist-update.  This changes
53484         their license from LPGL to GPL.
53485
53486 2003-07-14  Paul Eggert  <eggert@twinsun.com>
53487
53488         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
53489         assumed to refer to the root of the most recent stable gettext version.
53490         * config/srclistvars.sh: Add defaults for eggert.
53491         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
53492         Match "This program" as well as "The program".  This is needed
53493         for gettext.
53494
53495 2003-07-14  Jim Meyering  <jim@meyering.net>
53496
53497         Don't emit diagnostics.  Let callers do that.
53498         * lib/save-cwd.c: Don't include "error.h".
53499         (save_cwd): Don't call error.  Ensure that errno is valid
53500         when returning nonzero.
53501
53502         * lib/save-cwd.h (restore_cwd): Update prototype.
53503         * lib/save-cwd.c (restore_cwd): Remove two parameters.
53504         Simplify.  Don't call error upon failure.  Let callers do that.
53505         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
53506         when auditing is enabled.  But don't bother updating the #if.
53507
53508 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
53509
53510         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
53511         it breaks C++ compilation.
53512         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
53513
53514 2003-07-10  Simon Josefsson  <jas@extundo.com>
53515
53516         * modules/strchrnul (Makefile.am): Add strchrnul.h.
53517
53518 2003-07-10  Jim Meyering  <jim@meyering.net>
53519
53520         * m4/clock_time.m4: Remove trailing blank.
53521         * m4/intmax_t.m4: Likewise.
53522
53523 2003-07-10  Jim Meyering  <jim@meyering.net>
53524
53525         * lib/vasnprintf.c: Remove trailing blanks.
53526         Make cpp indentation consistent.
53527
53528 2003-07-09  Paul Eggert  <eggert@twinsun.com>
53529
53530         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
53531         posixver.c, strftime.c, strnlen.c, strverscmp.c:
53532         Switch from LGPL to GPL.
53533
53534 2003-07-09  Paul Eggert  <eggert@twinsun.com>
53535
53536         * config/srclist.txt: Sort sublists.  Add
53537         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
53538         that differ from gnulib for one reason or another; we'd like this list
53539         to be smaller but for now let's document what we have.
53540
53541 2003-07-08  Paul Eggert  <eggert@twinsun.com>
53542
53543         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
53544         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
53545         and sweeter "eval x=$x".
53546         * config/srclist.txt: Get lib/argp* from glibc.
53547
53548 2003-07-07  Paul Eggert  <eggert@twinsun.com>
53549
53550         * lib/mktime.c: Fix some boundary cases and remove need for floating
53551         point.
53552
53553         Issue a compile-time diagnostic if time_t is floating point, or if
53554         two's complement arithmetic is not in effect, or if arithmetic
53555         right shift does not propagate the sign.  These assumptions were
53556         all in the original code but they weren't checked.
53557
53558         (TIME_T_MIDPOINT, verify): New macros.
53559         (__isleap): Remove; it has integer overflow problems.
53560         (leapyear): New function, without those problems.
53561         (ydhms_tm_diff): Remove; splitting into two parts.
53562         (ydhms_diff): New function, containing the arithmetic part of
53563         the old ydhms_tm_diff function.  Issue a compile-time
53564         diagnostic if we are not using C99 integer division.
53565         Avoid casts when possible.
53566         (guess_time_tm): New function, containing the checking part of
53567         the old ydhms_tm_diff function.  Return the new value, rather than
53568         the difference between it and the old.  Accept a new argument T
53569         so that *T specifies the old value.  Check for overflow in the result.
53570
53571         (__mktime_internal): Use a time_t offset, not a long int offset.
53572         This undoes the 2003-06-04 change, which is no longer needed now
53573         that we have better overflow checking.
53574         (localtime_offset): Likewise.
53575
53576         (__mktime_internal): Avoid harmful overflow on hosts where time_t
53577         and long are 64-bit but int is only 32-bit.
53578         (ydhms_diff): Use long int to store year1 and yday1.
53579         Issue a compile-time diagnostic if long int is not wide enough.
53580
53581         (__mktime_internal): Use long int to store adjusted year and yday.
53582         Use plain C rather than preprocessor commands, if that doesn't
53583         affect efficiency.
53584         Check for overflow (and try to repair) after each probe
53585         rather than checking only at the very end.  This avoids some bugs
53586         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
53587         does not equal GMT offset at maximum time).
53588         Use integer to check for overflow rather than floating point; this
53589         is more portable to non-IEEE hosts, and is a tad faster.
53590         When we detect that we are oscillating between two values,
53591         don't check whether tm_isdst has the requested value, since
53592         we already know the answer.  When tm_isdst has the wrong value,
53593         use a different heuristic to find the right one, based on the
53594         extreme values actually observed in practice in tz2003a,
53595         rather than the (overly optimistic) "previous 3 calendar quarters".
53596
53597         (not_equal_tm, print_tm, check_result): Use "const T" rather than
53598         "T const" to accommodate glibc style.
53599         (check_result): Use less-confusing report format.  "long" -> "long int.
53600         (main): Likewise.
53601         Don't loop if the iteration overflows time_t.
53602         Allow a negative step in the iteration.
53603
53604 2003-07-06  Karl Berry  <karl@gnu.org>
53605
53606         * config/depcomp: update from automake.
53607         * config/config.sub: update from prep.
53608
53609 2003-07-03  Karl Berry  <karl@gnu.org>
53610
53611         * config/config.guess: update from prep.
53612
53613 2003-07-01  Paul Eggert  <eggert@twinsun.com>
53614
53615         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
53616         xreadlink.c now includes it unconditionally.
53617
53618 2003-07-01  Paul Eggert  <eggert@twinsun.com>
53619
53620         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
53621         having it depend on HAVE_SYS_TYPES_H.
53622
53623 2003-07-01  Bruno Haible  <bruno@clisp.org>
53624
53625         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
53626         <sys/types.h> should be sufficient.
53627         Reported by Paul Eggert.
53628
53629 2003-06-26  Karl Berry  <karl@gnu.org>
53630
53631         * config/depcomp: update from automake.
53632
53633 2003-06-26  Bruno Haible  <bruno@clisp.org>
53634
53635         * modules/human: Depend on module stdbool.
53636
53637 2003-06-25  Bruno Haible  <bruno@clisp.org>
53638
53639         * modules/readlink: New file.
53640         * modules/xreadlink: Depend on it.
53641         * MODULES.html.sh (func_all_modules): Add readlink.
53642
53643 2003-06-25  Bruno Haible  <bruno@clisp.org>
53644
53645         * m4/readlink.m4: New file.
53646
53647 2003-06-25  Bruno Haible  <bruno@clisp.org>
53648
53649         * lib/readlink.c: New file.
53650
53651 2003-06-22  Karl Berry  <karl@gnu.org>
53652
53653         * config/srclist.txt: update mkinstalldirs from automake.
53654         * config/mkinstalldirs: update.
53655
53656 2003-06-22  Bruno Haible  <bruno@clisp.org>
53657
53658         Portability to mingw32.
53659         * m4/ssize_t.m4: New file, from GNU gettext.
53660         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
53661         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
53662
53663 2003-06-22  Bruno Haible  <bruno@clisp.org>
53664
53665         * modules/safe-read: Add m4/ssize_t.m4.
53666         * modules/xreadlink: Add m4/ssize_t.m4.
53667
53668 2003-06-20  Bruno Haible  <bruno@clisp.org>
53669
53670         Assume C89, so PARAMS isn't needed.
53671         * lib/unicodeio.h (PARAMS): Remove.
53672         * lib/unicodeio.c: Don't use PARAMS.
53673
53674 2003-06-18  Karl Berry  <karl@gnu.org>
53675
53676         * config/config.{guess,sub}: update from prep.
53677
53678 2003-06-18  Jim Meyering  <jim@meyering.net>
53679
53680         Merge changes from coreutils.
53681         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
53682         Remove explicit declarations of xmalloc and realloc.
53683         Include xalloc.h.
53684         (read_utmp): Remove anachronistic cast of xmalloc.
53685
53686 2003-06-17  Paul Eggert  <eggert@twinsun.com>
53687
53688         Assume C89, so PARAMS isn't needed.
53689         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
53690         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
53691         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
53692         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
53693         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
53694         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
53695         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
53696         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
53697         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
53698         lib/xstrtod.h, lib/xstrtol.h: Likewise.
53699         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
53700         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
53701         no longer needed. Anyway, config.h should always be included before any
53702         other file.
53703
53704 2003-06-11  Simon Josefsson  <jas@extundo.com>
53705
53706         * modules/sysexits: New file.
53707         * MODULES.html.sh (func_all_modules): Add sysexits.
53708
53709 2003-06-11  Simon Josefsson  <jas@extundo.com>
53710
53711         * lib/sysexit_.h: New file.
53712
53713 2003-06-11  Derek Price  <derek@ximbiot.com>
53714
53715         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
53716         necessary.
53717
53718 2003-06-11  Bruno Haible  <bruno@clisp.org>
53719
53720         * m4/sysexits.m4: New file.
53721
53722 2003-06-10  Simon Josefsson  <jas@extundo.com>
53723
53724         * lib/argp.h: New file, from glibc.
53725         * lib/argp-ba.c: New file, from glibc.
53726         * lib/argp-eexst.c: New file, from glibc.
53727         * lib/argp-fmtstream.c: New file, from glibc.
53728         * lib/argp-fmtstream.h: New file, from glibc.
53729         * lib/argp-fs-xinl.c: New file, from glibc.
53730         * lib/argp-help.c: New file, from glibc.
53731         * lib/argp-namefrob.h: New file, from glibc.
53732         * lib/argp-parse.c: New file, from glibc.
53733         * lib/argp-pv.c: New file, from glibc.
53734         * lib/argp-pvh.c: New file, from glibc.
53735         * lib/argp-xinl.c: New file, from glibc.
53736
53737 2003-06-10  Simon Josefsson  <jas@extundo.com>
53738
53739         * modules/strchrnul: New file.
53740
53741 2003-06-10  Simon Josefsson  <jas@extundo.com>
53742
53743         * modules/argp: New file.
53744
53745 2003-06-10  Simon Josefsson  <jas@extundo.com>
53746
53747         * m4/strchrnul.m4: New file.
53748
53749 2003-06-10  Simon Josefsson  <jas@extundo.com>
53750
53751         * lib/strchrnul.h: New file.
53752         * lib/strchrnul.c: New file.
53753
53754 2003-06-10  Bruno Haible  <bruno@clisp.org>
53755
53756         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
53757
53758 2003-06-07  Karl Berry  <karl@gnu.org>
53759
53760         * config/config.{guess,sub}: update from prep.
53761
53762 2003-06-07  Jim Meyering  <jim@meyering.net>
53763
53764         * modules/strtod: Use $(...) notation, not @...@ for
53765         AC_REPLACE'd variables.
53766         * modules/localcharset: Likewise.
53767
53768 2003-06-07  Jim Meyering  <jim@meyering.net>
53769
53770         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
53771         in place of my name in the copyright comment.
53772         Remove definition and uses of __P.
53773
53774         From coreutils.
53775         * lib/stat.c: Don't declare xmalloc explicitly.
53776         Instead, include "xalloc.h".
53777         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
53778         xrealloc, and xcalloc return values.
53779         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
53780         Improve comment.
53781         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
53782
53783 2003-06-07  Bruno Haible  <bruno@clisp.org>
53784
53785         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
53786         avoid AC_CONFIG_LINKS.
53787         * modules/fnmatch (Makefile.am): Use explicit creation rule for
53788         fnmatch.h, to avoid AC_CONFIG_LINKS.
53789         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
53790
53791 2003-06-07  Bruno Haible  <bruno@clisp.org>
53792
53793         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
53794         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
53795         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
53796         directory.
53797         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
53798         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
53799         directory.
53800
53801 2003-06-06  Jim Meyering  <jim@meyering.net>
53802
53803         Merge from coreutils.
53804         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
53805         Consolidate declarations and initializations of *_base* locals.
53806
53807         Merge from coreutils.
53808         This avoids a core dump on systems without GNU putenv,
53809         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
53810         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
53811         (unsetenv): New static function, from GNU libc.
53812         (rpl_putenv): Use it.
53813
53814         * lib/modechange.c: Remove trailing blanks.
53815
53816         Merge from coreutils.
53817         * lib/fsusage.c: Remove declaration of statfs.
53818         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
53819
53820         * lib/posixtm.c: Include <stdbool.h> unconditionally.
53821
53822 2003-06-06  Jim Meyering  <jim@meyering.net>
53823
53824         * lib/stdbool_.h: Renamed from stdbool.h.in.
53825
53826 2003-06-06  Jim Meyering  <jim@meyering.net>
53827             Bruno Haible  <bruno@clisp.org>
53828
53829         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
53830         Adjust Makefile.am snippet not to redirect directly to target.
53831         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
53832
53833 2003-06-05  Paul Eggert  <eggert@twinsun.com>
53834
53835         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
53836         mismatch, look in future quarters as well as past.  This fixes a
53837         bug when processing fall-backwards gaps immediately after a long
53838         period of daylight-saving time.
53839
53840         * lib/mktime.c: Assume freestanding C89 or better.
53841         (HAVE_LIMITS_H): Remove.  Assume it's 1.
53842         (__P): Remove; not used.
53843         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
53844         (mktime, not_equal_tm, print_tm, check_result,
53845         main): Use prototypes.  Use const * where appropriate.
53846         (main): Fix typo in testing code that uncovered by above changes.
53847         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
53848
53849 2003-06-04  Paul Eggert  <eggert@twinsun.com>
53850
53851         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
53852         locale.h, localeconv.  This merges changes from coreutils.
53853
53854         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
53855         It can be removed after the next Autoconf is released.
53856         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
53857         needed.
53858
53859 2003-06-04  Paul Eggert  <eggert@twinsun.com>
53860
53861         * lib/mktime.c: Fix Debian bug 177940
53862         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
53863         (localtime_offset): Now long int, not time_t, because we want it
53864         to be guaranteed to be signed.  All uses changed.
53865         (__mktime_internal): If overflow would occur when adding offset,
53866         don't add it.
53867
53868         Merge 'human' changes from coreutils.  Rewrite to support
53869         locale-specific notations like thousands separators.
53870         * lib/human.c: Simplify authorship notice.
53871         Include human.h immediately after config.h.
53872         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
53873         <limits.h>: Do not include, since human.h does.
53874         (SIZE_MAX, UINTMAX_MAX): New macros.
53875         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
53876         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
53877         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
53878         (power_letter): Renamed from suffixes.
53879         (generate_suffix_backwards): Remove.
53880         (adjust_value): Now takes int style (because of human.h changes)
53881         and long double value (for greater precision on some platforms).
53882         (group_number): New function.
53883         (human_readable): Use it.  Use integer options, not enum.
53884         Put the options before the sizes in the arg list.
53885         Support all the new options.
53886         The old human_readable function has been removed;
53887         use inttostr.h instead.
53888         (human_readable, default_block_size, humblock):
53889         Use uintmax_t, not int, for block sizes.
53890         (human_readable_inexact, block_size_types): Remove.
53891         (block_size_opts): New constant.
53892         (human_options): Renamed from human_block_size, with new signature
53893         that allows block sizes up to UINTMAX_MAX.  All callers changed.
53894         * lib/human.h: Add copyright and authorship notice.
53895         Include <limits.h> and <stdbool.h> unconditionally.
53896         (PARAMS): Remove.  All uses removed.
53897         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
53898         (enum human_inexact_style): Remove tag; now a nameless enum.
53899         (human_floor, human_ceiling, human_round_to_even): Now have
53900         values 2, 0, 1 rather than -1, 1, 0.
53901         (human_group_digits, human_suppress_point_zero, human_autoscale,
53902         human_base_1024, human_SI, human_B): New constants.
53903         (human_readable_inexact, human_block_size): Remove.
53904         (human_readable): Size args are now uintmax_t, not int.
53905         (human_options): New decl.
53906
53907         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
53908         unnecessary now that we assume C89 or better.  This change
53909         imported from coreutils.
53910
53911         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
53912         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
53913         in the 2003-05-30 sync from glibc.
53914
53915         .h files should stand alone, but we shouldn't include <sys/types.h>
53916         if we can get away with just <stddef.h>.
53917
53918         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
53919         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
53920         rather than <sys/types.h>, as we merely need size_t.
53921         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
53922         to get size_t.
53923         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
53924         Include <stdio.h>, to get FILE.
53925         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
53926         memcasecmp.h has included <stddef.h> and all we need is size_t.
53927         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
53928         our interface, instead of including <sys/types.h>
53929
53930 2003-06-04  Paul Eggert  <eggert@twinsun.com>
53931
53932         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
53933         now, as glibc mktime is buggy on non-glibc systems.
53934
53935 2003-06-03  Karl Berry  <karl@gnu.org>
53936
53937         * config/config.sub: update from prep.
53938
53939 2003-06-02  Paul Eggert  <eggert@twinsun.com>
53940
53941         [from coreutils]
53942         Fix some minor time-related bugs with POSIX time arguments.
53943         Some valid time stamps were being rejected (notably -1, and
53944         time stamps before 1900 on 64-bit hosts).  And some invalid
53945         time stamps were being accepted, e.g. September 31.
53946
53947         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
53948         that we can return (time_t) -1 successfully.
53949         * lib/posixtm.c: Likewise.
53950         [HAVE_STDBOOL_H]: Include <stdbool.h>.
53951         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
53952         (t): Remove static var.
53953         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
53954         of static var.  All uses changed.
53955         (year): Do not reject years before 1900; they can occur with
53956         64-bit time_t.
53957         (posix_time_parse): Do not check for out-of-range components;
53958         that is now the caller's responsibility, since our checks were
53959         only approximations.
53960         (posixtime): Use mktime to check for out-of-range components,
53961         since it knows them exactly.
53962         If mktime returns (time_t) -1, check whether an error actually occurred
53963         by invoking localtime on -1.
53964         (main) [TEST_POSIXTIME]: Check for input data errors, and report
53965         posixtime failures better.
53966         Improve the test data (in comments only).
53967
53968 2003-06-02  Karl Berry  <karl@gnu.org>
53969
53970         * config/mkinstalldirs (version): new variable.
53971         (--version): new option.
53972         (usage): improve message.
53973
53974 2003-05-30  Karl Berry  <karl@gnu.org>
53975
53976         * lib/mktime.c: update from libc.
53977
53978 2003-05-30  Bruno Haible  <bruno@clisp.org>
53979
53980         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
53981         * config/config.rpath: Upgrade to gettext-0.12.1.
53982
53983 2003-05-30  Bruno Haible  <bruno@clisp.org>
53984
53985         * m4/gettext.m4: Upgrade to gettext-0.12.1.
53986         * m4/nls.m4: New file, from gettext-0.12.1.
53987         * m4/po.m4: New file, from gettext-0.12.1.
53988         * m4/progtest.m4: Upgrade to gettext-0.12.1.
53989
53990 2003-05-30  Bruno Haible  <bruno@clisp.org>
53991
53992         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
53993         * lib/localcharset.h: Likewise.
53994         * lib/localcharset.c: Likewise.
53995
53996 2003-05-29  Karl Berry  <karl@gnu.org>
53997
53998         * config/config.rpath: update from gettext.
53999
54000 2003-05-28  Paul Eggert  <eggert@twinsun.com>
54001
54002         Assume the headers required for C89 freestanding compilers.
54003         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
54004         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
54005         * m4/human.m4 (gl_HUMAN): Likewise.
54006         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
54007         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
54008         * m4/userspec.m4 (gl_USERSPEC): Likewise.
54009         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
54010         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
54011         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
54012
54013 2003-05-28  Paul Eggert  <eggert@twinsun.com>
54014
54015         Assume the headers required for C89 freestanding compilers.
54016         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
54017         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
54018         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
54019         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
54020         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
54021         define, since <limits.h> is guaranteed to do that.
54022         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
54023         * lib/exclude.c: Include <stdbool.h> unconditionally.
54024         * lib/tempname.c: Include <stddef.h> unconditionally.
54025         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
54026         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
54027         <stddef.h> does that.
54028         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
54029         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
54030         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
54031         needed.
54032         * lib/xstrtol.c: Likewise.
54033         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
54034         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
54035
54036         * lib/addext.c (addext): Use assignment rather than cast, to avoid
54037         warnings on some platforms.
54038
54039         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
54040         arbitrarily.
54041
54042 2003-05-26  Jim Meyering  <jim@meyering.net>
54043
54044         Merge in a change from coreutils:
54045         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
54046         that is guaranteed to be `no'.  Use `no_such_member' to indicate
54047         that condition, rather than `-1' which is slightly misleading.
54048         Change the name of the cache variable to have the gl_ prefix.
54049         Prompted by a patch from Richard Dawe for DJGPP.
54050
54051 2003-05-24  Karl Berry  <karl@gnu.org>
54052
54053         * config/config.guess: update from prep.
54054
54055 2003-05-22  Karl Berry  <karl@gnu.org>
54056
54057         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
54058
54059 2003-05-20  Karl Berry  <karl@gnu.org>
54060
54061         * config/config.guess: update from prep.
54062
54063 2003-05-18  Karl Berry  <karl@gnu.org>
54064
54065         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
54066         might actually be set by the user.
54067
54068         * config/depcomp, install-sh, mdate-sh: update from automake.
54069
54070 2003-05-17  Bruno Haible  <bruno@clisp.org>
54071
54072         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
54073         invalid expansion for AC_EGREP_CPP.
54074         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
54075         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
54076         Suggested by Akim Demaille <akim@epita.fr> in
54077         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
54078
54079 2003-05-12  Jim Meyering  <jim@meyering.net>
54080
54081         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
54082         the space-padded-by-default conversion specifiers, %e, %k, %l.
54083
54084 2003-05-12  Bruno Haible  <bruno@clisp.org>
54085
54086         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
54087         the string is longer than 4 KB.
54088
54089 2003-05-11  Karl Berry  <karl@gnu.org>
54090
54091         * config/config.{guess,sub}: update from prep.
54092
54093 2003-05-09  Bruno Haible  <bruno@clisp.org>
54094
54095         * modules/error: Add m4/strerror_r.m4 to file list.
54096
54097 2003-05-03  Bruno Haible  <bruno@clisp.org>
54098
54099         Upgrade to Unicode-4.0.
54100         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
54101         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
54102         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
54103         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
54104         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
54105         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
54106         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
54107         Change width of U+E0100..U+E01EF from 1 to 0.
54108
54109 2003-04-25  Jim Meyering  <jim@meyering.net>
54110
54111         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
54112         of type size_t, not int.
54113
54114 2003-04-25  Bruno Haible  <bruno@clisp.org>
54115
54116         * lib/copy-file.c: Include <stddef.h>, for size_t.
54117
54118 2003-04-21  Paul Eggert  <eggert@twinsun.com>
54119
54120         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
54121         code which expansion is under static control.  Patch imported from
54122         Akim Demaille's patch to Bison; see
54123         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
54124
54125 2003-04-14  Bruno Haible  <bruno@clisp.org>
54126
54127         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
54128
54129 2003-04-11  Jim Meyering  <jim@meyering.net>
54130
54131         Merge changes from Coreutils.
54132
54133         2003-03-22  Jim Meyering  <jim@meyering.net>
54134
54135         * lib/strftime.c (widen): Cast alloca return value to proper type.
54136
54137         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
54138
54139         From GNU libc.
54140         * lib/strftime.c (my_strftime): Handle very large width
54141         specifications for numeric values correctly.  Improve checks for
54142         overflow.
54143
54144         2003-01-19  Jim Meyering  <jim@meyering.net>
54145
54146         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
54147         definitions.
54148         (nl_get_alt_digit) [! defined my_strftime]: Define.
54149         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
54150         _nl_get_alt_digit and _nl_get_walt_digit.
54151
54152         * lib/strftime.c (my_strftime): Merge in locale-related changes from
54153         libc. These changes have no effect outside of _LIBC.
54154
54155 2003-04-10  Bruno Haible  <bruno@clisp.org>
54156
54157         * modules/findprog: New file.
54158         * MODULES.html.sh (func_all_modules): Add it.
54159
54160 2003-04-10  Bruno Haible  <bruno@clisp.org>
54161
54162         * m4/findprog.m4: New file.
54163         * m4/eaccess.m4: New file.
54164
54165 2003-04-10  Bruno Haible  <bruno@clisp.org>
54166
54167         * lib/findprog.h: New file, from GNU gettext.
54168         * lib/findprog.c: New file, from GNU gettext.
54169
54170 2003-04-05  Jim Meyering  <jim@meyering.net>
54171
54172         Merge changes from Coreutils.
54173
54174         * lib/exclude.h (PARAMS): Remove definition and uses.
54175         * lib/exclude.c: Remove uses of `PARAMS'.
54176
54177         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
54178         Add test-cases for DOS filenames. Declare program_name.
54179         (main): Set up program_name.  Patch by Rich Dawe.
54180
54181         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
54182         error from mntctl.
54183         Use mntctl's return value to drive the entry-processing loop, since
54184         we can't rely on the value of the vmt_length member in the last
54185         entry.  On some systems doing so could result in exhausting
54186         virtual memory.  Based in part on a patch from Mike Jetzer.
54187
54188 2003-04-04  Bruno Haible  <bruno@clisp.org>
54189
54190         * modules/linebreak: New file.
54191         * MODULES.html.sh (func_all_modules): Add it.
54192
54193 2003-04-04  Bruno Haible  <bruno@clisp.org>
54194
54195         * m4/linebreak.m4: New file.
54196
54197 2003-04-04  Bruno Haible  <bruno@clisp.org>
54198
54199         * lib/linebreak.h: New file, from GNU gettext.
54200         * lib/linebreak.c: New file, from GNU gettext with slight
54201         modifications.
54202         * lib/lbrkprop.h: New file, from GNU gettext.
54203
54204 2003-04-03  Bruno Haible  <bruno@clisp.org>
54205
54206         * modules/utf8-ucs4: New file.
54207         * modules/utf16-ucs4: New file.
54208         * modules/ucs4-utf8: New file.
54209         * modules/ucs4-utf16: New file.
54210         * MODULES.html.sh (func_all_modules): Add them.
54211
54212 2003-04-03  Bruno Haible  <bruno@clisp.org>
54213
54214         * m4/utf-ucs4.m4: New file.
54215         * m4/ucs4-utf.m4: New file.
54216
54217 2003-04-03  Bruno Haible  <bruno@clisp.org>
54218
54219         * lib/utf8-ucs4.h: New file, from GNU gettext.
54220         * lib/utf16-ucs4.h: New file, from GNU gettext.
54221         * lib/ucs4-utf8.h: New file, from GNU gettext.
54222         * lib/ucs4-utf16.h: New file, from GNU gettext.
54223
54224 2003-04-02  Bruno Haible  <bruno@clisp.org>
54225
54226         * modules/binary-io: New file.
54227         * MODULES.html.sh (func_all_modules): Add it.
54228
54229 2003-04-02  Bruno Haible  <bruno@clisp.org>
54230
54231         * lib/binary-io.h: New file, from GNU gettext.
54232
54233 2003-04-01  Bruno Haible  <bruno@clisp.org>
54234
54235         * modules/pathname: New file.
54236         * MODULES.html.sh (func_all_modules): Add it.
54237
54238 2003-04-01  Bruno Haible  <bruno@clisp.org>
54239
54240         * lib/pathname.h: New file, from GNU gettext.
54241         * lib/concatpath.c: New file, from GNU gettext.
54242
54243 2003-03-30  Bruno Haible  <bruno@clisp.org>
54244
54245         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
54246
54247 2003-03-30  Bruno Haible  <bruno@clisp.org>
54248
54249         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
54250         function chown() doesn't exist.
54251
54252 2003-03-28  Bruno Haible  <bruno@clisp.org>
54253
54254         * modules/copy-file: New file.
54255         * MODULES.html.sh (func_all_modules): Add it.
54256
54257 2003-03-28  Bruno Haible  <bruno@clisp.org>
54258
54259         * m4/copy-file.m4: New file.
54260
54261 2003-03-28  Bruno Haible  <bruno@clisp.org>
54262
54263         * lib/copy-file.h: New file, from GNU gettext.
54264         * lib/copy-file.c: New file, from GNU gettext.
54265
54266 2003-03-18  Jim Meyering  <jim@meyering.net>
54267
54268         * lib/quote.c (quote_n): Fix typo in comment.
54269
54270 2003-03-18  Bruno Haible  <bruno@clisp.org>
54271
54272         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
54273         checking.
54274         * m4/onceonly_2_57.m4: Likewise.
54275
54276 2003-03-17  Bruno Haible  <bruno@clisp.org>
54277
54278         * m4/onceonly.m4: Require autoconf 2.54 or newer.
54279         (m4_quote): Remove macro.
54280         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
54281
54282 2003-03-14  Jim Meyering  <jim@meyering.net>
54283
54284         Merge changes from Coreutils.
54285         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
54286         to be const, in order to avoid warnings.
54287         (obstack_room): Likewise.
54288         (obstack_empty_p): Likewise.
54289
54290 2003-03-14  Bruno Haible  <bruno@clisp.org>
54291
54292         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
54293         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
54294
54295 2003-03-13  Paul Eggert  <eggert@twinsun.com>
54296
54297         Merge changes from Bison.
54298         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
54299         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
54300         when compiling Bison 1.875's `bitset bset = obstack_alloc
54301         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
54302         * lib/hash.c: Include <stdbool.h> unconditionally.
54303
54304 2003-03-13  Paul Eggert  <eggert@twinsun.com>
54305
54306         * m4/onceonly.m4 (m4_quote): New macro.
54307         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
54308         Quote AC_FOREACH variable-expansions properly.
54309
54310 2003-03-13  Paul Eggert  <eggert@twinsun.com>
54311
54312         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
54313
54314 2003-03-09  Paul Eggert  <eggert@twinsun.com>
54315
54316         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
54317         Reported by Bruce Becker; see:
54318         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
54319
54320 2003-03-03  Paul Eggert  <eggert@twinsun.com>
54321             Bruno Haible  <bruno@clisp.org>
54322
54323         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
54324         Reported by John Hughes, see
54325         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
54326
54327 2003-02-20  Bruno Haible  <bruno@clisp.org>
54328
54329         * MODULES.html.sh (func_all_modules): Add poll.
54330
54331 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
54332
54333         * modules/poll: New file.
54334
54335 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
54336
54337         * lib/poll_.h: New file.
54338         * lib/poll.c: New file.
54339
54340 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
54341
54342         * m4/poll.m4: New file.
54343
54344 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
54345
54346         * modules/mathl: New file.
54347
54348 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
54349
54350         * lib/mathl.h: New file.
54351         * lib/acosl.c: New file.
54352         * lib/asinl.c: New file.
54353         * lib/atanl.c: New file.
54354         * lib/ceill.c: New file.
54355         * lib/cosl.c: New file.
54356         * lib/expl.c: New file.
54357         * lib/floorl.c: New file.
54358         * lib/frexpl.c: New file.
54359         * lib/ldexpl.c: New file.
54360         * lib/logl.c: New file.
54361         * lib/sincosl.c: New file.
54362         * lib/sinl.c: New file.
54363         * lib/sqrtl.c: New file.
54364         * lib/tanl.c: New file.
54365         * lib/trigl.c: New file.
54366         * lib/trigl.h: New file.
54367
54368 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
54369
54370         * m4/mathl.m4: New file.
54371
54372 2003-02-18  Bruno Haible  <bruno@clisp.org>
54373
54374         * MODULES.html.sh (func_all_modules): Add mathl.
54375
54376 2003-02-17  Bruno Haible  <bruno@clisp.org>
54377
54378         * modules/mkdtemp: New module.
54379         * MODULES.html.sh (func_all_modules): Add it.
54380
54381 2003-02-17  Bruno Haible  <bruno@clisp.org>
54382
54383         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
54384
54385 2003-02-17  Bruno Haible  <bruno@clisp.org>
54386
54387         * lib/mkdtemp.h: New file, from GNU gettext.
54388         * lib/mkdtemp.c: New file, from GNU gettext.
54389
54390 2003-02-02  Jim Meyering  <jim@meyering.net>
54391
54392         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
54393         e.g. glibc-2.2.93.
54394
54395 2003-01-31  Bruno Haible  <bruno@clisp.org>
54396
54397         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
54398         'rpl_rename'.
54399         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
54400         'rpl_strnlen'.
54401         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
54402         'rpl_strtod'.
54403         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
54404         'rpl_utime'.
54405
54406 2003-01-31  Bruno Haible  <bruno@clisp.org>
54407
54408         * lib/rename.c: #undef rename before defining rpl_rename.
54409         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
54410
54411 2003-01-30  Bruno Haible  <bruno@clisp.org>
54412
54413         * modules/vasnprintf, modules/vasprintf: New modules.
54414         * MODULES.html.sh (func_all_modules): Add them.
54415
54416 2003-01-30  Bruno Haible  <bruno@clisp.org>
54417
54418         * m4/signed.m4: New file, from GNU gettext.
54419         * m4/longdouble.m4: New file, from GNU gettext.
54420         * m4/wchar_t.m4: New file, from GNU gettext.
54421         * m4/wint_t.m4: New file, from GNU gettext.
54422         * m4/vasnprintf.m4: New file.
54423         * m4/vasprintf.m4: New file.
54424
54425 2003-01-30  Bruno Haible  <bruno@clisp.org>
54426
54427         * lib/printf-args.h: New file, from GNU gettext.
54428         * lib/printf-args.c: New file, from GNU gettext.
54429         * lib/printf-parse.h: New file, from GNU gettext.
54430         * lib/printf-parse.c: New file, from GNU gettext.
54431         * lib/vasnprintf.h: New file, from GNU gettext.
54432         * lib/vasnprintf.c: New file, from GNU gettext.
54433         * lib/asnprintf.c: New file, from GNU gettext.
54434         * lib/vasprintf.h: New file, from GNU gettext with modifications.
54435         * lib/vasprintf.c: New file, from GNU gettext.
54436         * lib/asprintf.c: New file, from GNU gettext.
54437
54438 2003-01-29  Bruno Haible  <bruno@clisp.org>
54439
54440         * modules/stpncpy: New module.
54441         * MODULES.html.sh (func_all_modules): Add it.
54442
54443 2003-01-29  Bruno Haible  <bruno@clisp.org>
54444
54445         * m4/stpncpy.m4: New file.
54446
54447 2003-01-29  Bruno Haible  <bruno@clisp.org>
54448
54449         * lib/stpncpy.h: New file, from GNU gettext with modifications.
54450         * lib/stpncpy.c: New file, from GNU gettext with modifications.
54451
54452 2003-01-28  Bruno Haible  <bruno@clisp.org>
54453
54454         * modules/c-ctype: New module.
54455         * MODULES.html.sh (func_all_modules): Add it.
54456
54457 2003-01-28  Bruno Haible  <bruno@clisp.org>
54458
54459         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
54460         Paul Eggert.
54461         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
54462         Paul Eggert.
54463
54464 2003-01-27  Bruno Haible  <bruno@clisp.org>
54465
54466         * modules/xsetenv: New module.
54467         * MODULES.html.sh (func_all_modules): Add it.
54468
54469 2003-01-27  Bruno Haible  <bruno@clisp.org>
54470
54471         * lib/xsetenv.h: New file, from GNU gettext.
54472         * lib/xsetenv.c: New file, from GNU gettext.
54473
54474 2003-01-23  Jim Meyering  <jim@meyering.net>
54475
54476         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
54477         from working on systems without dirfd (at least Irix and OSF1/Tru64).
54478
54479 2003-01-23  Bruno Haible  <bruno@clisp.org>
54480
54481         * modules/minmax: New module.
54482         * MODULES.html.sh (func_all_modules): Add it.
54483
54484 2003-01-23  Bruno Haible  <bruno@clisp.org>
54485
54486         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
54487         Eggert.
54488
54489 2003-01-22  Bruno Haible  <bruno@clisp.org>
54490
54491         * modules/exit: New module.
54492         * MODULES.html.sh (func_all_modules): Add it.
54493
54494 2003-01-22  Bruno Haible  <bruno@clisp.org>
54495
54496         * lib/exit.h: New file, from GNU gettext.
54497
54498 2003-01-19  Bruno Haible  <bruno@clisp.org>
54499
54500         * gnulib-tool: Recognize option --extract-maintainer.
54501         (func_get_maintainer): New function.
54502         * modules/*: Add Maintainer entry.
54503
54504 2003-01-16  Jim Meyering  <jim@meyering.net>
54505
54506         * m4/regex.m4: The `regex' struct is both input and output.
54507         Initialize it before each use.  Patch by Tim Waugh.
54508
54509 2003-01-16  Bruno Haible  <bruno@clisp.org>
54510
54511         * MODULES.html.sh: Add a table of contents. Add the module name as
54512         leftmost column. Add hyperlinks.
54513
54514 2003-01-15  Bruno Haible  <bruno@clisp.org>
54515
54516         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
54517
54518 2003-01-15  Bruno Haible  <bruno@clisp.org>
54519
54520         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
54521         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
54522         suffix.
54523
54524 2003-01-15  Bruno Haible  <bruno@clisp.org>
54525
54526         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
54527
54528 2003-01-15  Bruno Haible  <bruno@clisp.org>
54529
54530         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
54531         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
54532
54533 2003-01-14  Jim Meyering  <jim@meyering.net>
54534
54535         * lib/same.c (same_name): Tweak a comment.
54536
54537 2003-01-14  Bruno Haible  <bruno@clisp.org>
54538
54539         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
54540         when a string comparison is sufficient.
54541
54542 2003-01-14  Bruno Haible  <bruno@clisp.org>
54543
54544         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
54545         'unsigned int'.
54546
54547 2003-01-14  Bruno Haible  <bruno@clisp.org>
54548
54549         * lib/hash-pjw.c: Add comment about low quality of this function.
54550
54551 2003-01-13  Bruno Haible  <bruno@clisp.org>
54552
54553         * modules/stpcpy: Distribute lib/stpcpy.h.
54554         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
54555
54556 2003-01-13  Bruno Haible  <bruno@clisp.org>
54557
54558         * modules/*: Add a description.
54559         * modules/strpbrk: Fix Makefile.am snippet.
54560         * modules/strtoimax: Fix dependencies.
54561         * modules/strtoumax: Likewise.
54562
54563 2003-01-13  Bruno Haible  <bruno@clisp.org>
54564
54565         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
54566         * modules/alloca (Makefile.am): All object files depend on alloca.h.
54567         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
54568
54569 2003-01-13  Bruno Haible  <bruno@clisp.org>
54570
54571         * gnulib-tool (func_create_testdir): Store config/* files in the main
54572         directory.
54573         * config.rpath: Move to ...
54574         * config/config.rpath: ... here.
54575         * modules/gettext: Contains config/config.rpath, not config.rpath.
54576         * modules/iconv: Likewise.
54577
54578 2003-01-12  Paul Eggert  <eggert@twinsun.com>
54579
54580         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
54581         to avoid collisions with libcurses and libreadline.
54582
54583         * m4/getstr.m4: Remove.
54584         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
54585
54586 2003-01-12  Paul Eggert  <eggert@twinsun.com>
54587
54588         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
54589         to avoid collisions with libcurses and libreadline.
54590
54591         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
54592         * lib/getstr.h, getstr.c: Remove.
54593         * lib/getline.c: Include "getline.h", to check interface.
54594         Move body of old getstr.c here: this defines MIN_CHUNK and
54595         declares getdelim2, which is renamed from getstr.
54596         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
54597
54598         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
54599         All uses changed.
54600         * lib/linebuffer.h: Likewise.
54601         (readline): Remove backward-compatibility macro.
54602
54603 2003-01-12  Paul Eggert  <eggert@twinsun.com>
54604
54605         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
54606         to avoid collisions with libcurses and libreadline.
54607         * getstr: Remove.
54608         * MODULES.html.sh: Remove getstr.
54609         * modules/getline: Depend on unlocked-io, not getstr.
54610
54611 2003-01-12  Jim Meyering  <jim@meyering.net>
54612
54613         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
54614
54615 2003-01-10  Bruno Haible  <bruno@clisp.org>
54616
54617         * modules/alloca: Change Makefile.am requirements. Simplify Include
54618         requirements. Add lib/alloca_.h to file list.
54619
54620 2003-01-10  Bruno Haible  <bruno@clisp.org>
54621
54622         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
54623
54624 2003-01-10  Bruno Haible  <bruno@clisp.org>
54625
54626         * lib/alloca_.h: New file.
54627         * lib/getdate.y: Unconditionally include alloca.h.
54628         * lib/makepath.c: Likewise.
54629         * lib/setenv.c: Likewise.
54630         * lib/userspec.c: Likewise.
54631
54632 2003-01-09  Karl Berry  <karl@gnu.org>
54633
54634         * MODULES.html.sh: include `dirname $0` in PATH, to find
54635         gnulib-tool.
54636
54637 2003-01-09  Bruno Haible  <bruno@clisp.org>
54638
54639         * modules/stdbool: Change configure.ac, Makefile.am requirements.
54640         Simplify Include requirements. Add lib/stdbool.h.in to file list.
54641
54642 2003-01-09  Bruno Haible  <bruno@clisp.org>
54643
54644         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
54645
54646 2003-01-09  Bruno Haible  <bruno@clisp.org>
54647
54648         * lib/stdbool.h.in: New file.
54649
54650 2003-01-09  Bruno Haible  <bruno@clisp.org>
54651
54652         * gnulib-tool (func_all_modules): Ignore files ending in ~.
54653         * MODULES.html.sh: Likewise.
54654
54655 2003-01-08  Jim Meyering  <jim@meyering.net>
54656
54657         * lib/full-write.c: Undefine and define-away `const' after inclusion
54658         of errno.h, not before.  Suggestion from Bruno Haible.
54659
54660 2003-01-08  Bruno Haible  <bruno@clisp.org>
54661
54662         * modules/full-read: Depend on full-write.
54663
54664 2003-01-08  Bruno Haible  <bruno@clisp.org>
54665
54666         * lib/safe-read.c: Include specification header first, to ensure its
54667         selfcontainedness.
54668         * lib/full-write.c: Likewise.
54669
54670 2003-01-07  Jim Meyering  <jim@meyering.net>
54671
54672         * lib/full-write.c: Rework so that it may serve to define full_read,
54673         too.
54674         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
54675
54676 2003-01-07  Bruno Haible  <bruno@clisp.org>
54677
54678         * lib/strtoimax.c: Include <stdint.h> as an alternative to
54679         <inttypes.h>.
54680         * lib/xstrtol.h: Likewise.
54681         * lib/xstrtoimax.c: Likewise.
54682         * lib/xstrtoumax.c: Likewise.
54683         * lib/human.h: Likewise.
54684
54685         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
54686         on systems that have <inttypes.h> but not <stdint.h>.
54687
54688 2003-01-07  Bruno Haible  <bruno@clisp.org>
54689
54690         * MODULES.html.sh: Add copyright notice.
54691         (missed_files): Omit CVS directory entries.
54692         (func_module): Make it work with sed-3.02.
54693         * MODULES.txt: Remove file.
54694
54695 2003-01-06  Jim Meyering  <jim@meyering.net>
54696
54697         * lib/version-etc.c: Update year in translatable copyright string.
54698
54699 2003-01-03  Karl Berry  <karl@gnu.org>
54700
54701         * config/config.{guess,sub}: update from prep.
54702
54703 2003-01-02  Karl Berry  <karl@gnu.org>
54704
54705         * doc/COPYING.DOC: belatedly updated to 1.2.
54706
54707 2003-01-01  Karl Berry  <karl@gnu.org>
54708
54709         * gnulib-tool (func_verify_module): report module name $module in
54710         error message, not $1.
54711         * gnulib-tool (create-testdir): don't complain if destdir couldn't
54712         be created, only if it doesn't exist.
54713         * gnulib-tool (last_checkin_date): don't expand the $Date here.
54714
54715 2002-12-31  Paul Eggert  <eggert@twinsun.com>
54716
54717         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
54718
54719 2002-12-31  Paul Eggert  <eggert@twinsun.com>
54720
54721         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
54722         memcmp if strcoll doesn't work.
54723
54724 2002-12-31  Bruno Haible  <bruno@clisp.org>
54725
54726         * lib/utime.c (utime_null): No need to call ftruncate if the file was
54727         nonempty.
54728
54729 2002-12-31  Bruno Haible  <bruno@clisp.org>
54730
54731         * lib/memcoll.c (STRCOLL): New macro.
54732         (memcoll): Use it.
54733
54734 2002-12-31  Bruno Haible  <bruno@clisp.org>
54735
54736         * lib/localcharset.h: New file.
54737         * lib/localcharset.c: Include it.
54738         * lib/unicodeio.c: Likewise.
54739
54740 2002-12-31  Bruno Haible  <bruno@clisp.org>
54741
54742         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
54743         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
54744
54745 2002-12-31  Bruno Haible  <bruno@clisp.org>
54746
54747         * lib/getline.h: Include <stddef.h>, for size_t.
54748
54749         * lib/unicodeio.h: Include <stddef.h>, for size_t.
54750         * lib/unicodeio.c: Don't include <stddef.h>.
54751
54752 2002-12-31  Bruno Haible  <bruno@clisp.org>
54753
54754         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
54755         HAVE_TM_ZONE.
54756
54757 2002-12-24  Karl Berry  <karl@gnu.org>
54758
54759         * config/config.guess: update from prep.
54760
54761 2002-12-24  Bruno Haible  <bruno@clisp.org>
54762
54763         General infrasructure.
54764         * m4/README: Rewritten.
54765         * m4/onceonly.m4: New file.
54766         * m4/onceonly_2_57.m4: New file.
54767
54768         Module atexit.
54769         * m4/atexit.m4: New file.
54770
54771         Module strtod.
54772         * m4/strtod.m4: New file.
54773
54774         Module strtol.
54775         * m4/strtol.m4: New file.
54776
54777         Module strtoul.
54778         * m4/strtoul.m4: New file.
54779
54780         Module memchr.
54781         * m4/memchr.m4: New file.
54782
54783         Module memcmp.
54784         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
54785         (jm_FUNC_MEMCMP): Invoke it.
54786
54787         Module memcpy.
54788         * m4/memcpy.m4: New file.
54789
54790         Module memmove.
54791         * m4/memmove.m4: New file.
54792
54793         Module memset.
54794         * m4/memset.m4: New file.
54795
54796         Module strcspn.
54797         * m4/strcspn.m4: New file.
54798
54799         Module strpbrk.
54800         * m4/strpbrk.m4: New file.
54801
54802         Module strstr.
54803         * m4/strstr.m4: New file.
54804
54805         Module strerror.
54806         * m4/strerror.m4: New file.
54807
54808         Module mktime.
54809         * m4/mktime.m4: Renamed from jm-mktime.m4.
54810         (gl_PREREQ_MKTIME): New macro.
54811         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
54812
54813         Module malloc.
54814         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
54815         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
54816         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
54817
54818         Module realloc.
54819         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
54820         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
54821         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
54822
54823         Module strftime.
54824         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
54825         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
54826         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
54827         gl_TM_GMTOFF.
54828         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
54829
54830         Module xalloc.
54831         * m4/xalloc.m4: New file.
54832
54833         Module alloca.
54834         * m4/alloca.m4: New file.
54835
54836         Module putenv.
54837         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
54838         (jm_FUNC_PUTENV): Invoke it.
54839
54840         Module setenv.
54841         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
54842         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
54843         when invoked twice.
54844         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
54845         gt_FUNC_SETENV.
54846
54847         Module memrchr.
54848         * m4/memrchr.m4: New file.
54849
54850         Module stpcpy.
54851         * m4/stpcpy.m4: New file.
54852
54853         Module strcase.
54854         * m4/strcase.m4: New file.
54855
54856         Module strdup.
54857         * m4/strdup.m4: New file.
54858
54859         Module strnlen.
54860         * m4/strnlen.m4: New file.
54861
54862         Module strndup.
54863         * m4/strndup.m4: New file.
54864
54865         Module xstrtod.
54866         * m4/xstrtod.m4: New file.
54867
54868         Module xstrtol.
54869         * m4/xstrtol.m4: New file.
54870
54871         Module getdate.
54872         * m4/getdate.m4: New file.
54873
54874         Module unlocked-io.
54875         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
54876         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
54877         * m4/jm-glibc-io.m4n: Remove file.
54878
54879         Module long-options.
54880         * m4/long-options.m4: New file.
54881
54882         Module md5.
54883         * m4/md5.m4: New file.
54884
54885         Module sha.
54886         * m4/sha.m4: New file.
54887
54888         Module getstr.
54889         * m4/getstr.m4: New file.
54890
54891         Module getline.
54892         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
54893         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
54894         <sys/types.h>, for size_t. Use the function name gnu_getline, not
54895         simply getline. Infoke gl_PREREQ_GETLINE.
54896
54897         Module obstack.
54898         * m4/obstack.m4: New file.
54899
54900         Module hash.
54901         * m4/hash.m4: New file.
54902
54903         Module readtokens.
54904         * m4/readtokens.m4: New file.
54905
54906         Module strverscmp.
54907         * m4/strverscmp.m4: New file.
54908
54909         Module stdbool.
54910         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
54911         OSF/1.
54912
54913         Module strtoll.
54914         * m4/strtoll.m4: New file.
54915
54916         Module strtoull.
54917         * m4/strtoull.m4: New file.
54918
54919         Module strtoimax.
54920         * m4/strtoimax.m4: New file.
54921
54922         Module strtoumax.
54923         * m4/strtoumax.m4: New file.
54924
54925         Module xstrtoimax.
54926         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
54927         jm_AC_PREREQ_XSTRTOIMAX.
54928         Moved the strtol prerequisites to strtol.m4.
54929         Moved the strtoll prerequisites to strtoll.m4.
54930         Moved the strtoimax prerequisites to strtoimax.m4.
54931
54932         Module xstrtoumax.
54933         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
54934         jm_AC_PREREQ_XSTRTOUMAX.
54935         Moved the strtoul prerequisites to strtoul.m4.
54936         Moved the strtoull prerequisites to strtoull.m4.
54937         Moved the strtoumax prerequisites to strtoumax.m4.
54938
54939         Module chown.
54940         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
54941         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
54942
54943         Module dup2.
54944         * m4/dup2.m4: New file.
54945
54946         Module ftruncate.
54947         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
54948         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
54949
54950         Module getgroups.
54951         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
54952         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
54953
54954         Module gettimeofday.
54955         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
54956         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
54957         gl_PREREQ_GETTIMEOFDAY.
54958
54959         Module mkdir.
54960         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
54961         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
54962
54963         Module mkstemp.
54964         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
54965         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
54966         jm_AC_TYPE_UINTMAX_T.
54967         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
54968
54969         Module stat.
54970         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
54971         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
54972
54973         Module lstat.
54974         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
54975         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
54976
54977         Module timespec.
54978         * m4/timespec.m4 (gl_TIMESPEC): New macro.
54979         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
54980         * m4/st_mtim.m4: Indentation.
54981
54982         Module nanosleep.
54983         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
54984         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
54985         gl_PREREQ_NANOSLEEP.
54986
54987         Module regex.
54988         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
54989         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
54990         (gl_REGEX): New macro.
54991
54992         Module rename.
54993         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
54994         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
54995
54996         Module rmdir.
54997         * m4/rmdir.m4: New file.
54998
54999         Module utime.
55000         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
55001         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
55002         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
55003
55004         Module dirname.
55005         * m4/dirname.m4: New file.
55006
55007         Module getopt.
55008         * m4/getopt.m4: New file.
55009
55010         Module unistd-safer.
55011         * m4/unistd-safer.m4: New file.
55012
55013         Module fnmatch.
55014         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
55015         declaration.
55016         (gl_PREREQ_FNMATCH_EXTRA): New macro.
55017         (gl_FUNC_FNMATCH_POSIX): New macro.
55018         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
55019         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
55020         simply fnmatch.
55021
55022         Module exclude.
55023         * m4/exclude.m4: New file.
55024
55025         Module human.
55026         * m4/human.m4: New file.
55027
55028         Module acl.
55029         * m4/acl.m4: Nop.
55030
55031         Module backupfile.
55032         * m4/backupfile.m4: New file.
55033         * m4/d-ino.m4: Indentation.
55034
55035         Module fsusage.
55036         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
55037         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
55038         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
55039
55040         Module dirfd.
55041         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
55042         requirements.
55043
55044         Module euidaccess.
55045         * m4/euidaccess.m4: New file.
55046
55047         Module file-type.
55048         * m4/file-type.m4: New file.
55049
55050         Module fileblocks.
55051         * m4/fileblocks.m4: New file.
55052
55053         Module filemode.
55054         * m4/filemode.m4: New file.
55055
55056         Module isdir.
55057         * m4/isdir.m4: New file.
55058
55059         Module lchown.
55060         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
55061         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
55062
55063         Module makepath.
55064         * m4/makepath.m4: New file.
55065
55066         Module modechange.
55067         * m4/modechange.m4: New file.
55068
55069         Module mountlist.
55070         * m4/mountlist.m4: New file.
55071         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
55072         Indentation.
55073
55074         Module path-concat.
55075         * m4/path-concat.m4: New file.
55076
55077         Module pathmax.
55078         * m4/pathmax.m4: New file.
55079
55080         Module same.
55081         * m4/same.m4: New file.
55082
55083         Module save-cwd.
55084         * m4/save-cwd.m4: New file.
55085
55086         Module savedir.
55087         * m4/savedir.m4: New file.
55088
55089         Module xgetcwd.
55090         * m4/xgetcwd.m4: New file.
55091         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
55092
55093         Module xreadlink.
55094         * m4/xreadlink.m4: New file.
55095
55096         Module safe-read.
55097         * m4/safe-read.m4: New file.
55098
55099         Module safe-write.
55100         * m4/safe-write.m4: New file.
55101
55102         Module closeout.
55103         * m4/closeout.m4: New file.
55104
55105         Module stdio-safer.
55106         * m4/stdio-safer.m4: New file.
55107
55108         Module getpass.
55109         * m4/getpass.m4: New file.
55110
55111         Module getugroups.
55112         * m4/getugroups.m4: New file.
55113
55114         Module group-member.
55115         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
55116         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
55117
55118         Module idcache.
55119         * m4/idcache.m4: New file.
55120
55121         Module userspec.
55122         * m4/userspec.m4: New file.
55123
55124         Module gettime.
55125         * m4/clock_time.m4: New file.
55126         * m4/gettime.m4: New file.
55127
55128         Module settime.
55129         * m4/settime.m4: New file.
55130
55131         Module posixtm.
55132         * m4/posixtm.m4: New file.
55133
55134         Module gethostname.
55135         * m4/gethostname.m4: New file.
55136
55137         Module canon-host.
55138         * m4/canon-host.m4: New file.
55139
55140         Module gettext.
55141         * m4/codeset.m4: New file, from gettext-0.11.5.
55142         * m4/gettext.m4: New file, from gettext-0.11.5.
55143         * m4/glibc21.m4: New file, from gettext-0.11.5.
55144         * m4/iconv.m4: New file, from gettext-0.11.5.
55145         * m4/intdiv0.m4: New file, from gettext-0.11.5.
55146         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
55147         * m4/inttypes.m4: New file, from gettext-0.11.5.
55148         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
55149         * m4/isc-posix.m4: New file, from gettext-0.11.5.
55150         * m4/lcmessage.m4: New file, from gettext-0.11.5.
55151         * m4/lib-ld.m4: New file, from gettext-0.11.5.
55152         * m4/lib-link.m4: New file, from gettext-0.11.5.
55153         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
55154         * m4/progtest.m4: New file, from gettext-0.11.5.
55155         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
55156         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
55157         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
55158
55159         Module localcharset.
55160         * m4/localcharset.m4: New file.
55161
55162         Module hard-locale.
55163         * m4/hard-locale.m4: New file.
55164
55165         Module mbswidth.
55166         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
55167         onceonly macros.
55168         * m4/mbrtowc.m4: Add comment.
55169
55170         Module memcasecmp.
55171         * m4/memcasecmp.m4: New file.
55172
55173         Module memcoll.
55174         * m4/memcoll.m4: New file.
55175
55176         Module unicodeio.
55177         * m4/unicodeio.m4: New file.
55178
55179         Module rpmatch.
55180         * m4/rpmatch.m4: New file.
55181
55182         Module yesno.
55183         * m4/yesno.m4: New file.
55184
55185         Module exitfail.
55186         * m4/exitfail.m4: New file.
55187
55188         Module c-stack.
55189         * m4/c-stack.m4 (gl_C_STACK): New macro.
55190         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
55191
55192         Module error.
55193         * m4/error.m4 (gl_ERROR): New macro.
55194         (jm_PREREQ_ERROR): Use onceonly macros.
55195
55196         Module fatal.
55197         * m4/fatal.m4: New file.
55198
55199         Module getloadavg.
55200         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
55201         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
55202
55203         Module getpagesize.
55204         * m4/getpagesize.m4: New file.
55205
55206         Module getusershell.
55207         * m4/getusershell.m4: New file.
55208
55209         Module physmem.
55210         * m4/physmem.m4: New file.
55211
55212         Module posixver.
55213         * m4/posixver.m4: New file.
55214
55215         Module quotearg.
55216         * m4/quotearg.m4: New file.
55217
55218         Module quote.
55219         * m4/quote.m4: New file.
55220
55221         Module readutmp.
55222         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
55223
55224         Module sig2str.
55225         * m4/sig2str.m4: New file.
55226
55227         Other.
55228         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
55229         ulonglong.m4.
55230         * m4/intmax_t.m4: New file.
55231         * m4/d-type.m4: Indentation.
55232         * m4/jm-macros.m4: Update.
55233         * m4/prereq.m4 (jm_PREREQ): Update.
55234         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
55235         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
55236         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
55237         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
55238         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
55239         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
55240         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
55241         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
55242         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
55243         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
55244         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
55245         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
55246         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
55247         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
55248         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
55249         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
55250         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
55251         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
55252         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
55253
55254 2002-12-24  Bruno Haible  <bruno@clisp.org>
55255
55256         * MODULES.txt: Update according to m4/ changes.
55257
55258         Module gettext.
55259         * config.rpath: New file, from gettext-0.11.5.
55260
55261         * modules/*: New module descriptions.
55262         * gnulib-tool: New file.
55263         * MODULES.html.sh: New file.
55264
55265 2002-12-21  Karl Berry  <karl@gnu.org>
55266
55267         * doc/fdl.texi: update to version 1.2.
55268
55269 2002-12-19  Karl Berry  <karl@gnu.org>
55270
55271         * config/config.guess: update from prep.
55272
55273 2002-12-18  Bruno Haible  <bruno@clisp.org>
55274
55275         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
55276         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
55277
55278 2002-12-17  Bruno Haible  <bruno@clisp.org>
55279
55280         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
55281         stdlib.h, string.h.
55282
55283 2002-12-17  Bruno Haible  <bruno@clisp.org>
55284
55285         * lib/canon-host.c (strdup): Remove unused declaration.
55286
55287         * lib/fsusage.c: Include full_read.h.
55288         (get_fs_usage): Use full_read instead of safe_read.
55289
55290         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
55291
55292 2002-12-12  Karl Berry  <karl@gnu.org>
55293
55294         * config/config.guess: update from prep.
55295
55296 2002-12-11  Bruno Haible  <bruno@clisp.org>
55297
55298         * m4/setenv.m4: New file, from gettext-0.11.5.
55299
55300 2002-12-11  Bruno Haible  <bruno@clisp.org>
55301
55302         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
55303         not unsetenv().
55304         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
55305         modifications:
55306
55307         2002-12-11  Bruno Haible  <bruno@clisp.org>
55308
55309                 * setenv.c (alloca): Fall back to malloc.
55310                 (freea): New macro.
55311                 (setenv): Use freea() to free memory allocated with alloca().
55312
55313         2002-11-13  Bruno Haible  <bruno@clisp.org>
55314
55315                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
55316                 function declarations.
55317                 * unsetenv.c (unsetenv): Likewise.
55318
55319         2002-03-04  Bruno Haible  <bruno@clisp.org>
55320
55321                 Portability to AIX 4.3.3.
55322                 * unsetenv.c: New file, extracted from setenv.c.
55323                 * setenv.c: Move the unsetenv() function to unsetenv.c.
55324
55325         2001-12-20  Bruno Haible  <bruno@clisp.org>
55326
55327                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
55328                 use malloc instead. For SunOS 4.
55329
55330         2001-12-11  Bruno Haible  <bruno@clisp.org>
55331
55332                 * setenv.c: Declare alloca.
55333                 (compar_fn_t): New typedef.
55334                 (KNOWN_VALUE, STORE_VALUE): Use it.
55335
55336         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
55337         setenv.h.
55338
55339 2002-12-10  Paul Eggert  <eggert@twinsun.com>
55340
55341         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
55342         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
55343         Choose values that are less likely to collide with system fnmatch
55344         options.
55345         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
55346         defined (e.g., a pure POSIX system).
55347         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
55348         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
55349
55350 2002-12-06  Paul Eggert  <eggert@twinsun.com>
55351
55352         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
55353         a pain in practice to deal with generated m4 files.  This change
55354         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
55355
55356         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
55357         and jm-glibc-io.m4, as they are no longer a special case.
55358         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
55359         kludge and the auto-generation stuff.  Check only whether the
55360         functions are declared, not whether they exist, since older hosts
55361         that don't declare the functions can't use the optimization anyway.
55362
55363 2002-12-06  Jim Meyering  <jim@meyering.net>
55364
55365         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
55366
55367         Merge in changes from libc's misc/error.c, in preparation
55368         for the merge of gnulib's changes back into libc.
55369
55370         * lib/error.c (_): Define only if not already defined.
55371         Move definition to follow all #include directives.
55372         Include unlocked-io.h only if !_LIBC.
55373         [_LIBC]: Include <libio/libioP.h>.
55374         [USE_IN_LIBIO]: Include <libio/iolibio.h>
55375         (fflush): Tweak definition to use INTUSE.
55376         (putc): Define.
55377
55378 2002-12-05  Paul Eggert  <eggert@twinsun.com>
55379
55380         * lib/alloca.c [defined emacs]: Include "lisp.h".
55381         (xalloc_die) [defined emacs]: New macro.
55382         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
55383         [! defined emacs]: Include <xalloc.h>.
55384         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
55385         (pointer): Typedef to POINTER_TYPE *.
55386         (malloc): Remove decl; we now always use xmalloc.
55387         (alloca): Use old-style definition, since Emacs needs this.
55388         Check for arithmetic overflow when computing combined size.
55389
55390 2002-12-04  Paul Eggert  <eggert@twinsun.com>
55391
55392         Do not generate unlocked-io.h automatically, since it's easier to
55393         maintain it by hand.
55394
55395         * lib/unlocked-io.h: New file, from GNU diffutils,
55396         but with proper copyright notice and attribution.
55397         * lib/gen-uio: Remove.
55398         * lib/Makefile.am: Add copyright notice.
55399         (libfetish_a_SOURCES): Add unlocked-io.h.
55400         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
55401         (DISTCLEANFILES, io_functions): Remove macros.
55402         (EXTRA_DIST): Remove gen_uio.
55403         (unlocked-io.h): Remove rule.
55404
55405 2002-12-04  Jim Meyering  <jim@meyering.net>
55406
55407         Reflect the fact that stat.c and lstat.c are no longer generated.
55408         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
55409         (DISTCLEANFILES): Likewise.
55410         (EXTRA_DIST): Likewise.
55411         (all_local): Don't depend on stat.c or lstat.c.
55412         (stat.c, lstat.c): Remove rules.
55413         (EXTRA_DIST): Remove xstat.in.
55414
55415         * lib/xstat.in: Remove file.  Contents moved into stat.c.
55416         * lib/stat.c: New file.  Contents mostly from xstat.in.
55417         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
55418         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
55419
55420         * lib/safe-read.c: Rework so that it may serve to define safe_write,
55421         too.
55422         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
55423
55424 2002-12-03  Jim Meyering  <jim@meyering.net>
55425
55426         * lib/safe-read.c, safe-write.c: Change variable names and comments,
55427         but not semantics, to minimize the differences between these two files.
55428         (safe_read): Change comment to mention SAFE_READ_ERROR.
55429
55430         * lib/safe-read.c (IS_EINTR): Define.
55431         (safe_read): Use IS_EINTR in place of in-function cpp directives.
55432
55433 2002-12-02  Jim Meyering  <jim@meyering.net>
55434
55435         * lib/safe-read.c (EINTR): Define.
55436         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
55437         (INT_MAX): Provide fallback.
55438         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
55439
55440         * lib/safe-read.h (SAFE_READ_ERROR): Define.
55441
55442 2002-12-02  Bruno Haible  <bruno@clisp.org>
55443
55444         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
55445         Define, taken from safe-read.c.
55446         (INT_MAX): Provide fallback.
55447         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
55448         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
55449
55450         * lib/safe-read.c (EINTR): Remove definition.
55451         (safe_read): Don't use EINTR if it is absent.
55452
55453 2002-12-01  Jim Meyering  <jim@meyering.net>
55454
55455         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
55456         zero.
55457         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
55458
55459 2002-11-27  Paul Eggert  <eggert@twinsun.com>
55460
55461         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
55462         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
55463         with `if (! (value < limit)) abort ();', for readability.
55464
55465 2002-11-26  Karl Berry  <karl@gnu.org>
55466
55467         * lib/strdup.c: copy from libc again, with jim's ok.
55468         * lib/.cppi-disable: re-add strdup.c
55469
55470 2002-11-25  Karl Berry  <karl@gnu.org>
55471
55472         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
55473         instead of "strtol.c".
55474
55475 2002-11-25  Karl Berry  <karl@gnu.org>
55476
55477         * config/install-sh: update from automake for variable quoting, $0 in
55478         error msgs, etc.
55479
55480         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
55481         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
55482         entry.
55483
55484 2002-11-25  Jim Meyering  <jim@meyering.net>
55485
55486         * lib/mktime.c: Sync from libc, now that it has the latest fix.
55487
55488 2002-11-24  Karl Berry  <karl@gnu.org>
55489
55490         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
55491         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
55492
55493 2002-11-24  Jim Meyering  <jim@meyering.net>
55494
55495         Update from coreutils:
55496
55497         * lib/mktime.c: Merge in changes from libc.
55498
55499         Avoid a link-time failure on some Linux systems.
55500         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
55501         (otherwise).
55502         (__mon_yday): Declare with the STATIC attribute.
55503         (__mktime_internal): Likewise.
55504         Based on a report from Greg Schafer.
55505
55506 2002-11-23  Jim Meyering  <jim@meyering.net>
55507
55508         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
55509         Use `unsigned', not `int', as type of index.
55510
55511         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
55512
55513         * lib/fsusage.c: Remove unneeded parentheses around operands of
55514         `defined'.
55515
55516 2002-11-22  Paul Eggert  <eggert@twinsun.com>
55517
55518         * lib/quotearg.h: Allow multiple inclusion by surrounding with
55519         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
55520         so that we can be included first.
55521         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
55522         * lib/quotearg.c: Include quotearg.h immediately after config.h.
55523         No need to include stddef.h or sys/types.h any more.
55524         Surround local include files with "", not "<>".
55525         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
55526         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
55527         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
55528         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
55529         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
55530         (ISPRINT): Remove; no longer needed now that we assume C89.
55531
55532         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
55533         Preserve errno.
55534
55535         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
55536         quotearg_char): Use SIZE_MAX rather than
55537         (size_t) -1 when we are talking about "infinity".
55538
55539         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
55540
55541 2002-11-22  Paul Eggert  <eggert@twinsun.com>
55542
55543         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
55544         hint that one should use `if (! x) abort ();' rather than `assert
55545         (x);', and anyway it's one less thing to worry about configuring.
55546         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
55547         hash_rehash, hash_insert): Use abort rather than assert.
55548
55549 2002-11-22  Bruno Haible  <bruno@clisp.org>
55550
55551         * lib/safe-read.h: Assume C89. Add comments.
55552         (safe_read): Change return type to size_t.
55553         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
55554         byte counts > SSIZE_MAX correctly.
55555         * lib/safe-write.h: New file.
55556         * lib/safe-write.c: New file.
55557         * lib/full-read.h: New file.
55558         * lib/full-read.c: New file.
55559         * lib/full-write.h: Assume C89. Add comments.
55560         * lib/full-write.c: Include safe-write.h.
55561         (full_write): Rewritten to use safe_write.
55562         Suggested by Jim Meyering and Paul Eggert.
55563
55564 2002-11-21  Jim Meyering  <jim@meyering.net>
55565
55566         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
55567
55568         Merge in changes from the coreutils.
55569
55570         2002-09-25  Paul Eggert  <eggert@twinsun.com>
55571         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
55572         <stdint.h>.
55573         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
55574         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
55575         int.  Work more efficiently if X is the same width as uintmax_t.
55576         Do not compare X to -1, to avoid bogus compiler warning.
55577         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
55578         Don't assume that f_frsize and f_bsize are the same type.
55579
55580         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
55581         warning on FreeBSD.
55582
55583         * lib/makepath.c (make_path): Restore umask *before* creating the final
55584         component.
55585         (make_path): Minor reformatting.
55586
55587         * lib/xmalloc.c: Adjust to work with new autoconf macros,
55588         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
55589         HAVE_MALLOC/HAVE_REALLOC.
55590
55591         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
55592         dummy ones.  At least on GNU/Linux systems, `auto' means something
55593         else.
55594         From Michael Stone.
55595
55596 2002-11-21  Bruno Haible  <bruno@clisp.org>
55597
55598         Remove case insensitive option matching.
55599         * lib/argmatch.h (argcasematch): Remove declaration.
55600         (ARGCASEMATCH): Remove macro.
55601         (__xargmatch_internal): Remove case_sensitive argument.
55602         (XARGMATCH): Update.
55603         (XARGCASEMATCH): Remove macro.
55604         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
55605         case_sensitive argument.
55606         (argcasematch): Remove function.
55607         (__xargmatch_internal): Remove case_sensitive argument.
55608         (main): Use XARGMATCH instead of XARGCASEMATCH.
55609
55610         * lib/xmalloc.c: Change compile-time error message. Add comment about
55611         required autoconf version.
55612
55613 2002-11-20  Paul Eggert  <eggert@twinsun.com>
55614
55615         Merge argmatch cleanups from Bison.  Assume C89.
55616
55617         * lib/argmatch.c: Include config.h here, not in argmatch.h.
55618         Include stdlib.h, for EXIT_FAILURE.
55619         Always include <string.h>, since we assume C89.
55620         (EXIT_FAILURE): Remove pre-C89 bug workaround.
55621         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
55622         Include <stddef.h> instead, since it's all we need for size_t.
55623         (PARAMS): Remove.  All uses removed.
55624         (ARRAY_CARDINALITY): Do not bother to #undef.
55625         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
55626         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
55627         Remove unnecessary parentheses.
55628         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
55629         Insert necessary parentheses.
55630         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
55631         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
55632
55633 2002-11-19  Bruno Haible  <bruno@clisp.org>
55634
55635         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
55636         * lib/mbswidth.h: Include <stddef.h>, for size_t.
55637
55638         * lib/mbswidth.h (PARAMS): Remove macro.
55639         (mbswidth, mbsnwidth): Use ANSI C function declarations.
55640         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
55641
55642         * lib/gcd.h (PARAMS): Remove macro.
55643         (gcd): Use ANSI C function declarations.
55644         * lib/gcd.c (gcd): Likewise.
55645
55646 2002-11-15  Bruno Haible  <bruno@clisp.org>
55647
55648         * lib/strcspn.c: Include <stddef.h>.
55649         (strcspn): Use ANSI C function declaration. Change return type to
55650         size_t. Use NULL.
55651         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
55652         (strpbrk): Use NULL.
55653         * lib/strpbrk.h (PARAMS): Remove macro.
55654         (strpbrk): Use ANSI C function declaration.
55655         * lib/strstr.c: Don't include <sys/types.h>.
55656         * lib/strstr.h (PARAMS): Remove macro.
55657         (strstr): Use ANSI C function declarations.
55658
55659 2002-11-14  Karl Berry  <karl@gnu.org>
55660
55661         * config/mkinstalldirs: `do' on separate line, instead of
55662         `for var; do'.
55663
55664 2002-11-06  Bruno Haible  <bruno@clisp.org>
55665
55666         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
55667         * lib/gcd.c (gcd): Likewise.
55668
55669 2002-11-05  Bruno Haible  <bruno@clisp.org>
55670
55671         * lib/gcd.h: New file, from gettext-0.11.5.
55672         * lib/gcd.c: New file, from gettext-0.11.5.
55673
55674 2002-11-05  Bruno Haible  <bruno@clisp.org>
55675
55676         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
55677         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
55678         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
55679         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
55680
55681         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
55682         <libintl.h>.
55683         * lib/makepath.c: Include gettext.h instead of <locale.h> and
55684         <libintl.h>.
55685
55686         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
55687         * lib/human.c: Include gettext.h instead of <libintl.h>.
55688         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
55689         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
55690         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
55691         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
55692         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
55693         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
55694         (textdomain): Remove definition.
55695         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
55696
55697         * lib/long-options.c: Remove include of <libintl.h> and definition of
55698         _.
55699         * lib/same.c: Remove include of <libintl.h> and definition of _.
55700
55701 2002-11-04  Owen Taylor  <otaylor@redhat.com>
55702
55703         * lib/config.charset: A few additions for Solaris.
55704
55705 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
55706
55707         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
55708         * lib/localcharset.c (locale_charset): Declare as extern "C".
55709
55710 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
55711
55712         * lib/config.charset: msdos in uk_UA uses CP1125.
55713
55714 2002-11-04  Bruno Haible  <bruno@clisp.org>
55715
55716         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
55717         * lib/strcase.h: New file, from GNU gettext-0.11.5.
55718         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
55719         * lib/strstr.h: New file, from GNU gettext-0.11.5.
55720         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
55721
55722 2002-11-04  Bruno Haible  <bruno@clisp.org>
55723
55724         * lib/localcharset.c (locale_charset): Don't return an empty string.
55725
55726 2002-11-04  Bruno Haible  <bruno@clisp.org>
55727
55728         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
55729         aliases.
55730
55731 2002-11-04  Bruno Haible  <bruno@clisp.org>
55732
55733         * lib/config.charset: Update for newest glibc. Add canonical names
55734         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
55735
55736 2002-11-04  Bruno Haible  <bruno@clisp.org>
55737
55738         * lib/config.charset: Add support for NetBSD.
55739
55740 2002-11-04  Bruno Haible  <bruno@clisp.org>
55741
55742         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
55743
55744 2002-11-01  Bruno Haible  <bruno@clisp.org>
55745
55746         * configure.in: Add AC_CONFIG_AUX_DIR call.
55747         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
55748         test/Makefile.
55749         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
55750
55751 2002-09-28  Karl Berry  <karl@gnu.org>
55752
55753         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
55754         installed automake until the next release, since changes have been
55755         made.
55756
55757 2002-09-25  Karl Berry  <karl@gnu.org>
55758
55759         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
55760         * lib/getopt*: copy from libc/posix.
55761         * lib/gettext.h: copy from gettext.
55762         * lib/.cppi-disable: add strdup.c, gettext.h.
55763
55764 2002-09-25  Karl Berry  <karl@gnu.org>
55765
55766         * config/srclist.txt: enable gettext.h check.
55767         * config/config.{guess,sub}: update from prep.
55768         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
55769                 from automake 1.6.3.
55770         See srclist*.
55771
55772 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
55773
55774         * regex.c (PATFETCH): Remove the translating fetch.
55775         (PATFETCH_RAW): Rename to PATFETCH.
55776         (set_image_of_range): New fun.
55777         (SET_RANGE_TABLE_WORK_AREA): Use it.
55778         (regex_compile): Don't translate the pattern chars so eagerly.
55779         Only do it when inserting an `exactn' bytecode or when handling
55780         a char-range.
55781         (mutually_exclusive_p): Avoid empty statement.
55782
55783 2002-07-06  Jim Meyering  <meyering@lucent.com>
55784
55785         * m4/README: Don't mention Makefile.am.in.
55786         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
55787
55788 2002-07-01  Jim Meyering  <meyering@lucent.com>
55789
55790         * lib/c-stack.c: Include sys/time.h.
55791         From Volker Borchert.
55792
55793 2002-06-26  Paul Eggert  <eggert@twinsun.com>
55794
55795         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
55796
55797 2002-06-26  Paul Eggert  <eggert@twinsun.com>
55798
55799         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
55800         New macro.  Use it uniformly instead of
55801         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
55802         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
55803         reported by Vin Shelton.
55804
55805 2002-06-22  Paul Eggert  <eggert@twinsun.com>
55806
55807         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
55808         Do not assume SA_SIGINFO behavior.
55809         Bug reported by Jim Meyering on NetBSD 1.5.2.
55810
55811 2002-06-22  Jim Meyering  <meyering@lucent.com>
55812
55813         * m4/c-stack.m4: New file, from diffutils-2.8.2.
55814         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
55815
55816         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
55817         now that configure.ac uses AC_GNU_SOURCE.
55818         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
55819         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
55820
55821         Update to latest tools.  Suggestions from Paul Eggert.
55822         * m4/stdbool.m4: New file, from diffutils-2.8.2.
55823         * m4/gnu-source.m4: Update from diffutils-2.8.2.
55824         * m4/fnmatch.m4: Likewise.
55825         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
55826         to AC_HEADER_STDBOOL
55827
55828 2002-06-22  Jim Meyering  <meyering@lucent.com>
55829
55830         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
55831         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
55832
55833 2002-06-22  Jim Meyering  <meyering@lucent.com>
55834
55835         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
55836
55837         * lib/exitfail.c, exitfail.h: Likewise.
55838         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
55839
55840         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
55841         of fnmatch.h.
55842         (EXTRA_DIST): Add fnmatch_loop.c.
55843         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
55844
55845         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
55846         * lib/fnmatch.c: Update from diffutils-2.8.2.
55847         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
55848         * lib/fnmatch.h: Remove file.
55849
55850 2002-06-21  Jim Meyering  <meyering@lucent.com>
55851
55852         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
55853         * m4/mbrtowc.m4: Likewise.
55854
55855         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
55856         * m4/mbswidth.m4: Reflect name change:
55857         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
55858         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
55859
55860         * m4/lib-link.m4: Update from gettext-0.11.2.
55861         * m4/gettext.m4: Likewise.
55862
55863         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
55864         From Alfred M. Szmidt.
55865
55866 2002-06-18  Paul Eggert  <eggert@twinsun.com>
55867
55868         * lib/file-type.h: Report an error if neither S_ISREG nor
55869         S_IFREG is defined, instead of using a test specific to glibc
55870         2.2.  This should be safe, since POSIX requires S_ISREG and
55871         Unix Version 7 had S_IFREG.  We don't need to check for
55872         <sys/types.h> since we don't use any symbols that it defines.
55873
55874 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
55875
55876         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
55877         $@-t, so that each temporary file name is unique and valid in the first
55878         8 characters, for operation under DOS.
55879
55880 2002-06-15  Paul Eggert  <eggert@twinsun.com>
55881
55882         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
55883
55884 2002-06-15  Jim Meyering  <meyering@lucent.com>
55885
55886         Work even with DJGPP 2.03, which lacks support for symlinks.
55887         From Richard Dawe.
55888         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
55889         is defined.
55890         * lib/lchown.c (S_ISLNK): Likewise.
55891
55892 2002-06-15  Jim Meyering  <meyering@lucent.com>
55893
55894         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
55895         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
55896         have been included before this file.
55897
55898 2002-06-14  Jim Meyering  <meyering@lucent.com>
55899
55900         * lib/file-type.h: Use the version from diffutils-2.8.2.
55901         * lib/file-type.c: Likewise.
55902
55903 2002-06-07  Jim Meyering  <meyering@lucent.com>
55904
55905         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
55906         They're needed at least for NetBSD 1.5.2.
55907         ($statxfs_includes): Include those same headers.
55908         ($statxfs_includes): Include sys/vfs.h if available.
55909         ($statxfs_includes): Likewise for sys/statvfs.h.
55910         Check for the following members in both structs statfs and statvfs:
55911         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
55912
55913 2002-06-01  Jim Meyering  <meyering@lucent.com>
55914
55915         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
55916         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
55917
55918 2002-05-28  Jim Meyering  <meyering@lucent.com>
55919
55920         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
55921         Reported by Volker Borchert.
55922
55923 2002-05-27  Jim Meyering  <meyering@lucent.com>
55924
55925         Fix a problem seen only on nonconforming systems whereby ls.c's
55926         use of localtime, and then of gettimeofday would cause trouble:
55927         the localtime call used to initialize rpl_gettimeofday's save
55928         mechanism would clobber ls's current local time information so
55929         that in any long listing the first file would always be listed
55930         with date 1970-01-01.  Analysis by Volker Borchert.
55931
55932         * lib/gettimeofday.c (localtime): Undefine.
55933         (rpl_localtime): New function.
55934
55935 2002-05-27  Jim Meyering  <meyering@lucent.com>
55936
55937         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
55938         localtime.
55939
55940         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
55941         use the replacement function; it wouldn't resolve at link time.
55942         Reported by Volker Borchert.
55943
55944 2002-05-22  Jim Meyering  <meyering@lucent.com>
55945
55946         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
55947         file-type.h.
55948         * lib/file-type.h: New file.
55949         * lib/file-type.c (file_type): New file/function.  Extracted from
55950         diffutils.
55951
55952 2002-04-30  Jim Meyering  <meyering@lucent.com>
55953
55954         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
55955
55956 2002-04-29  Paul Eggert  <eggert@twinsun.com>
55957
55958         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
55959
55960 2002-04-29  Paul Eggert  <eggert@twinsun.com>
55961
55962         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
55963         Do not check for alloca.h (no longer used) or stdbool.h (was never
55964         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
55965
55966 2002-04-29  Paul Eggert  <eggert@twinsun.com>
55967
55968         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
55969
55970 2002-04-29  Jim Meyering  <meyering@lucent.com>
55971
55972         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
55973         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
55974         Use AC_FUNC_STRNLEN here instead.
55975
55976         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
55977         With autoconf-2.53a, it's part of AC_PROG_CC.
55978
55979 2002-04-28  Paul Eggert  <eggert@twinsun.com>
55980
55981         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
55982         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
55983
55984 2002-04-28  Paul Eggert  <eggert@twinsun.com>
55985
55986         * lib/sig2str.h, lib/sig2str.c: New files.
55987         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
55988
55989 2002-04-28  Paul Eggert  <eggert@twinsun.com>
55990
55991         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
55992         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
55993         of 127, since 64 is the largest conceivable number for ancient
55994         nonstandard hosts.
55995         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
55996
55997 2002-04-28  Jim Meyering  <meyering@lucent.com>
55998
55999         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
56000
56001 2002-04-24  Jim Meyering  <meyering@lucent.com>
56002
56003         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
56004         (jm_PREREQ): Use it.
56005
56006         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
56007         mach/mach.h fcntl.h.
56008         Check for this function: setlocale.
56009
56010 2002-04-24  Jim Meyering  <meyering@lucent.com>
56011
56012         * lib/gettext.h: New file, from Gettext.
56013         * lib/Makefile.am (INCLUDES): Remove -I../intl.
56014         (libfetish_a_SOURCES): Add gettext.h.
56015
56016 2002-04-16  Jim Meyering  <meyering@lucent.com>
56017
56018         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
56019         ut_pid, ut_id, ut_exit.
56020
56021 2002-04-16  Jim Meyering  <meyering@lucent.com>
56022
56023         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
56024         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
56025         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
56026
56027 2002-04-12  Jim Meyering  <meyering@lucent.com>
56028
56029         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
56030         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
56031         existence of the getmntinfo function.  Needed for Darwin 5.3.
56032
56033         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
56034         This is necessary at least on Darwin 5.3.
56035
56036         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
56037         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
56038         strnlen.o in the library, and that makes some versions of ranlib
56039         object.
56040
56041 2002-04-12  Jim Meyering  <meyering@lucent.com>
56042
56043         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
56044
56045 2002-04-09  Jim Meyering  <meyering@lucent.com>
56046
56047         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
56048         to be more precise.  Rather than saying we're checking whether the
56049         function `works', say what we're testing.
56050         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
56051         Reported by Bruno Haible.
56052
56053 2002-03-10  Jim Meyering  <meyering@lucent.com>
56054
56055         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
56056         Suggestion from Santiago Vila.
56057
56058 2002-03-08  Jim Meyering  <meyering@lucent.com>
56059
56060         * lib/rename.c: Mention that this wrapper is needed also on
56061         mips-dec-ultrix4.4 systems.
56062
56063 2002-03-02  Jim Meyering  <meyering@lucent.com>
56064
56065         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
56066         not HAVE_CLOCK_SETTIME.
56067
56068 2002-02-27  Paul Eggert  <eggert@twinsun.com>
56069
56070         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
56071         Check for clock_settime.
56072
56073 2002-02-27  Paul Eggert  <eggert@twinsun.com>
56074
56075         * lib/nanosleep.h: Rename to....
56076         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
56077
56078         * lib/gettime.c: New file.
56079         * lib/settime.c: New file.
56080         * lib/stime.c: Remove.
56081
56082         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
56083         timespec.h.  Remove nanosleep.h.
56084
56085 2002-02-25  Paul Eggert  <eggert@twinsun.com>
56086
56087         * m4/acl.m4: New file.
56088         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
56089         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
56090
56091 2002-02-25  Paul Eggert  <eggert@twinsun.com>
56092
56093         * lib/acl.c, lib/acl.h: New files.
56094         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
56095
56096 2002-02-24  Jim Meyering  <meyering@lucent.com>
56097
56098         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
56099         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
56100         cause trouble.  Reported by Nelson Beebe.
56101
56102 2002-02-23  Paul Eggert  <eggert@twinsun.com>
56103
56104         * lib/path-concat.c (xpath_concat): Reorder code to pacify
56105         compilers that don't know that xalloc_die never returns.
56106
56107 2002-02-20  Jim Meyering  <meyering@lucent.com>
56108
56109         * lib/getdate.c: Regenerate using bison-1.33.
56110
56111 2002-02-17  Jim Meyering  <meyering@lucent.com>
56112
56113         * config/config.guess (main): Don't use `head -1'; it's no longer
56114         portable. Use `sed 1q' instead.
56115
56116 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
56117
56118         * m4/codeset.m4: Upgrade to gettext-0.11.
56119         * m4/gettext.m4: Upgrade to gettext-0.11.
56120         * m4/glibc21.m4: Upgrade to gettext-0.11.
56121         * m4/iconv.m4: Upgrade to gettext-0.11.
56122         * m4/isc-posix.m4: Upgrade to gettext-0.11.
56123         * m4/lcmessage.m4: Upgrade to gettext-0.11.
56124         * m4/lib-ld.m4: New file, from gettext-0.11.
56125         * m4/lib-link.m4: New file, from gettext-0.11.
56126         * m4/lib-prefix.m4: New file, from gettext-0.11.
56127         * m4/progtest.m4: Upgrade to gettext-0.11.
56128
56129 2002-02-15  Paul Eggert  <eggert@twinsun.com>
56130
56131         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
56132         (jm_PREREQ): Use it.
56133
56134 2002-02-15  Paul Eggert  <eggert@twinsun.com>
56135
56136         * lib/posixver.c, lib/posixver.h: New files.
56137         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
56138
56139 2002-02-02  Paul Eggert  <eggert@twinsun.com>
56140             Bruno Haible  <bruno@clisp.org>
56141
56142         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
56143         (fwrite_success_callback): New declaration.
56144         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
56145         print_unicode_char. Call failure callback instead of error.
56146         (fwrite_success_callback): New function.
56147         (exit_failure_callback): New function.
56148         (fallback_failure_callback): New function.
56149         (print_unicode_char): Call unicode_to_mb.
56150
56151 2002-01-26  Jim Meyering  <meyering@lucent.com>
56152
56153         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
56154         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
56155
56156 2002-01-26  Jim Meyering  <meyering@lucent.com>
56157
56158         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
56159
56160 2002-01-22  Paul Eggert  <eggert@twinsun.com>
56161
56162         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
56163
56164 2002-01-22  Jim Meyering  <meyering@lucent.com>
56165
56166         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
56167         Otherwise, some versions of automake would omit the rule that makes
56168         Makefile from Makefile.in.
56169
56170 2002-01-21  Paul Eggert  <eggert@twinsun.com>
56171
56172         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
56173         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
56174         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
56175         (memcoll): Set errno to zero if there is no error.
56176
56177         * lib/quotearg.c (quotearg_buffer_restyled):
56178         Fix bug with quoting buffers containing NUL when backslashing escapes.
56179         This bug was exposed by the other changes in this patch.
56180         (quotearg_n_options): New arg ARGSIZE.
56181         All callers changed.
56182         (quoting_options_from_style): New function.
56183         (quotearg_n_style): Use it.
56184         (quotearg_n_style_mem): New function.
56185
56186         * lib/quotearg.h (quotearg_n_style_mem): New function.
56187
56188 2002-01-19  Jim Meyering  <meyering@lucent.com>
56189
56190         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
56191         Remove useless quotes: DF_PROG="df".
56192         * m4/strnlen.m4: New file.
56193
56194 2002-01-16  Paul Eggert  <eggert@twinsun.com>
56195
56196         * lib/backupfile.c (ISDIGIT): Comment fix.
56197         * lib/getdate.y (ISDIGIT): Likewise.
56198         * lib/posixtm.c (ISDIGIT, year): Likewise.
56199         * lib/strverscmp.c (ISDIGIT): Likewise.
56200         * lib/userspec.c (ISDIGIT): Likewise.
56201
56202 2002-01-16  Jim Meyering  <meyering@lucent.com>
56203
56204         * lib/getdate.y: Add three semicolons, each just before a closing
56205         brace. Bison (as of version 1.31) no longer papers over that mistake.
56206
56207 2002-01-05  Jim Meyering  <meyering@lucent.com>
56208
56209         * lib/version-etc.c (version_etc_copyright): Update copyright year.
56210
56211 2001-12-19  Paul Eggert  <eggert@twinsun.com>
56212
56213         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
56214         not silently exit merely because the output buffer happens to
56215         have nothing pending.
56216
56217 2001-12-18  Paul Eggert  <eggert@twinsun.com>
56218
56219         See the big note in ../ChangeLog.
56220         * lib/human.c (suffixes): Prefer K to k for 1024.
56221         (generate_suffix_backwards): New function.
56222         (human_readable_inexact): Use it.
56223         * lib/xstrtol.c (__xstrtol): If there is no number but there
56224         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
56225         Accept 'K' as well as 'k'.
56226
56227 2001-12-15  Jim Meyering  <meyering@lucent.com>
56228
56229         * lib/regex.h (__restrict_arr): Update from libc.
56230
56231         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
56232         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
56233         (STREQ): Define.
56234
56235 2001-12-14  Jim Meyering  <meyering@lucent.com>
56236
56237         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
56238         Suggestion from Bruno Haible.
56239
56240 2001-12-10  Jim Meyering  <meyering@lucent.com>
56241
56242         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
56243         xrealloc, Instead, include "xalloc.h".
56244         (initbuffer): Don't cast xmalloc return value to char*.
56245         (readline): Reword comment.
56246         Don't cast xrealloc return value to char*
56247         Return NULL, not 0.
56248
56249 2001-12-09  Jim Meyering  <meyering@lucent.com>
56250
56251         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
56252         about `signed and unsigned type in conditional expression'.
56253         * lib/posixtm.c (posix_time_parse): Likewise.
56254
56255         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
56256
56257         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
56258         to avoid a pedantic warning.
56259
56260         * lib/getstr.c: Don't include assert.h.
56261         (getstr): Remove warning-evoking assertions.
56262         Return -1 if offset parameter is out of bounds.
56263         Change the type of a local from int to size_t.
56264
56265         * lib/strftime.c (my_strftime_localtime_r): Include this function
56266         definition in the `#if ! HAVE_TM_GMTOFF' block.
56267
56268         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
56269         Include xalloc.h instead.
56270
56271 2001-12-02  Jim Meyering  <meyering@lucent.com>
56272
56273         * lib/tempname.c: Don't declare getenv, thus reverting the change of
56274         2001-11-18.  It's no longer necessary, now that stdlib.h is always
56275         included.
56276
56277         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
56278         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
56279
56280 2001-11-30  Akim Demaille  <akim@epita.fr>
56281
56282         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
56283         before being defined.
56284
56285 2001-11-27  Paul Eggert  <eggert@twinsun.com>
56286
56287         * lib/quotearg.h (quotearg_n, quotearg_n_style):
56288         First arg is int, not unsigned.
56289         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
56290         (SIZE_MAX, UINT_MAX): New macros.
56291         (quotearg_n_options): Abort if N is negative.
56292         Avoid overflow check on hosts where size_t is 64 bits and int
56293         is 32 bits, as overflow is impossible there.
56294         Fix off-by-one typo that caused unnecessary reallocation.
56295
56296 2001-11-27  Jim Meyering  <meyering@lucent.com>
56297
56298         * lib/tempname.c: Merge with version from libc.
56299         * lib/regex.c: Likewise.
56300
56301         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
56302         systems for which STDC_HEADERS is 0, it was not included, resulting in
56303         a warning about an integer-to-pointer conversion problem with getenv.
56304         Reported by Volker Borchert.
56305
56306 2001-11-26  Jim Meyering  <meyering@lucent.com>
56307
56308         * lib/gtod.h: Remove file.
56309         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
56310         * lib/gettimeofday.c: Don't include gtod.h.
56311         (GTOD_init): Remove function.
56312         (rpl_gettimeofday): Do its job here instead, rather than aborting.
56313         Suggestion from Volker Borchert.
56314
56315 2001-11-23  Jim Meyering  <meyering@lucent.com>
56316
56317         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
56318         it.
56319         * lib/hash.c (struct hash_table): Define it here instead.
56320
56321 2001-11-22  Jim Meyering  <meyering@lucent.com>
56322
56323         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
56324
56325 2001-11-20  Jim Meyering  <meyering@lucent.com>
56326
56327         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
56328         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
56329
56330 2001-11-19  Jim Meyering  <meyering@lucent.com>
56331
56332         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
56333         directory.  Use "conftestXXXXXX" as the template.
56334         Suggestion from Paul Eggert.
56335
56336         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
56337         immediately, so the test doesn't mistakenly hit the max-open-files
56338         limit.
56339
56340 2001-11-18  Paul Eggert  <eggert@twinsun.com>
56341
56342         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
56343         (TEMPORARIES): New macro.
56344         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
56345         removes an artificial limitation (e.g. HP-UX 10.20, where
56346         TMP_MAX is 17576).
56347
56348 2001-11-18  Jim Meyering  <meyering@lucent.com>
56349
56350         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
56351
56352 2001-11-18  Jim Meyering  <meyering@lucent.com>
56353
56354         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
56355         on SunOS 4.
56356
56357         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
56358         files will be created before anything else.
56359
56360 2001-11-17  Paul Eggert  <eggert@twinsun.com>
56361
56362         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
56363         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
56364
56365 2001-11-17  Jim Meyering  <meyering@lucent.com>
56366
56367         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
56368         Prompted by a report from Bob Proulx.
56369
56370         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
56371         Instead, require UTILS_FUNC_MKSTEMP.
56372
56373 2001-11-17  Jim Meyering  <meyering@lucent.com>
56374
56375         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
56376         Now, that's done as part of AC_FUNC_STRTOD.
56377
56378 2001-11-17  Jim Meyering  <meyering@lucent.com>
56379
56380         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
56381         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
56382         rather than group writable.  Patch by Juan F. Codagnone.
56383
56384         * lib/readtokens.c: Remove explicit declarations of xmalloc and
56385         xrealloc, Instead, include "xalloc.h".
56386
56387         * lib/mountlist.c: Include unlocked-io.h after all system headers.
56388         Remove explicit declarations of xmalloc, xrealloc,
56389         and xstrdup.  Instead, include "xalloc.h".
56390
56391         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
56392         unlocked-io.h.
56393         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
56394         Likewise.
56395         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
56396
56397         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
56398         Reported by Padraig Brady.
56399
56400         * lib/mkstemp.c: #undef mkstemp.
56401         Include config.h.
56402         (rpl_mkstemp): Rename from mkstemp.
56403         Protoize.
56404
56405 2001-11-16  Jim Meyering  <meyering@lucent.com>
56406
56407         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
56408         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
56409         determine the amount of total physical memory, use pstat_getstatic.
56410         HPUX-11 doesn't define _SC_PHYS_PAGES.
56411         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
56412         If sysconf couldn't be used to determine the amount of available
56413         physical memory, use both pstat_getstatic and pstat_getdynamic.
56414         Based on a patch from Bob Proulx.
56415
56416 2001-11-10  Jim Meyering  <meyering@lucent.com>
56417
56418         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
56419         (jm_PREREQ): Use it.
56420
56421 2001-11-09  Jim Meyering  <meyering@lucent.com>
56422
56423         * m4/jm-macros.m4: Require autoconf-2.52f.
56424         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
56425         Use these AC_-prefixed names, not the AM_-prefixed ones.
56426
56427         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
56428
56429 2001-11-05  Jim Meyering  <meyering@lucent.com>
56430
56431         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
56432
56433 2001-11-04  Jim Meyering  <meyering@lucent.com>
56434
56435         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
56436         $DEFS.
56437
56438 2001-11-03  Jim Meyering  <meyering@lucent.com>
56439
56440         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
56441         of AC_DEFUN.
56442
56443         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
56444         know the name of the variable in the macro definition.
56445
56446 2001-11-03  Jim Meyering  <meyering@lucent.com>
56447
56448         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
56449         in argmatch_to_argument call.
56450
56451         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
56452         argument.
56453
56454         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
56455         e.g., a fault due to an attempt to free a NULL pointer.
56456
56457 2001-11-01  Jim Meyering  <meyering@lucent.com>
56458
56459         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
56460         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
56461
56462 2001-11-01  Jim Meyering  <meyering@lucent.com>
56463
56464         * lib/dirfd.c, lib/dirfd.h: New files.
56465         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
56466
56467         * lib/hash.c (hash_print) [TESTING]: Clean up.
56468
56469 2001-10-22  Paul Eggert  <eggert@twinsun.com>
56470
56471         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
56472         to avoid a warning if -Wall.
56473
56474 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
56475
56476         * README: New file
56477         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
56478         (per RMS's instructions, this is now the canonical source)
56479         * lgpl/, gpl/: New directories.
56480
56481 2001-10-21  Paul Eggert  <eggert@twinsun.com>
56482
56483         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
56484
56485 2001-10-21  Jim Meyering  <meyering@lucent.com>
56486
56487         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
56488         this code would end up calling gettext even in packages built
56489         with --disable-nls.
56490         * lib/getopt.c (_): Likewise.
56491         * lib/regex.c (_): Likewise.
56492
56493 2001-10-20  Paul Eggert  <eggert@twinsun.com>
56494
56495         * m4/error.m4 (jm_PREREQ_ERROR):
56496         Do not invoke AC_CHECK_FUNCS with strerror_r, as
56497         AC_FUNC_STRERROR_R does that.
56498         Check for strerror declaration.
56499
56500         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
56501         are supposed to have them these days.
56502         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
56503         Merge changes from latest Autoconf CVS.
56504         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
56505         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
56506         POSIX decided to standardize on the int flavor of strerror_r.
56507
56508 2001-10-20  Paul Eggert  <eggert@twinsun.com>
56509
56510         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
56511         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
56512         Use strerror_r that is only a macro, even if it is not a function.
56513         (strerror): Check for HAVE_DECL_STRERROR before declaring.
56514         (private_strerror): Use prototypes, not old-style function definition.
56515         (print_errno_message): New function.
56516         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
56517         char*-flavored one.
56518         (error_tail, error, error_at_line): Use it.
56519
56520 2001-10-11  Jim Meyering  <meyering@lucent.com>
56521
56522         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
56523         and quote_n (1, ... to avoid clobbering a buffer.
56524
56525 2001-10-05  Jim Meyering  <meyering@lucent.com>
56526
56527         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
56528         hash-pjw.h.
56529         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
56530         * lib/hash-pjw.h: New file.
56531
56532 2001-09-30  Jim Meyering  <meyering@lucent.com>
56533
56534         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
56535         `struct fsstat' has the `f_fstypename' member.
56536         Use that to define FS_TYPE, which is now used to make
56537         the getfsstat link test tighter.
56538
56539 2001-09-30  Jim Meyering  <meyering@lucent.com>
56540
56541         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
56542         Include <sys/ucred.h>, for Apple Darwin.
56543         Include sys/mount.h and sys/fs_types.h only if available.
56544         (FS_TYPE): Define.
56545         (read_filesystem_list): Use FS_TYPE.
56546
56547 2001-09-29  Paul Eggert  <eggert@twinsun.com>
56548
56549         * lib/exclude.c (excluded_filename): 0 -> false, since it's
56550         a boolean context.
56551
56552 2001-09-29  Jim Meyering  <meyering@lucent.com>
56553
56554         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
56555         [one-argument getmntent function]): Include stdio.h before mntent.h.
56556         SunOS 4.1.x needs it for the declaration of `FILE'.
56557         Patch by Volker Borchert.
56558
56559         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
56560         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
56561         sys/fs_types.h, and make the link-test for getfsstat guard #include
56562         directives with appropriate #if HAVE_*_H tests so that we can
56563         detect getfsstat on Apple Darwin1.3.7 systems.
56564         Reported by Nelson Beebe.
56565         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
56566
56567 2001-09-28  Paul Eggert  <eggert@twinsun.com>
56568
56569         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
56570         #defines strtoimax.  Also treat the other strto* functions
56571         like strtoimax.
56572
56573         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
56574         Check for strtoul and strtoumax,
56575         as those declarations are made even in the signed case.
56576         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
56577         Likewise, for strtol and strtoimax.
56578
56579 2001-09-28  Paul Eggert  <eggert@twinsun.com>
56580
56581         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
56582         #defines strtoimax.  Also treat the other strto* functions
56583         like strtoimax.
56584
56585         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
56586         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
56587         (strtoimax, strtoumax): Do not declare if already defined as a macro.
56588
56589 2001-09-26  Jim Meyering  <meyering@lucent.com>
56590
56591         Most macros in unlocked-io.h had the wrong number of arguments.
56592         * lib/gen-uio: New script.
56593         (USE_UNLOCKED_IO): Define to 1 if not already defined.
56594         * lib/unlocked-io.hin: Remove file.
56595         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
56596         rather than trying to embed it here.
56597         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
56598         Reported by Padraig Brady.
56599
56600 2001-09-25  Volker Borchert  <bt@teknon.de>
56601
56602         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
56603         `result'.
56604
56605 2001-09-24  Jim Meyering  <meyering@lucent.com>
56606
56607         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
56608
56609 2001-09-23  Jim Meyering  <meyering@lucent.com>
56610
56611         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
56612         instead of the mere test for existence of mntent.h.  The latter
56613         would get a false-positive on AIX 3.4 systems.
56614         In the outer getmntent if-block, don't die if neither of the getmntent
56615         tests succeeds.  Instead, just fall through and continue with the
56616         remaining tests.
56617
56618 2001-09-23  Jim Meyering  <meyering@lucent.com>
56619
56620         * lib/mountlist.c: Remove useless parentheses in #if directives.
56621         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
56622         the deprecated MOUNTED symbol is no longer defined in mntent.h.
56623
56624 2001-09-22  Jim Meyering  <meyering@lucent.com>
56625
56626         * m4/gettext.m4: New file.  From gettext.
56627         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
56628         * m4/progtest.m4: Likewise
56629         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
56630         * m4/glibc21.m4: Likewise.
56631
56632         * m4/libintl.m4: Remove.  No longer used.
56633
56634 2001-09-22  Jim Meyering  <meyering@lucent.com>
56635
56636         * lib/localcharset.c: Update from latest gettext.
56637         * lib/config.charset: Likewise.
56638
56639 2001-09-20  Jim Meyering  <meyering@lucent.com>
56640
56641         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
56642         strtoimax.
56643         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
56644         strtoumax.
56645
56646 2001-09-20  Jim Meyering  <meyering@lucent.com>
56647
56648         * lib/xstrtol.c (strtoimax): Guard declaration with
56649         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
56650         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
56651         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
56652         (strtoumax): Likewise, for completeness (it wasn't necessary).
56653
56654 2001-09-17  Paul Eggert  <eggert@twinsun.com>
56655
56656         * lib/strtoimax.c (HAVE_LONG_LONG):
56657         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
56658         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
56659         to work around bug in IBM C compiler.
56660
56661 2001-09-17  Jim Meyering  <meyering@lucent.com>
56662
56663         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
56664         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
56665         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
56666         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
56667         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
56668         whenever the right hand side need not be expanded by the shell.
56669
56670 2001-09-16  Paul Eggert  <eggert@twinsun.com>
56671
56672         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
56673         library.  It's not correct, as some older glibcs are buggy.
56674         fnmatch wasn't fixed until glibc 2.2.
56675
56676         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
56677         special shell magic here.
56678
56679 2001-09-16  Jim Meyering  <meyering@lucent.com>
56680
56681         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
56682         * m4/jm-macros.m4: Require it.
56683
56684 2001-09-16  Jim Meyering  <meyering@lucent.com>
56685
56686         * lib/mkdir.c: New file.
56687
56688 2001-09-15  Jim Meyering  <meyering@lucent.com>
56689
56690         * m4/jm-macros.m4: Check for help2man.
56691
56692 2001-09-11  Jim Meyering  <meyering@lucent.com>
56693
56694         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
56695         The body, by Paul Eggert, was moved here from configure.in.
56696         * m4/jm-macros.m4: Require UTILS_HOST_OS.
56697
56698 2001-09-04  Paul Eggert  <eggert@twinsun.com>
56699
56700         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
56701         (jm_PREREQ): Use it.
56702
56703 2001-09-04  Paul Eggert  <eggert@twinsun.com>
56704
56705         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
56706         Use ssize_t, not int, to store result of readlink.
56707         Check for ssize_t overflow as well as size_t overflow,
56708         as POSIX says the result of readlink is implementation-defined
56709         when ssize_t overflows.
56710         Remove unnecessary cast to char*.
56711         Use free+malloc instead of realloc, as the storage doesn't need
56712         to be preserved and it's clearer and can be more efficient that way.
56713         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
56714         * lib/xreadlink.h (xreadlink): Update prototype.
56715
56716 2001-09-04  Paul Eggert  <eggert@twinsun.com>
56717
56718         * lib/xgetcwd.c: Revert some of the previous change; intead,
56719         fix the HAVE_GETCWD_NULL code to behave more like the
56720         !HAVE_GETCWD_NULL code used to.
56721
56722         Include "xalloc.h".
56723         (xgetcwd): Do not return NULL when memory is exhausted; instead,
56724         invoke xalloc_die.
56725
56726 2001-09-03  Paul Eggert  <eggert@twinsun.com>
56727
56728         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
56729         sys/param.h, as pathmax.h includes them.
56730
56731 2001-09-03  Paul Eggert  <eggert@twinsun.com>
56732
56733         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
56734         (jm_PREREQ_XGETCWD): New macro.
56735
56736         * m4/getcwd.m4: New file.
56737
56738 2001-09-03  Paul Eggert  <eggert@twinsun.com>
56739
56740         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
56741         like the HAVE_GETCWD_NULL code.
56742         Include pathmax.h if not HAVE_GETCWD.
56743         Do not include xalloc.h.
56744         (INITIAL_BUFFER_SIZE): New symbol.
56745         Do not use xmalloc / xrealloc, since the caller is responsible for
56746         handling errors.  Preserve errno around `free' during failure.
56747         Do not overrun buffer when using getwd.
56748
56749 2001-09-03  Paul Eggert  <eggert@twinsun.com>
56750
56751         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
56752         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
56753         getcwd (NULL, 0).
56754
56755 2001-09-03  Paul Eggert  <eggert@twinsun.com>
56756
56757         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
56758         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
56759         spotted by Jim Meyering.
56760
56761 2001-09-03  Jim Meyering  <meyering@lucent.com>
56762
56763         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
56764         failure.
56765
56766 2001-09-02  Jim Meyering  <meyering@lucent.com>
56767
56768         * lib/error.c: Update from GNU libc.
56769
56770 2001-09-01  Jim Meyering  <meyering@lucent.com>
56771
56772         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
56773         Used by df.
56774
56775 2001-09-01  Jim Meyering  <meyering@lucent.com>
56776
56777         * lib/xreadlink.c: New file.
56778         * lib/xreadlink.h: New file.
56779         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
56780         xreadlink.h.
56781
56782         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
56783         doesn't conflict with sparc Solaris 7's definition in
56784         /usr/include/sys/int_types.h.
56785
56786         * lib/exclude.c: Use `""', not `<>' to #include non-system header
56787         files.
56788         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
56789         and strncasecmp as r-values.  Unixware didn't have declarations.
56790
56791 2001-08-31  Paul Eggert  <eggert@twinsun.com>
56792
56793         * lib/xstrtol.h: Add copyright notice.
56794         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
56795         LONGINT_INVALID_SUFFIX_CHAR.
56796
56797 2001-08-31  Paul Eggert  <eggert@twinsun.com>
56798
56799         * lib/xstrtol.c (strtoimax): New decl.
56800
56801 2001-08-31  Paul Eggert  <eggert@twinsun.com>
56802
56803         * lib/xgetcwd.c: Don't include pathmax.h.
56804         Include stdlib.h and unistd.h if available.
56805         Include xalloc.h.
56806         (xmalloc, xstrdup, free): Remove decls.
56807         (xgetcwd): Don't assume sizes fit in unsigned.
56808         Check for overflow when computing sizes.
56809         Simplify reallocation code.
56810
56811 2001-08-31  Paul Eggert  <eggert@twinsun.com>
56812
56813         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
56814         a directory's st_size can have an arbitrary value, so the old
56815         usage could waste an arbitrary amount of memory.  All uses
56816         changed.
56817         * lib/savedir.h: Update prototype.
56818
56819 2001-08-31  Paul Eggert  <eggert@twinsun.com>
56820
56821         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
56822
56823         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
56824         old strtoimax.c.
56825
56826         Also, make the following further changes to make this file's
56827         configuration more similar to that of strtol.c:
56828         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
56829         (strtoumax, uintmax_t, strtoull, strtol): Remove.
56830         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
56831         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
56832         changed to signed values.
56833
56834         And make the following changes as well:
56835         Fix copyright notice, as 1999 was missing.
56836         (verify): New macro.
56837         (strtoimax): Check sizes at compile-time, not run-time.
56838         Prefer strtol to strtoll if both work.
56839         (main): Remove; it was not that useful and was a pain to maintain.
56840
56841         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
56842
56843 2001-08-31  Jim Meyering  <meyering@lucent.com>
56844
56845         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
56846         Use an initial, malloc'd, buffer of length 128 rather than
56847         a statically allocated one of length 1024.
56848
56849 2001-08-30  Paul Eggert  <eggert@twinsun.com>
56850
56851         Simplify code, partly by assuming autoconf 2.52 semantics.
56852
56853         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
56854
56855         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
56856         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
56857         All uses removed.
56858         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
56859         Move AC_REQUIRE to next-to-top level, to avoid confusion.
56860         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
56861         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
56862         jm_AC_HEADER_INTTYPES_H.
56863         * m4/jm-macros.m4 (jm_MACROS): Likewise.
56864
56865         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
56866
56867         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
56868         Quote first arg of AC_DEFUN.
56869         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
56870         since they are needed to parse the include file even if we need
56871         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
56872         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
56873         but with opposite signedness.
56874
56875 2001-08-30  Paul Eggert  <eggert@twinsun.com>
56876
56877         Merge 'exclude' changes from tar 1.13.22.
56878         This fixes one or two unlikely storage allocation overflow bugs,
56879         but doesn't change user-visible behavior otherwise.
56880
56881 2001-08-30  Paul Eggert  <eggert@twinsun.com>
56882
56883         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
56884         (jm_PREREQ_EXCLUDE): New macro.
56885
56886 2001-08-30  Paul Eggert  <eggert@twinsun.com>
56887
56888         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
56889         tm to be declared.
56890
56891 2001-08-30  Paul Eggert  <eggert@twinsun.com>
56892
56893         * lib/hash.c: Remove '2001' from copyright notice.
56894
56895 2001-08-30  Paul Eggert  <eggert@twinsun.com>
56896
56897         * lib/full-write.h: New file.
56898         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
56899         * lib/full-write.c: Correct credits, as cccp.c no longer
56900         exists and anyway it was so heavily changed from the old cccp
56901         code as to be unrecognizable.  Include full-write.h.
56902         (full_write) Return size_t, with short writes meaning failure.
56903         All callers changed.  This fixes a bug with large buffers
56904         on 64-bit hosts.
56905         * lib/utime.c: Include full-write.h.
56906
56907 2001-08-30  Paul Eggert  <eggert@twinsun.com>
56908
56909         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
56910         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
56911         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
56912         Include if available.
56913         (<xalloc.h>): Include
56914         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
56915         (verify): New macro.  Use it to verify that EXCLUDE macros do not
56916         collide with FNM macros.
56917         (struct patopts): New struct.
56918         (struct exclude): Use it, as exclude patterns now come with options.
56919         (new_exclude): Support above changes.
56920         (new_exclude, add_exclude_file):
56921         Initial size must now be a power of two to simplify overflow checking.
56922         (free_exclude, fnmatch_no_wildcards): New function.
56923         (excluded_filename): No longer requires options arg, as the options
56924         are determined by add_exclude.  Now returns bool, not int.
56925         (excluded_filename, add_exclude):
56926         Add support for the fancy new exclusion options.
56927         (add_exclude, add_exclude_file): Now takes int options arg.
56928         Check for arithmetic overflow when computing sizes.
56929         (add_exclude_file): xrealloc might modify errno, so don't
56930         realloc until after errno might be used.
56931
56932         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
56933         New macros.
56934         (free_exclude): New decl.
56935         (add_exclude, add_exclude_file): Now takes int options arg.
56936         (excluded_filename): No longer requires options arg, as the options
56937         are determined by add_exclude.  Now returns bool, not int.
56938
56939 2001-08-30  Paul Eggert  <eggert@twinsun.com>
56940
56941         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
56942
56943 2001-08-27  Jim Meyering  <meyering@lucent.com>
56944
56945         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
56946
56947         * lib/version-etc.c (N_): Remove definition.
56948         Revert most of last change.
56949         Instead, simply don't mark the `Copyright...' string for translation.
56950         Based on advice from Paul Eggert.
56951
56952         * lib/strtoxmax.c: Tweak comment.
56953
56954 2001-08-26  Jim Meyering  <meyering@lucent.com>
56955
56956         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
56957
56958         * m4/xstrtoimax.m4: New file.
56959         * m4/xstrtoumax.m4: Add comments explaining why we
56960         AC_REPLACE_FUNCS(strtol).
56961
56962 2001-08-26  Jim Meyering  <meyering@lucent.com>
56963
56964         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
56965         of copyright with `%s' so translators don't get an untranslated
56966         message in 2002.
56967         (COPYRIGHT_YEAR): Define.
56968         (version_etc): Use fprintf rather than fputs.
56969         Suggestion from Ulrich Drepper.
56970
56971         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
56972
56973         * lib/strtoll.c: New file, from GNU libc.
56974         * lib/xstrtoimax.c: New file.
56975
56976         * lib/xstrtol.h: Add xstrtoimax.
56977         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
56978         * lib/strtoimax.c: New file.  Likewise, but first define
56979         STRTOUXMAX_SIGNED.
56980
56981         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
56982         ...
56983         * lib/strtoxmax.c: ... then renamed to this.
56984
56985 2001-08-18  Paul Eggert  <eggert@twinsun.com>
56986
56987         * m4/inttypes.m4: Add AC_PREREQ(2.13).
56988         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
56989         (jm_AC_TYPE_INTMAX_T): New macro.
56990         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
56991
56992         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
56993
56994         * m4/longlong.m4: Renamed from ulonglong.m4.
56995         * m4/inttypes.m4: Renamed from inttypes_h.m4.
56996         * m4/uintmax_t.m4: Removed.
56997
56998 2001-08-13  Paul Eggert  <eggert@twinsun.com>
56999
57000         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
57001         Port to Solaris 8, where 'sed' requires a space after the 'r'
57002         command, and where sh dislikes "$/".  Clean up the spacing a bit.
57003         Redirect output to $tmp just once.
57004
57005 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
57006
57007         * lib/addext.c (<errno.h>): Include.
57008         (errno): Declare if not defined.
57009         (addext): Work correctly when pathconf returns -1 and leaves
57010         errno alone because there is no limit.  Also, work even if
57011         pathconf returns a value greater than SIZE_MAX.
57012
57013 2001-08-12  Jim Meyering  <meyering@lucent.com>
57014
57015         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
57016         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
57017         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
57018         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
57019         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
57020         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
57021         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
57022         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
57023         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
57024         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
57025         utime.m4, utimes.m4, xstrtoumax.m4:
57026         Quote the first argument in each use of AC_DEFUN.
57027
57028 2001-08-12  Jim Meyering  <meyering@lucent.com>
57029
57030         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
57031         Simply `return getcwd (NULL, 0);'.
57032         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
57033         Use 1300 as initial value for length, not PATH_MAX.
57034
57035         * lib/pathmax.h: Clean up cpp syntax.
57036
57037 2001-08-12  Jim Meyering  <meyering@lucent.com>
57038
57039         * lib/gettimeofday.c: New file.
57040         * lib/gtod.h: New file.
57041         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
57042
57043 2001-08-05  Jim Meyering  <meyering@lucent.com>
57044
57045         * m4/jm-macros.m4: Require autoconf-2.52.
57046
57047 2001-08-04  Jim Meyering  <meyering@lucent.com>
57048
57049         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
57050         stmt, to get in sync with glibc.
57051
57052 2001-08-03  Paul Eggert  <eggert@twinsun.com>
57053
57054         The following changes are from gettext 0.10.39 as maintained by
57055         Bruno Haible.
57056
57057         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
57058         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
57059         with inverted sense.  All uses changed.
57060
57061         * lib/mbswidth.c: Don't include <limits.h>.
57062         Include <stdlib.h> and <string.h> unconditionally.
57063         (iswcntrl, mbsinit, ISCNTRL): New macros.
57064         (mbsnwidth): Use K&R style function declarations.
57065         Don't bother checking for MB_LEN_MAX == 1, since the compiler
57066         can optimize it when MB_CUR_MAX == 1.
57067         The width of control characters is zero, not 1.
57068
57069 2001-08-03  Paul Eggert  <eggert@twinsun.com>
57070
57071         The following changes are from gettext 0.10.39 as maintained by
57072         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
57073
57074         * m4/codeset.m4: Upgrade to serial AM1.
57075         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
57076         all uses changed.  Quote first arg of AC_DEFUN.
57077         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
57078
57079         * m4/iconv.m4: Upgrade to serial AM2.
57080         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
57081         Add --with-libconv-prefix.
57082         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
57083         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
57084         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
57085         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
57086         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
57087
57088         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
57089         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
57090         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
57091         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
57092         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
57093         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
57094         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
57095         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
57096         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
57097
57098         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
57099         string.h any more.
57100
57101         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
57102         not the default value.
57103
57104         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
57105         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
57106         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
57107         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
57108         Also check for iswcntrl, used for wcwidth fallback.
57109         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
57110         to Autoconf 2.13.
57111
57112 2001-08-03  Jim Meyering  <meyering@lucent.com>
57113
57114         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
57115         as it was in the original.  Reported by Paul Eggert.
57116
57117 2001-07-16  Jim Meyering  <meyering@lucent.com>
57118
57119         * m4/gettimeofday.m4: New file.
57120         Prompted by a report from Bernhard Baehr.
57121
57122 2001-07-15  Jim Meyering  <meyering@lucent.com>
57123
57124         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
57125         stuff. Now it's in ../Makefile.cfg.
57126
57127 2001-07-15  Jim Meyering  <meyering@lucent.com>
57128
57129         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
57130         (BUILT_SOURCES): Add unlocked-io.h.
57131         (io_functions): Define.
57132         (unlocked-io.h): New rule.
57133         (DISTCLEANFILES): Add unlocked-io.h.
57134         (all-local): Depend on unlocked-io.h, to ensure it is created.
57135
57136         * lib/unlocked-io.hin: New file
57137
57138         * lib/regex.c: Update from glibc.
57139
57140 2001-07-05  Jim Meyering  <meyering@lucent.com>
57141
57142         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
57143         recommendation.
57144         (libfetish_a_SOURCES): Put all .h files here instead.
57145         Remove a thus-exposed (better checks in automake) duplicate and
57146         two unnecessary .h files.
57147
57148 2001-07-04  Jim Meyering  <meyering@lucent.com>
57149
57150         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
57151         that generates jm-glibc-io.m4 so that it doesn't trigger any make
57152         distcheck failure.
57153
57154 2001-07-02  Jim Meyering  <meyering@lucent.com>
57155
57156         The following changes were prompted by suggestions from Bruno Haible.
57157
57158         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
57159         is now generated.
57160         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
57161         definition of EXTRA_DIST.
57162         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
57163         ensure that the generated file is created/updated whenever the list
57164         of $(unlocked_functions) is changed.
57165         (jm-glibc-io.m4): New rule.
57166         (unlocked-io.h): New rule -- currently unused.
57167
57168 2001-06-24  Jim Meyering  <meyering@lucent.com>
57169
57170         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
57171         unmatched right bracket, rather than kludging it with an extra,
57172         falsely-matching quote in a comment.  Patch by Akim Demaille.
57173
57174 2001-06-11  Jim Meyering  <meyering@lucent.com>
57175
57176         * lib/regex.c: Update from GNU libc.
57177
57178 2001-05-27  Jim Meyering  <meyering@lucent.com>
57179
57180         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
57181         Check for ut_type in struct utmp.
57182
57183 2001-05-27  Jim Meyering  <meyering@lucent.com>
57184
57185         * lib/readutmp.h (UT_TYPE): Define.
57186
57187 2001-05-24  Jim Meyering  <meyering@lucent.com>
57188
57189         * lib/argmatch.c: Include "quote.h".
57190         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
57191         quote function.  Reported by Göran Uddeborg.
57192
57193 2001-05-22  Jim Meyering  <meyering@lucent.com>
57194
57195         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
57196         now that we use the package-supplied version unconditionally.
57197         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
57198
57199 2001-05-21  Jim Meyering  <meyering@lucent.com>
57200
57201         * m4/regex.m4: Change a couple backticks to single quotes to avoid
57202         shell syntax errors.
57203
57204 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
57205
57206         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
57207
57208 2001-05-20  Paul Eggert  <eggert@twinsun.com>
57209
57210         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
57211         Don't bother to check library strftime, since
57212         we'll be using our own my_strftime function anyway.
57213         Define my_strftime instead of strftime.
57214
57215 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
57216
57217         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
57218         which is not yet declared.
57219
57220 2001-05-15  Jim Meyering  <meyering@lucent.com>
57221
57222         * m4/regex.m4: Use proper quoting so brackets appear in the test
57223         program.
57224         Reported by, and with help from, Bruno Haible.
57225
57226 2001-05-13  Jim Meyering  <meyering@lucent.com>
57227
57228         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
57229         undefined.
57230
57231 2001-05-11  Paul Eggert  <eggert@twinsun.com>
57232
57233         dirname code cleanup.  base_name now behaves more compatibly
57234         with POSIX basename when given file names that have trailing
57235         slashes, and similarly for dir_name.  Add new primitives
57236         base_len and dir_len.  Put the directory-name-related decls
57237         into dirname.h.
57238
57239         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
57240         * lib/backupfile.c (base_name): Likewise.
57241         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
57242         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
57243         * lib/makepath.c (strip_trailing_slashes): Likewise.
57244         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
57245         ISSLASH): Likewise.
57246         * lib/rename.c (strip_trailing_slashes): Likewise.
57247         * lib/same.c (base_name): Likewise.
57248         * lib/stripslash.c (ISSLASH): Likewise.
57249
57250         * lib/addext.c: Include <dirname.h> after size_t is defined.
57251         * lib/backupfile.c: Likewise.
57252
57253         * lib/addext.c (addext): Use base_len to trim redundant
57254         trailing slashes instead of doing it ourselves.
57255         But do not trim the last slash if it is not redundant.
57256
57257         * lib/backupfile.c (find_backup_file_name,
57258         max_backup_version): Use base_len instead of rolling it ourselves.
57259         Handle the case of "" and (on DOS) "C:" correctly.
57260
57261         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
57262         needed. Include <string.h>, <dirname.h>.
57263         (base_name): Allow file names ending in slashes, other than names
57264         that are all slashes.  In this case, return the basename followed
57265         by the slashes.  This is more general, and can be used in places
57266         where the original base_name purposely had an assertion failure.
57267         (base_len): New function.
57268
57269         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
57270         Do not include <assert.h>; no longer needed.
57271         Include xalloc.h.
57272         (memrchr): Remove decl.
57273         (dir_name_r): Remove.
57274         (dir_len): Renamed from dirlen.  All callers changed.
57275         Rewrite in terms of base_name, for simplicity and consistency.
57276         (dir_name): Never return NULL.  All callers changed.
57277         Do not include <stdlib.h> in test program; no longer needed.
57278         return 0; is fine for test program.
57279
57280         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
57281         New macros.
57282         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
57283
57284         * lib/path-concat.c (path_concat): Use base_len to compute
57285         base length, not strlen; this means we cannot rely on memcpy
57286         to null-terminate.
57287
57288         * lib/same.c (STREQ): Remove.
57289         (same_name): Handle the case where the basename ends in trailing '/'.
57290
57291         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
57292         a slash was stripped.  Do not strip the last slash after a
57293         file system prefix.
57294
57295 2001-05-11  Paul Eggert  <eggert@twinsun.com>
57296
57297         * lib/Makefile.am (libfetish_a_SOURCES):
57298         Add strftime.c, since we now compile it on all hosts.
57299
57300         * lib/strftime.c (my_strftime):
57301         Define to nstrftime if emacs, but only if my_strftime is not defined.
57302         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
57303         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
57304         Add one more extra argument: a nanoseconds value.
57305         All uses changed.
57306         (ns): New macro.
57307         (my_strftime function): Add %N format.
57308         (emacs_strftimeu): Renamed from emacs_strftime,
57309         with extra ut argument.
57310
57311 2001-05-09  Paul Eggert  <eggert@twinsun.com>
57312
57313         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
57314
57315 2001-04-21  Jim Meyering  <meyering@lucent.com>
57316
57317         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
57318         doesn't interfere.
57319
57320 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
57321
57322         * m4/ftruncate.m4: Check for chsize.
57323         Link with ftruncate.o unconditionally if ftruncate is missing.
57324         This was required when cross-compiling to i586-mingw32msvc.
57325
57326 2001-04-08  Jim Meyering  <meyering@lucent.com>
57327
57328         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
57329         recomputed; that's necessary when the offset spans a DST transition.
57330         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
57331
57332 2001-04-02  Jim Meyering  <meyering@lucent.com>
57333
57334         * lib/regex.h, regex.c: Update from GNU libc.
57335
57336 2001-03-24  Jim Meyering  <meyering@lucent.com>
57337
57338         * m4/jm-macros.m4: Require autoconf-2.49d.
57339
57340 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
57341
57342         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
57343
57344 2001-03-19  Paul Eggert  <eggert@twinsun.com>
57345
57346         * lib/version-etc.c (version_etc_copyright): Update to 2001.
57347
57348 2001-03-17  Jim Meyering  <meyering@lucent.com>
57349
57350         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
57351         now that the version in autoconf is equivalent.
57352         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
57353
57354         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
57355         Suggestion from Akim Demaille.
57356
57357         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
57358         (jm_PREREQ_TEMPNAME): New function.
57359
57360 2001-03-16  Paul Eggert  <eggert@twinsun.com>
57361
57362         * lib/tempname.c (uint64_t): Define to uintmax_t if
57363         not defined, and if UINT64_MAX is not defined.
57364         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
57365         Reported by John David Anglin.
57366
57367 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
57368
57369         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
57370         resolve alias if codeset is empty.
57371         * lib/config.charset (BeOS): Use wildcard syntax.
57372
57373 2001-03-13  Jim Meyering  <meyering@lucent.com>
57374
57375         * lib/path-concat.c (path_concat)
57376         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
57377         concatenating e.g., `C:' and `foo'.
57378         From Bruno Haible.
57379
57380 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
57381
57382         * lib/localcharset.c (locale_charset): Don't use
57383         setlocale(LC_CTYPE,NULL). Don't return NULL.
57384         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
57385
57386 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
57387
57388         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
57389         support for DOS/DJGPP.
57390
57391 2001-03-01  Paul Eggert  <eggert@twinsun.com>
57392
57393         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
57394         lacks mkstemp.  Compile our own tempname.c if we compile our own
57395         mkstemp.c, as mkstemp relies on tempname.
57396
57397 2001-03-01  Jim Meyering  <meyering@lucent.com>
57398
57399         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
57400         AH_VERBATIM really does output its argument verbatim.
57401
57402 2001-02-28  Paul Eggert  <eggert@twinsun.com>
57403
57404         * lib/Makefile.am (libfetish_a_SOURCES):
57405         Add dup-safer.c, fopen-safer.c.
57406         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
57407
57408         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
57409         * lib/unistd-safer.h: New files.
57410
57411 2001-02-25  Paul Eggert  <eggert@twinsun.com>
57412
57413         The mkstemp replacement is taken from glibc 2.2.2, with some
57414         portability fixes for use outside glibc, as follows:
57415
57416         * lib/tempname.c (struct_stat64): New macro.
57417         (direxists, __gen_tempname): Use it.
57418         This avoids a portability problem with Solaris 8.
57419
57420         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
57421         (<stddef.h>, <stdint.h>, <string.h>):
57422         Include only if STDC_HEADERS || _LIBC.
57423         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
57424         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
57425         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
57426         (__set_errno): Define this macro if <errno.h> doesn't.
57427         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
57428         Define these macros if <stdio.h> doesn't.
57429         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
57430         Define these macros if <sys/stat.h>
57431         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
57432         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
57433         __xstat64): Define if not _LIBC.
57434         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
57435         (__gen_tempname): Invoke gettimeofday only if
57436         HAVE_GETTIMEOFDAY || _LIBC;
57437         otherwise, fall back on plain "time".
57438         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
57439
57440         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
57441
57442         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
57443
57444 2001-02-18  Paul Eggert  <eggert@twinsun.com>
57445
57446         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
57447
57448 2001-02-17  Paul Eggert  <eggert@twinsun.com>
57449
57450         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
57451         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
57452         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
57453         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
57454
57455 2001-02-17  Paul Eggert  <eggert@twinsun.com>
57456
57457         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
57458         Remove workaround macros for hosts that have mbrtowc but not
57459         mbstate_t, as we now insist on proper declarations for both
57460         before using mbrtowc.
57461
57462 2001-02-17  Jim Meyering  <meyering@lucent.com>
57463
57464         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
57465         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
57466         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
57467         UnixWare 7.1.1.
57468
57469         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
57470         rather than AC_CACHE_VAL.
57471
57472 2001-02-17  Jim Meyering  <meyering@lucent.com>
57473
57474         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
57475         around included file name.
57476
57477         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
57478
57479         * lib/strftime.c: Update from GNU libc (the only changes were to
57480         comments).
57481
57482 2001-02-17  Jim Meyering  <meyering@lucent.com>
57483
57484         * lib/regex.c: Update from libc.
57485
57486 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
57487
57488         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
57489         clash.
57490
57491 2001-02-16  Paul Eggert  <eggert@twinsun.com>
57492
57493         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
57494         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
57495         Reported by Mark Hounschell via Paul Eggert.
57496
57497 2001-02-07  Jim Meyering  <meyering@lucent.com>
57498
57499         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
57500
57501 2001-02-05  Jim Meyering  <meyering@lucent.com>
57502
57503         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
57504         it includes the patch required for `large file' support with at least
57505         HP-UX's 10.20 /bin/cc.
57506
57507 2001-02-03  Jim Meyering  <meyering@lucent.com>
57508
57509         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
57510         AS_IF, now that it works once again (mysteriously).
57511         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
57512
57513 2001-01-30  Jim Meyering  <meyering@lucent.com>
57514
57515         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
57516         * m4/chown.m4: Rename conftestchown to conftest.chown.
57517         * m4/rename.m4: s/conftestdir/conftest.d1/ and
57518         s/conftestdir2/conftest.d2/.
57519         * m4/utimes.m4: s/conftestdata/conftest.data/
57520         Inspired by Pavel Roskin's change in autoconf.
57521
57522 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
57523
57524         * lib/config.charset: Update for FreeBSD 4.2.
57525
57526 2001-01-27  Jim Meyering  <meyering@lucent.com>
57527
57528         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
57529         a use of AS_IF.
57530         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
57531
57532 2001-01-26  Jim Meyering  <meyering@lucent.com>
57533
57534         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
57535         quotearg.c includes it.
57536
57537 2001-01-26  Jim Meyering  <meyering@lucent.com>
57538
57539         * lib/quotearg.c: Include stddef.h.
57540         * lib/quote.c: Include stddef.h.
57541         Reported by Axel Kittenberger.
57542
57543         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
57544         line in double quotes so that it evokes a better diagnostic.
57545         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
57546         Reported by Axel Kittenberger.
57547
57548 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
57549
57550         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
57551         as if it was a `charset'.
57552
57553 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
57554
57555         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
57556         has const.
57557
57558 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
57559
57560         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
57561         to avoid a warning.  Add back 'const' to inptr.
57562
57563 2001-01-20  Jim Meyering  <meyering@lucent.com>
57564
57565         Be sure that headers are checked before used in code compiled
57566         for the type checks.
57567         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
57568         In place of that, invoke jm_CHECK_ALL_TYPES.
57569         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
57570         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
57571         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
57572         The check for ssize_t was mistakenly run before the test for unistd.h.
57573
57574         The configure-time check for stdbool.h was missing.
57575         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
57576         (jm_PREREQ_HASH): New function.
57577
57578 2001-01-17  Jim Meyering  <meyering@lucent.com>
57579
57580         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
57581         for autoconf-2.49c.
57582         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
57583
57584 2001-01-16  Jim Meyering  <meyering@lucent.com>
57585
57586         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
57587         From Bruno Haible.
57588
57589 2001-01-14  Jim Meyering  <meyering@lucent.com>
57590
57591         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
57592         foo and bar.  Create conftestdir/ in the script, not in the C code.
57593         Remove directories in the script, not in the C code.
57594         Remove conftestdir{,2} before trying to create the directory.
57595         Make the entire configure script fail if the mkdir fails.
57596
57597 2001-01-14  Jim Meyering  <meyering@lucent.com>
57598
57599         * lib/rename.c: New file.  From Volker Borchert.
57600         Include stdlib.h, string.h or strings.h, and xalloc.h.
57601         Use strip_trailing_slashes rather than open-coding it.
57602
57603 2001-01-03  Paul Eggert  <eggert@twinsun.com>
57604
57605         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
57606
57607 2001-01-03  Jim Meyering  <meyering@lucent.com>
57608
57609         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
57610         of local `inptr' to avoid warning with some system declarations of
57611         iconv.
57612
57613 2001-01-02  Volker Borchert  <bt@teknon.de>
57614
57615         * m4/rename.m4: New file.
57616         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
57617
57618 2001-01-01  Jim Meyering  <meyering@lucent.com>
57619
57620         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
57621         even on systems with utmpx.h.  It's necessary for the declaration of
57622         utmp's ut_user member.  Reported by Andreas Jaeger.
57623
57624         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
57625         available. They are required for the declarations of getgrgid and
57626         getpwuid resp.
57627         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
57628         Reported by Andreas Jaeger.
57629
57630 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
57631
57632         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
57633         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
57634         so `make install' also works in VPATH builds.
57635
57636 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
57637
57638         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
57639         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
57640         can be used in subdirectories.
57641
57642 2000-12-29  Paul Eggert  <eggert@twinsun.com>
57643
57644         * lib/modechange.c: Do not assume that mode_t uses the
57645         traditional octal encoding.  E.g. "chmod 1 FOO" should set
57646         the other-execute bit of FOO even if S_IXOTH != 1.
57647
57648         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
57649         WOTH, XOTH, ALLM): New macros.
57650         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
57651          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
57652         Use them.
57653         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
57654         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
57655         (mode_compile):
57656         No need to use uintmax_t; unsigned long is long enough.
57657         Don't bother to get suffix since we don't use it.
57658
57659 2000-12-26  Jim Meyering  <meyering@lucent.com>
57660
57661         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
57662         better with autoheader.
57663
57664 2000-12-24  Jim Meyering  <meyering@lucent.com>
57665
57666         * lib/hash.c (is_prime): Return explicit boolean values.
57667         (hash_get_first): Return NULL to appease Irix5.6's 89.
57668         Reported by Nelson Beebe.
57669
57670 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
57671
57672         * lib/localcharset.c (locale_charset): Add support for Win32.
57673
57674 2000-12-18  Paul Eggert  <eggert@twinsun.com>
57675
57676         * lib/physmem.h, lib/physmem.c: New files.
57677
57678         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
57679         (noinst_HEADERS): Add physmem.h.
57680
57681         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
57682         't' for compatibility with Solaris 8 sort.
57683
57684 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
57685
57686         * lib/config.charset: Add support for BeOS.
57687
57688 2000-12-17  Jim Meyering  <meyering@lucent.com>
57689
57690         * m4/dos.m4 (jm_AC_DOS): New file and macro.
57691         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
57692
57693 2000-12-16  Jim Meyering  <meyering@lucent.com>
57694
57695         This bug had a serious impact on chown: `chown N:M FILE' (for integer
57696         N and M) would have treated it like `chown N:N FILE'.
57697
57698         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
57699
57700 2000-12-16  Jim Meyering  <meyering@lucent.com>
57701
57702         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
57703         SHELLS_FILE to a file name that's useful on djgpp systems.
57704         Include stdlib.h.
57705         (ADDITIONAL_DEFAULT_SHELLS): Define.
57706         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
57707         Based mostly on a patch from Prashant TR.
57708
57709 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
57710
57711         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
57712         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
57713         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
57714
57715 2000-12-08  Andreas Schwab  <schwab@suse.de>
57716
57717         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
57718         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
57719
57720 2000-12-07  Jim Meyering  <meyering@lucent.com>
57721
57722         * lib/stripslash.c (ISSLASH): Define.
57723         (strip_trailing_slashes): Use ISSLASH rather than comparing against
57724         `/'.
57725         From Prashant TR.
57726
57727         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
57728         (dir_name_r): Declare this function as static.
57729         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
57730         manifest itself on a name containing a mix of slashes and
57731         backslashes.
57732         Make this function work with names starting with a DOS-style
57733         drive letter and colon prefix.
57734         (dir_name): Append `.' if necessary.
57735         Based mostly on patches from Prashant TR and Eli Zaretskii.
57736
57737         * lib/dirname.h (dir_name_r): Remove prototype.
57738
57739 2000-12-06  Paul Eggert  <eggert@twinsun.com>
57740
57741         * m4/off_t-format.m4: Remove this file.
57742         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
57743
57744 2000-12-06  Jim Meyering  <meyering@lucent.com>
57745
57746         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
57747         replacement strtoull, we may well need the replacement strtoul, too.
57748         Check for declarations of strtoul and strtoull.
57749         Check for strtol.  Mainly as a cue to cause automake to include
57750         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
57751         Check for limits.h -- strtol.c needs it.
57752
57753 2000-12-05  Jim Meyering  <meyering@lucent.com>
57754
57755         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
57756
57757 2000-12-04  Jim Meyering  <meyering@lucent.com>
57758
57759         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
57760         Also include memory.h, stdlib.h, unistd.h if appropriate.
57761         Reported by Andreas Jaeger (conflicting declaration of malloc).
57762
57763 2000-12-02  Jim Meyering  <meyering@lucent.com>
57764
57765         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
57766         * m4/jm-macros.m4 (jm_MACROS): require it.
57767
57768 2000-12-02  Jim Meyering  <meyering@lucent.com>
57769
57770         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
57771
57772 2000-12-01  Paul Eggert  <eggert@twinsun.com>
57773
57774         * lib/memrchr.c: Include <config.h> before any system include file.
57775
57776 2000-11-30  Jim Meyering  <meyering@lucent.com>
57777
57778         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
57779
57780 2000-11-30  Jim Meyering  <meyering@lucent.com>
57781
57782         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
57783
57784 2000-11-29  Paul Eggert  <eggert@twinsun.com>
57785
57786         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
57787
57788 2000-11-26  Jim Meyering  <meyering@lucent.com>
57789
57790         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
57791
57792 2000-11-22  Paul Eggert  <eggert@twinsun.com>
57793
57794         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
57795         size of (size_t) -1; it's not portable.
57796
57797 2000-11-17  Jim Meyering  <meyering@lucent.com>
57798
57799         * lib/strstr.c: Update from GNU libc.
57800
57801 2000-11-17  Akim Demaille  <akim@epita.fr>
57802
57803         * lib/obstack.h: Formatting changes.
57804         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
57805         prevent type checking.
57806         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
57807         cast the value to (void *): assigning a `foo *' to a `void *'
57808         variable is valid.
57809         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
57810
57811 2000-11-16  Jim Meyering  <meyering@lucent.com>
57812
57813         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
57814
57815 2000-11-11  Jim Meyering  <meyering@lucent.com>
57816
57817         * lib/error.c: Add a couple #includes, merging from GNU libc version.
57818
57819 2000-11-10  Jim Meyering  <meyering@lucent.com>
57820
57821         * lib/obstack.h: Update from GNU libc.
57822         * lib/obstack.c: Likewise.
57823
57824 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
57825
57826         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
57827
57828 2000-11-06  Paul Eggert  <eggert@twinsun.com>
57829
57830         * lib/getusershell.c (setusershell): Use rewind rather than
57831         fseek/fseeko, to avoid configuration hassles with fseeko.
57832         Don't bother opening SHELLS_FILE if shellstream is NULL;
57833         it's not necessary.
57834
57835 2000-11-05  Jim Meyering  <meyering@lucent.com>
57836
57837         * lib/makepath.h (make_dir): Declare.
57838         * lib/makepath.c (make_dir): Remove `static' attribute.
57839         Tweak a comment.
57840
57841 2000-11-04  Jim Meyering  <meyering@lucent.com>
57842
57843         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
57844
57845 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
57846
57847         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
57848         last one in a bucket, advance to the next bucket.
57849
57850 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
57851
57852         * lib/fnmatch.c: Do not comment out all the code if we are using
57853         the GNU C library, because in some cases we are replacing buggy
57854         code in the GNU C library itself.
57855
57856 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
57857
57858         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
57859         (regex_compile): Catch bogus \(\1\).
57860
57861 2000-10-30  Paul Eggert  <eggert@twinsun.com>
57862
57863         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
57864         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
57865         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
57866
57867 2000-10-30  Paul Eggert  <eggert@twinsun.com>
57868
57869         * lib/error.h, getline.h, modechange.h:
57870         Remove "2000" from Copyright line, as the file hasn't been
57871         changed this year other than in the copyright notice.
57872
57873         * lib/xalloc.h: Add "2000" to Copyright line, as this file
57874         was changed this year.
57875
57876 2000-10-29  Jim Meyering  <meyering@lucent.com>
57877
57878         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
57879         renaming.
57880         * m4/ls-mntd-fs.m4: Likewise
57881
57882 2000-10-29  Jim Meyering  <meyering@lucent.com>
57883
57884         * lib/xstat.in: Fix grammar in comment.
57885
57886 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
57887
57888         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
57889         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
57890         doesn't define __restrict_arr.
57891
57892 2000-10-28  Jim Meyering  <meyering@lucent.com>
57893
57894         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
57895         (jm_PREREQ_MEMCHR): New function.
57896
57897 2000-10-28  Jim Meyering  <meyering@lucent.com>
57898
57899         * lib/memchr.c: Update from libc.
57900         Adjust for portability:
57901         [HAVE_STDLIB_H]: Include stdlib.h.
57902         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
57903         Undef __memchr, too.
57904         [!weak_alias]: Define __memchr to memchr.
57905
57906         * lib/regex.c: Update from libc.
57907         * lib/regex.h: Likewise.
57908         * lib/getopt1.c: Likewise.
57909         * lib/memcmp.c: Likewise.
57910
57911         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
57912         Avoid using fseek, when possible -- it's broken by design.
57913         Patch by Ulrich Drepper.
57914
57915 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
57916
57917         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
57918         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
57919         Giving in to popular pressure to shut up the compiler with casts.
57920
57921 2000-10-26  Jim Meyering  <meyering@lucent.com>
57922
57923         * lib/strftime.c: Update from libc.
57924
57925 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
57926
57927         * regex.c: More `unsigned char' -> `re_char' changes.
57928         Also change several `int' into `re_wchar_t'.
57929         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
57930         (PUSH_FAILURE_POINTER): Don't cast any more.
57931         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
57932         We want GCC to complain, since this piece of code makes
57933         re_match non-reentrant, which *should* be fixed.
57934         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
57935         (EXTEND_BUFFER): Use RETALLOC.
57936         (SET_LIST_BIT): Don't cast.
57937         (re_wchar_t): New type.
57938         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
57939         that those two functions will always properly return.
57940         (IMMEDIATE_QUIT_CHECK): Cast to void.
57941         (analyse_first): Use recursion rather than an explicit stack.
57942         (re_compile_fastmap): Can't fail anymore.
57943         (re_search_2): Don't check re_compile_fastmap for failure.
57944         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
57945         Now also sets the new value (passed in a new argument).
57946         (re_match_2_internal): Use it.
57947         Also, use a new var `reg' of type size_t when looping through regs
57948         rather than reuse the inappropriate `mcnt'.
57949
57950 2000-10-25  Jim Meyering  <meyering@lucent.com>
57951
57952         * lib/obstack.c: Update from libc.
57953
57954 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
57955
57956         * regex.c (regex_compile): Change the way of handling a range from
57957         a char less than 256 to a char not less than 256.
57958
57959 2000-10-24  Andrew Innes  <andrewi@gnu.org>
57960
57961         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
57962         NT-Emacs only.
57963         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
57964         so that re_search functions only quit when callers expect them to.
57965
57966 2000-10-23  Jim Meyering  <meyering@lucent.com>
57967
57968         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
57969         wrong.  That set_locale call must not have any side effects.
57970         From Paul Eggert.
57971
57972 2000-10-22  Jim Meyering  <meyering@lucent.com>
57973
57974         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
57975         [CYCLIC]: Remove now-unused definition.
57976
57977         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
57978         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
57979         Suggestion from Ulrich Drepper.
57980
57981 2000-10-21  Jim Meyering  <meyering@lucent.com>
57982
57983         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
57984         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
57985         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
57986
57987 2000-10-21  Jim Meyering  <meyering@lucent.com>
57988
57989         * lib/dirname.c (memrchr): Declare if necessary.
57990         (dir_name): Remove the restriction that there be no
57991         trailing slashes.  Now, this code skips past them, effectively
57992         ignoring them.
57993         [TEST_DIRNAME] (main): New unit tests.
57994
57995         * lib/memrchr.c: New file from GNU libc.
57996         Undef __memrchr, too.
57997         [!weak_alias]: Define __memrchr to memrchr.
57998         Guard weak_alias use with `#ifdef weak_alias'.
57999
58000 2000-10-21  Jim Meyering  <meyering@lucent.com>
58001
58002         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
58003         (dir_name): Use dir_name_r.
58004         * lib/dirname.h (dir_name_r): Declare it.
58005
58006 2000-10-17  Jim Meyering  <meyering@lucent.com>
58007
58008         * lib/quote.h (PARAMS): Define and use.
58009         Reported by Akim Demaille.
58010
58011         * lib/getopt.c: Update from libc.
58012
58013 2000-10-16  Jim Meyering  <meyering@lucent.com>
58014
58015         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
58016         setlocale.
58017         From Jan Fedak.
58018
58019 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
58020
58021         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
58022
58023 2000-09-25  Jim Meyering  <meyering@lucent.com>
58024
58025         * lib/md5.h (rol): Define (from GnuPG).
58026
58027         * lib/sha.c: Give credit (GnuPG) where due.
58028         (M): Use rol rather than open-coding it.
58029         Add a FIXME comment.
58030
58031 2000-09-21  Jim Meyering  <meyering@lucent.com>
58032
58033         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
58034         Reported by Michael Stone.
58035
58036 2000-09-20  Jim Meyering  <meyering@lucent.com>
58037
58038         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
58039         (noinst_HEADERS): Add sha.h.
58040         Based on code from Scott G. Miller and from GnuPG.
58041
58042 2000-09-18  Jim Meyering  <meyering@lucent.com>
58043
58044         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
58045         LIBS. Otherwise, everyone ends up linking with -lelf for some
58046         configurations.
58047         Reported by Mike Stone.
58048
58049 2000-09-15  Jim Meyering  <meyering@lucent.com>
58050
58051         * lib/regex.c: Update from libc.
58052
58053 2000-09-10  Jim Meyering  <meyering@lucent.com>
58054
58055         * lib/getopt.c (_getopt_internal): Update from glibc.
58056
58057 2000-09-09  Jim Meyering  <meyering@lucent.com>
58058
58059         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
58060         think it should be used as a general replacement for isascii.
58061         * lib/fnmatch.c: Likewise.
58062         * lib/mbswidth.c: Likewise
58063         * lib/regex.c: Likewise.
58064
58065         Don't use atoi.
58066         * lib/userspec.c: Include sys/param.h and limits.h.
58067         Include xstrtol.h.
58068         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
58069         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
58070         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
58071         UID, GID.  Check range.
58072
58073 2000-09-06  Jim Meyering  <meyering@lucent.com>
58074
58075         * lib/getopt.c (_getopt_internal): Update from glibc.
58076
58077 2000-08-30  Jim Meyering  <meyering@lucent.com>
58078
58079         * lib/strftime.c: Merge in changes from GNU libc.
58080
58081 2000-08-26  Jim Meyering  <meyering@lucent.com>
58082
58083         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
58084         * m4/fpending.m4: New file.
58085
58086 2000-08-26  Jim Meyering  <meyering@lucent.com>
58087
58088         * lib/closeout.c: Include "__fpending.h".
58089         (close_stdout_status): Return right away if there's nothing to flush.
58090
58091         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
58092         * lib/__fpending.c: New file.
58093         * lib/__fpending.h: New file.
58094
58095 2000-08-20  Jim Meyering  <meyering@lucent.com>
58096
58097         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
58098         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
58099         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
58100
58101 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
58102
58103         Improve fileutils installation on systems where running
58104         programs (like install) can't be unlinked.
58105         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
58106         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
58107
58108 2000-08-07  Paul Eggert  <eggert@twinsun.com>
58109
58110         Standardize on "memory exhausted" instead of "Memory exhausted"
58111         or "virtual memory exhausted".
58112         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
58113         "virtual memory exhausted".
58114         * lib/same.c (same_name): Invoke xalloc_die instead of printing
58115         our own message.
58116         * lib/userspec.c (parse_user_spec): Likewise.
58117         * lib/bumpalloc.h: comment fix
58118         * lib/same.c, userspec.c: Include xalloc.h.
58119
58120         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
58121         not char *const and pointing to a constant array.
58122         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
58123         (xrealloc): Comment fix.
58124
58125         * lib/userspec.c (parse_user_spec):
58126         Don't translate a message until just before returning,
58127         to avoid unnecessary translation.
58128
58129 2000-08-07  Jim Meyering  <meyering@lucent.com>
58130
58131         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
58132         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
58133         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
58134         getgroups.c, gethostname.c, getopt.h, group-member.c,
58135         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
58136         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
58137         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
58138         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
58139         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
58140         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
58141         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
58142         yesno.c: Back out Copyright date changes for each file with no change
58143         this year.  This eases coordination with other programs using the same
58144         source code modules.  From Paul Eggert.
58145
58146 2000-08-06  Paul Eggert  <eggert@twinsun.com>
58147
58148         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
58149         not char, for compatibility with glibc 2.1.3 strftime.c.
58150
58151 2000-08-03  Greg McGary  <greg@mcgary.org>
58152
58153         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
58154         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
58155         (EXTEND_BUFFER): Use them.
58156
58157 2000-08-01  Jim Meyering  <meyering@lucent.com>
58158
58159         * lib/dirname.c (ISSLASH): Define.
58160         (BACKSLASH_IS_PATH_SEPARATOR): Define.
58161         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
58162         both `\' and `/' may be use as path separators.
58163         Based on a patch from Prashant TR.
58164
58165 2000-07-31  Paul Eggert  <eggert@twinsun.com>
58166
58167         * lib/quotearg.c (quotearg_n_options): Don't make the initial
58168         slot vector a constant, since it might get modified.
58169
58170 2000-07-31  Jim Meyering  <meyering@lucent.com>
58171
58172         * lib/xmalloc.c: Use `virtual memory exhausted', not
58173         `Memory exhausted'.
58174         * lib/obstack.c (print_and_abort): Likewise.
58175
58176 2000-07-30  Paul Eggert  <eggert@twinsun.com>
58177
58178         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
58179         buffer, so that the caller can always quote one small
58180         component of a "memory exhausted" message in slot 0.
58181         From a suggestion by Jim Meyering.
58182
58183 2000-07-30  Jim Meyering  <meyering@lucent.com>
58184
58185         * lib/makepath.c (make_path): Quote the other instance, too.
58186
58187         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
58188         (STATIC_BUF_SIZE): Define.
58189         (quotearg_n_options): Use only statically allocated storage when
58190         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
58191         than STATIC_BUF_SIZE.
58192
58193 2000-07-29  Jim Meyering  <meyering@lucent.com>
58194
58195         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
58196         * lib/dirname.c (dir_name): Likewise.
58197
58198         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
58199         `/'.
58200
58201         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
58202         (dir_name): Assert that there are no trailing slashes.
58203
58204 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
58205
58206         * lib/mbswidth.h (mbswidth): Add a flags argument.
58207         (mbswidth): New declaration.
58208         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
58209         * lib/mbswidth.c (mbswidth): Add a flags argument.
58210         (mbsnwidth): New function.
58211
58212 2000-07-24  Jim Meyering  <meyering@lucent.com>
58213
58214         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
58215
58216 2000-07-23  Paul Eggert  <eggert@twinsun.com>
58217
58218         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
58219
58220 2000-07-23  Paul Eggert  <eggert@twinsun.com>
58221
58222         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
58223         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
58224         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
58225         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
58226         invoke multibyte primitives.
58227
58228 2000-07-23  Paul Eggert  <eggert@twinsun.com>
58229
58230         * lib/quotearg.c:
58231         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
58232         so that mbstate_t is always defined.
58233
58234         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
58235         be 1 in at least one GCC installation, and this configuration
58236         error is likely to be common.  Ignoring MB_LEN_MAX hurts
58237         performance on hosts that have mbrtowc but have only unibyte
58238         locales, but I assume these hosts are rare.
58239
58240 2000-07-23  Paul Eggert  <eggert@twinsun.com>
58241
58242         * lib/mbswidth.c (_XOPEN_SOURCE):
58243         Don't define; this causes problems on Solaris 7.
58244         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
58245
58246 2000-07-23  Jim Meyering  <meyering@lucent.com>
58247
58248         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
58249         too: getgrgid, getpwuid, getuid.
58250
58251 2000-07-23  Jim Meyering  <meyering@lucent.com>
58252
58253         * lib/basename.c (base_name): Add an assertion.
58254
58255 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
58256
58257         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
58258         shadow its mbsinit function.
58259
58260 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
58261
58262         * lib/mbswidth.h: New file.
58263         * lib/mbswidth.c: New file.
58264         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
58265         (noinst_HEADERS): Add mbswidth.h.
58266
58267 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
58268
58269         * lib/config.charset: Add support for FreeBSD. Improve support for
58270         HP-UX and IRIX 6.
58271
58272 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
58273
58274         * m4/mbswidth.m4: New file.
58275         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
58276
58277 2000-07-15  Jim Meyering  <meyering@lucent.com>
58278
58279         * lib/makepath.c: Include quote.h.
58280         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
58281         corresponding argument in a `quote (...)' call.
58282         Give better diagnostics.
58283
58284         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
58285         (noinst_HEADERS): Add quote.h.
58286
58287         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
58288         from tar's src/misc.c.
58289         * lib/quote.h: New file.  Prototypes for same.
58290
58291 2000-07-14  Paul Eggert  <eggert@twinsun.com>
58292
58293         From a suggestion by Bruno Haible.
58294         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
58295         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
58296         to decide whether to define the BeOS workaround macro;
58297         this adjusts to the change to AC_MBSTATE_T.
58298
58299 2000-07-14  Jim Meyering  <meyering@lucent.com>
58300
58301         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
58302         jm_AC_TYPE_UINTMAX_T.
58303
58304 2000-07-13  Paul Eggert  <eggert@twinsun.com>
58305
58306         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
58307
58308         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
58309         quotearg_buffer_restyled): Add support for
58310         clocale_quoting_style.  Undo previous change to
58311         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
58312         and "{RIGHT QUOTATION MARK}" msgids.
58313
58314 2000-07-10  Paul Eggert  <eggert@twinsun.com>
58315
58316         From a suggestion by Bruno Haible.
58317         * m4/mbstate_t.m4 (AC_MBSTATE_T):
58318         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
58319         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
58320         and mbstate_t, to a single-part test that simply defines mbstate_t.
58321         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
58322         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
58323
58324 2000-07-10  Jim Meyering  <meyering@lucent.com>
58325
58326         * m4/strerror_r.m4: Mirror the correction made in autoconf.
58327
58328         * m4/gnu-source.m4: Output to confdefs.h directly.
58329         Suggestion from Akim Demaille.
58330
58331 2000-07-09  Paul Eggert  <eggert@twinsun.com>
58332
58333         The old behavior of quoting `like this' doesn't look good with
58334         newer, ISO-style fonts.  See:
58335         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
58336
58337         Instead, quote "like this" by default.  Let the translator
58338         tailor the locale-specific quoting behavior by providing
58339         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
58340
58341         * lib/quotearg.c (N_): New macro.
58342         (gettext_default): New function.
58343         (quotearg_buffer_restyled): Use
58344         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
58345         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
58346
58347 2000-07-09  Jim Meyering  <meyering@lucent.com>
58348
58349         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
58350         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
58351
58352         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
58353         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
58354
58355 2000-07-09  Jim Meyering  <meyering@lucent.com>
58356
58357         * lib/Most files: Update copyright dates to include 2000.
58358
58359 2000-07-08  Jim Meyering  <meyering@lucent.com>
58360
58361         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
58362         if not defined.
58363         (xgethostname): Remove now-unnecessary #ifdef.
58364         Move declaration of `err' into loop where it's used.
58365
58366 2000-07-05  Paul Eggert  <eggert@twinsun.com>
58367         and Bruno Haible  <haible@clisp.cons.org>
58368
58369         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
58370         only if the test for an object-type mbstate_t fails.  This
58371         prevents us from mistakenly reporting that mbstate_t is a
58372         system object type after we "#define mbstate_t int" to work
58373         around its lack.
58374
58375 2000-07-05  Paul Eggert  <eggert@twinsun.com>
58376         and Bruno Haible  <haible@clisp.cons.org>
58377
58378         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
58379
58380 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
58381
58382         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
58383         to strerror_r.
58384         Include <ctype.h> for use of isalpha.
58385
58386 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
58387
58388         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
58389         by allocating a larger buffer. Test the gethostname return value for
58390         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
58391         returns an error and ENAMETOOLONG isn't defined.
58392
58393 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
58394
58395         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
58396         dimension.
58397
58398 2000-07-04  Jim Meyering  <meyering@lucent.com>
58399
58400         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
58401         of the deprecated AC_CHECKING.
58402
58403 2000-07-04  Jim Meyering  <meyering@lucent.com>
58404
58405         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
58406         Reported by Bruno Haible.
58407
58408 2000-07-04  Jim Meyering  <meyering@lucent.com>
58409
58410         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
58411         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
58412         lacks mbrtowc.
58413
58414 2000-07-03  Paul Eggert  <eggert@twinsun.com>
58415
58416         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
58417         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
58418
58419 2000-07-03  Paul Eggert  <eggert@twinsun.com>
58420         and Bruno Haible  <haible@clisp.cons.org>
58421
58422         * lib/quotearg.c (mbrtowc):
58423         Assign to *pwc, and return 1 only if result is nonzero.
58424         (iswprint): Use ISPRINT when substituting our own mbrtowc.
58425
58426 2000-07-03  Jim Meyering  <meyering@lucent.com>
58427
58428         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
58429
58430 2000-07-03  Jim Meyering  <meyering@lucent.com>
58431
58432         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
58433         This is necessary to get a definition of e.g., UTMP_FILE on
58434         HP-UX 10.20.
58435         From Bob Proulx.
58436
58437 2000-07-02  Jim Meyering  <meyering@lucent.com>
58438
58439         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
58440
58441         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
58442         AC_LIBOBJ(function_name).
58443         * m4/chown.m4: Likewise.
58444         * m4/fnmatch.m4: Likewise.
58445         * m4/ftruncate.m4: Likewise.
58446         * m4/getgroups.m4: Likewise.
58447         * m4/getline.m4: Likewise.
58448         * m4/group-member.m4: Likewise.
58449         * m4/jm-macros.m4: Likewise.
58450         * m4/lstat.m4: Likewise.
58451         * m4/malloc.m4: Likewise.
58452         * m4/memcmp.m4: Likewise.
58453         * m4/nanosleep.m4: Likewise.
58454         * m4/putenv.m4: Likewise.
58455         * m4/realloc.m4: Likewise.
58456         * m4/regex.m4: Likewise.
58457         * m4/stat.m4: Likewise.
58458         * m4/strftime.m4: Likewise.
58459
58460 2000-07-02  Jim Meyering  <meyering@lucent.com>
58461
58462         * lib/quotearg.c (mbstate_t): Don't define here.
58463
58464 2000-07-02  Jim Meyering  <meyering@lucent.com>
58465
58466         * lib/nanosleep.c (SIGCONT): Define if not already defined.
58467
58468 2000-07-01  Jim Meyering  <meyering@lucent.com>
58469
58470         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
58471
58472 2000-07-01  Jim Meyering  <meyering@lucent.com>
58473
58474         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
58475         problem.
58476
58477 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
58478
58479         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
58480         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
58481
58482 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
58483
58484         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
58485         per change in ../m4/ls-mntd-fs.m4.
58486         (read_filesystem_list): Ignore symbolic links.
58487
58488 2000-06-29  Jim Meyering  <meyering@lucent.com>
58489
58490         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
58491         for declaration of strcmp.
58492
58493         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
58494
58495         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
58496         Avoid warning by casting result to `char *' to remove `const'.
58497
58498 2000-06-28  Jim Meyering  <meyering@lucent.com>
58499
58500         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
58501         included by quotearg.c, for which we perform this test.  From
58502         Bruno Haible.
58503
58504 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
58505
58506         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
58507         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
58508         <utmpx.h> exists, put readutmp.o into LIBOBJS.
58509
58510 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
58511
58512         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
58513
58514 2000-06-26  Paul Eggert  <eggert@twinsun.com>
58515
58516         savedir now sets errno on failure and invokes xmalloc to get memory.
58517         Fix a couple of other minor bugs while we're at it.
58518
58519         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
58520         (NAMLEN): Remove macro.
58521         (malloc, realloc): Remove decls.
58522         (stpcpy): Likewise.
58523         ("xalloc.h"): Include.
58524         (NAME_SIZE_DEFAULT): New macro.
58525         (savedir): Use xmalloc / xrealloc to allocate memory.
58526         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
58527         Skip "" directory entries.
58528         Use strlen to calculate directory entry length, since the old method
58529         is rarely used these days and isn't worth supporting.
58530         Don't use a pointer after freeing it.
58531         Check for integer overflow when calculating allocation size.
58532         Use memcpy to copy entries, instead of stpcpy.
58533         Set errno properly when returning NULL.
58534         Check for readdir error.
58535
58536 2000-06-26  Jim Meyering  <meyering@lucent.com>
58537
58538         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
58539
58540 2000-06-25  Jim Meyering  <meyering@lucent.com>
58541
58542         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
58543         Linux header bug when _XOPEN_SOURCE is defined to 500.
58544
58545 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
58546
58547         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
58548         deficiency.
58549
58550 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
58551
58552         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
58553         Include xalloc.h.
58554         Don't include <stdlib.h>.  Don't declare malloc, realloc.
58555
58556 2000-06-24  Jim Meyering  <meyering@lucent.com>
58557
58558         * m4/strerror_r.m4: Revive this file -- to try out an experimental
58559         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
58560         for which strerror does return char*, but which lacks a conveniently
58561         accessible declaration of the function.  If the compile-test says
58562         strerror_r doesn't work, then resort to a `run'-test that works on
58563         BeOS and segfaults on DEC Unix.
58564
58565 2000-06-24  Jim Meyering  <meyering@lucent.com>
58566
58567         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
58568
58569 2000-06-23  Paul Eggert  <eggert@twinsun.com>
58570
58571         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
58572         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
58573
58574 2000-06-23  Paul Eggert  <eggert@twinsun.com>
58575
58576         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
58577         (mbrtowc, mbstate_t): Define substitutes if
58578         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
58579         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
58580         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
58581
58582 2000-06-23  Jim Meyering  <meyering@lucent.com>
58583
58584         * m4/afs.m4: Add missing AC_MSG_RESULT.
58585         Reported by Bruno Haible.
58586
58587         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
58588         Suggestion from Bruno Haible.
58589
58590 2000-06-23  Jim Meyering  <meyering@lucent.com>
58591
58592         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
58593
58594 2000-06-21  Jim Meyering  <meyering@lucent.com>
58595
58596         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
58597
58598 2000-06-21  Jim Meyering  <meyering@lucent.com>
58599
58600         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
58601         (noinst_HEADERS): Add getstr.h.
58602
58603         * lib/getline.c (getstr): Move into a separate file.
58604         * lib/getstr.c (getstr): New file, extracted from getline.c, with
58605         the following changes: new parameter, delim2; both delim[12]
58606         parameters have type `int', not `char'.  The latter would lose
58607         with 8-bit delimiters.
58608         * lib/getstr.h: New file.
58609
58610 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
58611
58612         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
58613         than 1024, return a memory chunk of least possible size, instead
58614         of size PATH_MAX + 2. In the loop, increment the size proportionally.
58615         Use free/xmalloc instead of xrealloc to avoid copying for very long
58616         paths.
58617
58618 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
58619
58620         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
58621         the empty string.
58622
58623 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
58624
58625         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
58626         address, not strdup.  Include <stdlib.h> and don't declare free().
58627
58628 2000-06-19  Jim Meyering  <meyering@lucent.com>
58629
58630         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
58631
58632 2000-06-18  Jim Meyering  <meyering@lucent.com>
58633
58634         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
58635
58636         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
58637         `checking whether...' message to be consistent with that of the
58638         lstat test.
58639
58640 2000-06-18  Jim Meyering  <meyering@lucent.com>
58641
58642         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
58643         Besides, these days every porting target provides a mkdir function.
58644
58645         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
58646         needed. (this snippet comes from src/system.h).
58647
58648 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
58649
58650         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
58651
58652 2000-06-15  Paul Eggert  <eggert@twinsun.com>
58653
58654         * lib/human.c (adjust_value): New function.
58655         (human_readable_inexact): Apply rounding style even when
58656         printing approximate values.
58657
58658 2000-06-14  Paul Eggert  <eggert@twinsun.com>
58659
58660         * lib/human.c (human_readable_inexact): Allow an input block
58661         size that is not a multiple of the output block size, and vice versa.
58662         Reported by Piergiorgio Sartor.
58663
58664 2000-06-14  Paul Eggert  <eggert@twinsun.com>
58665
58666         * lib/getdate.y (get_date): Apply relative times after time
58667         zone indicator, not before.  Reported by Todd A. Jacobs.
58668
58669 2000-06-13  Jim Meyering  <meyering@lucent.com>
58670
58671         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
58672
58673         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
58674
58675 2000-06-12  Paul Eggert  <eggert@twinsun.com>
58676
58677         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
58678
58679 2000-06-12  Jim Meyering  <meyering@lucent.com>
58680
58681         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
58682         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
58683         optional argument.
58684         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
58685         the optional argument, `lib'.
58686
58687 2000-06-08  Jim Meyering  <meyering@lucent.com>
58688
58689         * m4/largefile.m4: Remove file (now that it's part of autoconf).
58690
58691 2000-06-04  Paul Eggert  <eggert@twinsun.com>
58692
58693         Rewrite largefile configuration so that we don't need to run
58694         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
58695         AC_CANONICAL_HOST in configure.in -- jmm]
58696
58697         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
58698         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
58699         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
58700         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
58701         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
58702         All uses changed.
58703         Instead of inspecting the output of getconf, try to compile the
58704         test program without and with the macro definition.
58705         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
58706         for getconf.  Instead, check for the needed flags by compiling
58707         test programs.
58708
58709 2000-06-04  Paul Eggert  <eggert@twinsun.com>
58710
58711         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
58712
58713 2000-06-04  Jim Meyering  <meyering@lucent.com>
58714
58715         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
58716         SunOS 4.1.4 for which gid_t is an unsigned type.
58717
58718 2000-06-03  Jim Meyering  <meyering@lucent.com>
58719
58720         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
58721         now that autoconf requires that.
58722
58723         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
58724         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
58725         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
58726
58727 2000-06-03  Jim Meyering  <meyering@lucent.com>
58728
58729         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
58730
58731 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
58732
58733         * m4/glibc21.m4: New file.
58734         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
58735
58736 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
58737
58738         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
58739         newer, don't install charset.alias.
58740         * lib/config.charset: Change the Linux/glibc rules so they become empty
58741         on glibc-2.1 or newer.
58742
58743 2000-06-02  Jim Meyering  <meyering@lucent.com>
58744
58745         * lib/mountlist.c: Back out last change.  Instead, do this...
58746         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
58747         me_dummy member using the same `ignore'-testing code.
58748         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
58749         fs_type strings.
58750         From Mark D. Roth.
58751
58752 2000-05-29  Jim Meyering  <meyering@lucent.com>
58753
58754         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
58755         mounts with the `ignore' attribute.  Based on a patch from
58756         Mark D. Roth.
58757
58758 2000-05-28  Jim Meyering  <meyering@lucent.com>
58759
58760         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
58761         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
58762         * m4/stat.m4: Likewise.
58763         * m4/lstat.m4: Likewise.
58764         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
58765
58766         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
58767         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
58768
58769 2000-05-26  Jim Meyering  <meyering@lucent.com>
58770
58771         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
58772
58773 2000-05-24  Jim Meyering  <meyering@lucent.com>
58774
58775         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
58776         autoconf requires that.
58777         * m4/lib-check.m4: Likewise.
58778         * m4/jm-macros.m4: Likewise.
58779         * m4/strftime.m4: Likewise.
58780
58781         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
58782         AC_CHECK_DECLS, now that autoconf requires that.
58783
58784 2000-05-22  Jim Meyering  <meyering@lucent.com>
58785
58786         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
58787         * m4/lstat.m4: Likewise.
58788
58789 2000-05-22  Jim Meyering  <meyering@lucent.com>
58790
58791         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
58792
58793 2000-05-20  Jim Meyering  <meyering@lucent.com>
58794
58795         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
58796         (jm_PREREQ): Use it.
58797
58798 2000-05-18  Jim Meyering  <meyering@lucent.com>
58799
58800         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
58801         back, too, since it may have been modified by allocate_entry.
58802         (hash_delete): Rewrite to use neither the assignment operator
58803         nor the comma operator in an if-expression.
58804
58805 2000-05-15  Paul Eggert  <eggert@twinsun.com>
58806
58807         * lib/closeout.c:
58808         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
58809         Remove; no longer needed.
58810         "quotearg.h": Add include.
58811         (file_name): Do not bother to explicitly initialize to NULL; it's less
58812         efficient on some hosts.
58813         (close_stdout_status): Remove test as to whether stdout was already
58814         closed; it breaks for the case "echo x | sort >&-".
58815         Quote file name colons.
58816         Do not assume that _("write error") lacks format strings.
58817
58818 2000-05-15  Jim Meyering  <meyering@lucent.com>
58819
58820         * lib/version-etc.c (version_etc_copyright): Update the copyright
58821         string used in all --version output.
58822
58823 2000-05-14  Jim Meyering  <meyering@lucent.com>
58824
58825         * lib/closeout.c (close_stdout_set_file_name): New function.
58826         (close_stdout_status): Use new file-scoped global.
58827         Return right away if fstat says the stdout file descriptor is invalid.
58828         * lib/closeout.h (close_stdout_set_file_name): Declare.
58829
58830 2000-05-10  Jim Meyering  <meyering@lucent.com>
58831
58832         * lib/closeout.c [default_exit_status]: New file-scoped variable.
58833         (close_stdout_set_status): New function.
58834         * lib/closeout.h (close_stdout_set_status): Declare.
58835
58836 2000-05-09  Jim Meyering  <meyering@lucent.com>
58837
58838         * m4/gettext.m4: Rename this...
58839         * m4/libintl.m4: ...to this.
58840
58841 2000-05-08  Jim Meyering  <meyering@lucent.com>
58842
58843         * lib/long-options.c: Don't include closeout.h.
58844         (parse_long_options): Don't call close_stdout for --version.
58845
58846 2000-05-06  Paul Eggert  <eggert@twinsun.com>
58847
58848         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
58849         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
58850         2.1.3 bug.  This avoids a clash when files like regex.c define
58851         _GNU_SOURCE.
58852
58853 2000-05-06  Jim Meyering  <meyering@lucent.com>
58854
58855         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
58856         (AC_REPLACE_FUNCS): Add strnlen.
58857
58858         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
58859         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
58860
58861         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
58862         AC_SEARCH_LIBS call for nanosleep.
58863         (LIB_NANOSLEEP): Set and AC_SUBST.
58864
58865 2000-05-06  Jim Meyering  <meyering@lucent.com>
58866
58867         * lib/strnlen.c: Undefine __strnlen and strnlen.
58868         [!weak_alias]: Define __strnlen to strnlen.
58869
58870         * lib/atexit.c: New file, from libiberty.
58871
58872 2000-05-06  Jim Meyering  <meyering@lucent.com>
58873
58874         * lib/closeout.c (close_stdout_status): Also check for errors on the
58875         stderr stream.
58876
58877 2000-05-05  Jim Meyering  <meyering@lucent.com>
58878
58879         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
58880         AC_SEARCH_LIBS call for clock_gettime.
58881         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
58882
58883         * m4/search-libs.m4: Update from autoconf.
58884
58885         su doesn't work on Solaris 2.6.
58886         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
58887         <shadow.h>.  Reported by Dragos Harabor.
58888
58889 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
58890
58891         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
58892         memcpy instead of xmalloc, xrealloc, path_concat.
58893         (locale_charset): Treat empty environment variables as absent.
58894         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
58895
58896 2000-05-04  Jim Meyering  <meyering@lucent.com>
58897
58898         * lib/getopt.c: Update from glibc.
58899         * lib/obstack.c: Likewise.
58900         * lib/obstack.h: Likewise.
58901         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
58902         file
58903
58904         * lib/regex.h: Likewise.
58905         * lib/strndup.c: Likewise.
58906         * lib/strnlen.c: New file, from glibc.
58907
58908 2000-05-03  Jim Meyering  <meyering@lucent.com>
58909
58910         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
58911
58912 2000-05-02  Paul Eggert  <eggert@twinsun.com>
58913
58914         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
58915         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
58916         compile-time test, rather than inspecting host and OS, to
58917         decide whether to define _LARGEFILE_SOURCE.
58918
58919 2000-05-01  Jim Meyering  <meyering@lucent.com>
58920
58921         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
58922
58923         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
58924         Based on a patch from Bruno Haible.
58925
58926 2000-05-01  Jim Meyering  <meyering@lucent.com>
58927
58928         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
58929
58930 2000-04-29  Jim Meyering  <meyering@lucent.com>
58931
58932         * lib/path-concat.c: Declare strdup only if it's not defined.
58933         * lib/canon-host.c: Likewise.
58934
58935 2000-04-28  Jim Meyering  <meyering@lucent.com>
58936
58937         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
58938         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
58939         is included first, then limits.h is included by locale.h by libintl.h.
58940         From John David Anglin.
58941
58942 2000-04-25  Jim Meyering  <meyering@lucent.com>
58943
58944         * lib/makepath.c (S_IRWXUGO): Define.
58945         (make_path): Always perform explicit chmod if MODE specifies any
58946         of the `special' permission bits.  Prompted by a bug report against
58947         install from Mate Wierdl and Joost van Baal.
58948
58949 2000-04-18  Jim Meyering  <meyering@lucent.com>
58950
58951         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
58952         (jm_PREREQ): Use it.
58953
58954 2000-04-18  Jim Meyering  <meyering@lucent.com>
58955
58956         * lib/README: New file.
58957
58958         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
58959         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
58960
58961 2000-04-17  Jim Meyering  <meyering@lucent.com>
58962
58963         Get it right :-)
58964         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
58965         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
58966         Suggestion from Akim Demaille.
58967
58968 2000-04-17  Jim Meyering  <meyering@lucent.com>
58969
58970         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
58971         the definition of it to rpl_strftime also defined-away the system's
58972         declaration.
58973
58974 2000-04-15  Jim Meyering  <meyering@lucent.com>
58975
58976         Use `C' to denote so-called `contiguous' files, the same way
58977         that tar does.
58978         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
58979         (ftypelet): Use S_ISCTG.
58980         From Michael Deutschmann.
58981
58982 2000-04-14  Jim Meyering  <meyering@lucent.com>
58983
58984         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
58985         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
58986         clobbered.
58987
58988 2000-04-14  Jim Meyering  <meyering@lucent.com>
58989
58990         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
58991
58992 2000-04-13  Jim Meyering  <meyering@lucent.com>
58993
58994         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
58995         AH_VERBATIM to insert required #ifndef into config.h.in.
58996         Suggestion from Akim Demaille.
58997
58998 2000-04-12  Jim Meyering  <meyering@lucent.com>
58999
59000         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
59001         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
59002         Christian Krackowizer.
59003
59004         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
59005         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
59006         (AC_SYS_LARGEFILE): Require.
59007         (AM_C_PROTOTYPES): Require.
59008
59009 2000-04-08  Jim Meyering  <meyering@lucent.com>
59010
59011         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
59012         names don't conflict.  Reported by Eli Zaretskii.
59013
59014 2000-04-07  Jim Meyering  <meyering@lucent.com>
59015
59016         * lib/putenv.c: Move inclusion of errno.h so it follows that of
59017         sys/types.h, to work around system header problems on AIX 3.2.5.
59018         From Bruno Haible.
59019
59020 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
59021
59022         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
59023         bug.  Deal with the different error behavior of Irix iconv.
59024
59025 2000-04-05  Paul Eggert  <eggert@twinsun.com>
59026
59027         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
59028         IRIX if the installer said otherwise.
59029
59030 2000-04-05  Jim Meyering  <meyering@lucent.com>
59031
59032         Portability tweaks required for ultrix4.3.
59033         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
59034         (jm_CHECK_DECLS): Add getutent to the list of functions.
59035         (_jm_DECL_HEADERS): Add utmpx.h.
59036         From John David Anglin.
59037
59038         * m4/strftime.m4: Back out the 2000-04-02 change.
59039         Instead of that change, simply undefine putenv in the test program.
59040
59041 2000-04-05  Jim Meyering  <meyering@lucent.com>
59042
59043         Portability tweaks required for ultrix4.3.
59044         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
59045         getutent.
59046         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
59047         * lib/canon-host.c: Declare strdup.
59048         * lib/path-concat.c: Likewise.
59049         From John David Anglin.
59050
59051 2000-04-04  Jim Meyering  <meyering@lucent.com>
59052
59053         Be more DOS 8.3-friendly.
59054         * lib/ref-add.sin: Renamed from ref-add.sed.in.
59055         * lib/ref-del.sin: Renamed from ref-del.sed.in.
59056         * lib/Makefile.am: Reflect renaming.
59057         Reported by Eli Zaretskii.
59058
59059         Use a temporary file name that won't clash with `charset.alias'
59060         in the DOS 8.3 name space.
59061         * lib/Makefile.am (charset_tmp): Define.
59062         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
59063         (uninstall-local): Likewise.
59064         Reported by Eli Zaretskii.
59065
59066 2000-04-03  Jim Meyering  <meyering@lucent.com>
59067
59068         * m4/gettext.m4: Fix typo in comment.
59069
59070         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
59071         textutils/configure.in).  Suggestion from Paul Eggert.
59072         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
59073
59074 2000-04-02  Paul Eggert  <eggert@twinsun.com>
59075
59076         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
59077         variable in the shell rather than using putenv, which isn't
59078         portable.  This avoids the configure-time inter-test dependency
59079         on the potentially-renamed putenv function.
59080
59081 2000-03-30  Paul Eggert  <eggert@twinsun.com>
59082
59083         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
59084         before checking struct stat.st_blksize, so that
59085         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
59086
59087 2000-03-29  Paul Eggert  <eggert@twinsun.com>
59088
59089         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
59090         since strftime.c uses HAVE_STRFTIME to decide whether to use
59091         the underlying strftime.
59092
59093 2000-03-29  Paul Eggert  <eggert@twinsun.com>
59094
59095         * lib/time/strftime.c (my_strftime): Make sure we call the system
59096         strftime, not ourselves, when invoking the underlying strftime.
59097
59098 2000-03-24  Jim Meyering  <meyering@lucent.com>
59099
59100         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
59101         (charset_alias): Define.
59102         (install-exec-local): Factor out common code.
59103         (uninstall-local): Split lines longer than 80.
59104         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
59105         (SUFFIXES): Define.
59106         (.sed.in.sed): New rule.  Don't redirect directly to $@.
59107         (CLEANFILES): Add ref-add.sed and ref-del.sed.
59108
59109 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
59110
59111         * lib/config.charset: Output a line containing "Packages using this
59112         file".
59113         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
59114         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
59115         ref-del.sed): New rules.
59116
59117 2000-03-17  Jim Meyering  <meyering@lucent.com>
59118
59119         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
59120         Otherwise, include <strings.h>
59121
59122 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
59123
59124         * lib/unicodeio.c (utf8_wctomb): New function.
59125         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
59126         format instead of in UCS-4 with platform dependent endianness.
59127
59128 2000-03-10  Jim Meyering  <meyering@lucent.com>
59129
59130         * m4/lib-check.m4: Look for getspnam in -lgen, too.
59131         From Marco Franzen.
59132
59133 2000-03-07  Paul Eggert  <eggert@twinsun.com>
59134
59135         * lib/savedir.c (savedir): Work even if directory size is
59136         negative; this can happen with some screwy NFS configurations.
59137
59138 2000-03-06  Jim Meyering  <meyering@lucent.com>
59139
59140         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
59141         if it's NULL (because we ran out of memory).  From Bruno Haible.
59142
59143 2000-03-05  Jim Meyering  <meyering@lucent.com>
59144
59145         * lib/localcharset.c ("path-concat.h"): Include.
59146         (get_charset_aliases): Use path_concat instead of ANSI string
59147         concatenation.
59148
59149         * lib/unicodeio.h (PARAMS): Define.
59150         Use it to guard prototype.
59151
59152 2000-03-04  Jim Meyering  <meyering@lucent.com>
59153
59154         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
59155         for lib/localcharset.c.
59156
59157 2000-03-04  Jim Meyering  <meyering@lucent.com>
59158
59159         * lib/Makefile.am (install-exec-local): Create $(libdir) before
59160         installing into it.
59161         (uninstall-local): Uncomment this rule so `make distcheck' works
59162         once again.
59163
59164         * lib/unicodeio.c (<errno.h>): Include it.
59165         (errno): Declare if not defined.
59166
59167         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
59168
59169         * lib/config.charset: New version, incorporating remarks from a linux
59170         i18n mailing list.  From Bruno Haible.
59171
59172 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
59173
59174         * m4/codeset.m4: New file.
59175         * m4/iconv.m4: New file.
59176         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
59177
59178 2000-03-03  Jim Meyering  <meyering@lucent.com>
59179
59180         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
59181
59182 2000-03-02  Jim Meyering  <meyering@lucent.com>
59183
59184         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
59185         the messages come out on separate lines.
59186
59187         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
59188         rather than jm_CHECK_DECLARATIONS.
59189         * m4/decl.m4: Remove now-unused file.
59190
59191         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
59192         geteuid.
59193
59194 2000-03-02  Jim Meyering  <meyering@lucent.com>
59195
59196         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
59197
59198 2000-03-01  Jim Meyering  <meyering@lucent.com>
59199
59200         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
59201         * lib/unicodeio.c: Likewise.
59202
59203 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
59204
59205         * lib/config.charset: New file.
59206         * lib/localcharset.c: New file.
59207         * lib/unicodeio.h, lib/unicodeio.c: New files.
59208         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
59209         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
59210         (noinst_HEADERS): Add unicodeio.h.
59211         (all-local, install-exec-local, charset.alias): New targets.
59212
59213 2000-02-28  Paul Eggert  <eggert@twinsun.com>
59214
59215         * lib/quotearg.c (ALERT_CHAR): New macro.
59216         (quotearg_buffer_restyled): Use it.
59217
59218 2000-02-27  Jim Meyering  <meyering@lucent.com>
59219
59220         * m4/check-decl.m4: Add getenv to the list.
59221
59222 2000-02-27  Jim Meyering  <meyering@lucent.com>
59223
59224         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
59225         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
59226
59227         * lib/backupfile.c: Guard inclusion of stdlib.h with
59228         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
59229         Declare malloc if needed.
59230
59231         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
59232         `#ifndef HAVE_DECL..'
59233         now that autoconf always defines the HAVE_DECL_ symbols.
59234         * lib/human.c: Likewise.
59235         * lib/same.c: Likewise.
59236         * lib/strtoumax.c: Likewise.
59237
59238         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
59239         declaration check was not run.
59240         * lib/hash.c: Likewise.
59241         * lib/human.c: Likewise.
59242         * lib/same.c: Likewise.
59243         * lib/strtoumax.c: Likewise.
59244
59245         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
59246         `.', then first look up the entire `.'-containing string as a login
59247         name.
59248
59249 2000-02-23  Jim Meyering  <meyering@lucent.com>
59250
59251         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
59252         in place of my hack.
59253
59254 2000-02-18  Paul Eggert  <eggert@twinsun.com>
59255
59256         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
59257         (textint): New typedef.
59258         (parser_control): Member year changed from int to textint.
59259         All uses changed.
59260         (YYSTYPE): Removed; replaced by %union with int and textint members.
59261         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
59262         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
59263         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
59264         (tSNUMBER, tUNUMBER): Now of type <textintval>.
59265         (date, number, to_year): Use width of number in digits, not its value,
59266         to determine whether it's a 2-digit year, or a 2-digit time.
59267         (yylex): Store number of digits of numeric tokens.
59268         Reported by John Kendall.
59269
59270         (parser_control): Changed from struct parser_control to typedef (for
59271         consistency).  All uses changed.
59272
59273         (tID): Removed; not used.
59274         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
59275
59276 2000-02-14  Paul Eggert  <eggert@twinsun.com>
59277
59278         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
59279         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
59280
59281 2000-02-12  Jim Meyering  <meyering@lucent.com>
59282
59283         * lib/userspec.c (ISDIGIT): Define it.
59284         (isdigit): Remove definition.
59285         (is_number): Use ISDIGIT, not isdigit.
59286         <libintl.h>: Include.
59287         (_ and N_): Define.
59288         (parse_user_spec): Mark translatable strings.
59289
59290 2000-02-10  Jim Meyering  <meyering@lucent.com>
59291
59292         With these changes, nanosleep.[ch] are finally enough like the other
59293         lib/* replacement files to compile on a few more losing systems.
59294
59295         * lib/nanosleep.h: Don't include config.h.
59296         Remove prototype from declaration of nanosleep.
59297         (PARAMS): Remove now-unneeded definition.
59298         * lib/nanosleep.c: #undef nanosleep.
59299         (rpl_nanosleep): Rename from nanosleep.
59300
59301 2000-02-10  Jim Meyering  <meyering@lucent.com>
59302
59303         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
59304         gnu_nanosleep to rpl_nanosleep.
59305
59306 2000-02-09  Jim Meyering  <meyering@lucent.com>
59307
59308         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
59309         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
59310
59311 2000-02-08  Akim Demaille  <akim@epita.fr>
59312
59313         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
59314         `[' and `]' and remove uses of `changequote'.
59315         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
59316         (AC_SYS_LARGEFILE): Likewise.
59317         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
59318         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
59319         of changequote.
59320         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
59321         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
59322         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
59323         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
59324
59325 2000-02-05  Jim Meyering  <meyering@lucent.com>
59326
59327         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
59328         Remove explicit use of AC_HEADER_TIME.  It is required by
59329         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
59330         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
59331         in autoconf whereby the expansion of the latter ended up preceding
59332         the expansion of its prerequisite, AC_HEADER_TIME.
59333         Reported by Volker Borchert.
59334
59335 2000-02-03  Jim Meyering  <meyering@lucent.com>
59336
59337         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
59338
59339 2000-02-03  Jim Meyering  <meyering@lucent.com>
59340
59341         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
59342         rather than with `#if HAVE_UTMPNAME'.
59343
59344 2000-02-02  Jim Meyering  <meyering@lucent.com>
59345
59346         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
59347         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
59348         Reported by Eli Zaretskii.
59349
59350 2000-02-01  Jim Meyering  <meyering@lucent.com>
59351
59352         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
59353
59354 2000-01-31  Jim Meyering  <meyering@lucent.com>
59355
59356         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
59357         functions.  Add the time.h and sys/time.h headers along with the
59358         AC_REQUIRE'ment of AC_HEADER_TIME.
59359
59360 2000-01-31  Jim Meyering  <meyering@lucent.com>
59361
59362         * lib/nanosleep.h (nanosleep): Guard declaration with
59363         `#if ! HAVE_DECL_NANOSLEEP'.
59364         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
59365         the declaration in that vendor's sys/timers.h.
59366         Reported by Christian Krackowizer.
59367
59368         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
59369         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
59370         (ISPRINT): Likewise.
59371         Reported by Tom Tromey.
59372
59373 2000-01-30  Jim Meyering  <meyering@lucent.com>
59374
59375         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
59376
59377         * m4/prereq.m4 (utmp_includes): Define.
59378         Check for ut_user and ut_name members in both struct utmpx
59379         and struct utmp.
59380
59381 2000-01-30  Jim Meyering  <meyering@lucent.com>
59382
59383         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
59384         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
59385         header files where only utmpx.ut_user is declared.
59386
59387         * lib/readutmp.h (UT_USER): Define.
59388
59389 2000-01-29  Jim Meyering  <meyering@lucent.com>
59390
59391         * m4/lib-check.m4: New file containing library-related checks from
59392         fileutils and sh-utils (textutils had none).
59393
59394 2000-01-28  Jim Meyering  <meyering@lucent.com>
59395
59396         * m4/perl.m4: Change format of warning message to look more like that
59397         from the missing script.  Suggestion from François Pinard.
59398
59399 2000-01-25  Jim Meyering  <meyering@lucent.com>
59400
59401         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
59402         well as time.h in the compile check.
59403         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
59404         Fix typo in cross-compiling case: s/yes/no/.
59405
59406 2000-01-23  Jim Meyering  <meyering@lucent.com>
59407
59408         * m4/jm-macros.m4: Move df-related tests here from
59409         fileutils/configure.in
59410
59411         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
59412         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
59413
59414         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
59415         s/space/ac_fsusage_space/.
59416         (jm_FILE_SYSTEM_USAGE): Take two parameters.
59417
59418         * m4/ftruncate.m4: New file (derived from part of
59419         fileutils/configure.in).
59420         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
59421         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
59422
59423         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
59424         AC_SUBST these here, rather than just in sh-util/configure.in, so
59425         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
59426         all the same.
59427         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
59428         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
59429         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
59430         (AC_SUBST(POW_LIBM)): Likewise.
59431         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
59432
59433 2000-01-23  Jim Meyering  <meyering@lucent.com>
59434
59435         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
59436         obstack.c.
59437
59438 2000-01-22  Jim Meyering  <meyering@lucent.com>
59439
59440         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
59441
59442         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
59443
59444         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
59445         configure.in
59446         (AC_CHECK_HEADERS): Likewise for sh-utils.
59447         (AC_CHECK_HEADERS): Likewise for textutils.
59448         Merge the three lists of headers.
59449
59450         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
59451         from fileutils' configure.in.
59452
59453         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
59454         code. Moved tests into their own function (_jm_DECL_HEADERS) in
59455         check-decl.m4.
59456
59457         * m4/check-decl.m4: Use #if rather than #ifdef.
59458         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
59459         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
59460         (_jm_DECL_HEADERS): Define new function.
59461         (jm_CHECK_DECLARATIONS): Require it.
59462
59463 2000-01-22  Jim Meyering  <meyering@lucent.com>
59464
59465         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
59466         [! HAVE_DECL_STRTOULL]: Declare strtoull.
59467         Required for some AIX systems.  Reported by Christian Krackowizer.
59468         [TESTING] (main): New function.
59469
59470         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
59471         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
59472         letters.
59473
59474         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
59475         iswprint.
59476
59477         * lib/strverscmp.c (ISDIGIT): Define.
59478         (strverscmp): Use ISDIGIT, not isdigit.
59479
59480 2000-01-19  Jim Meyering  <meyering@lucent.com>
59481
59482         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
59483         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
59484         defines `struct timespec' in <sys/time.h>
59485
59486         * m4/c-bs-a.m4: Remove uses of changequote altogether.
59487         Thanks to Akim for explaining.
59488
59489 2000-01-17  Paul Eggert  <eggert@twinsun.com>
59490
59491         * lib/nanosleep.c (nanosleep):
59492         Don't use SA_INTERRUPT to decide whether to call sigaction, as
59493         POSIX.1 doesn't require SA_INTERRUPT and some systems
59494         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
59495         it's been part of POSIX.1 since day 1 (in 1988).
59496
59497 2000-01-17  Jim Meyering  <meyering@lucent.com>
59498
59499         * lib/interlock: Remove unused file.  Reported by François Pinard.
59500
59501 2000-01-16  Paul Eggert  <eggert@twinsun.com>
59502
59503         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
59504         alert, backslash, formfeed, and vertical tab unnecessarily in
59505         shell quoting style.
59506
59507 2000-01-16  Jim Meyering  <meyering@lucent.com>
59508
59509         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
59510         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
59511         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
59512         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
59513
59514 2000-01-16  Jim Meyering  <meyering@lucent.com>
59515
59516         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
59517         because the latter didn't work.
59518
59519 2000-01-15  Jim Meyering  <meyering@lucent.com>
59520
59521         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
59522         (AC_REPLACE_FUNCS): Add memcpy and memset.
59523         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
59524         Add strpbrk.
59525         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
59526
59527 2000-01-12  Jim Meyering  <meyering@lucent.com>
59528
59529         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
59530         (jm_PREREQ): Use it.
59531         (jm_PREREQ_READUTMP): New macro.
59532         (jm_PREREQ): Use it.
59533
59534 2000-01-11  Paul Eggert  <eggert@twinsun.com>
59535
59536         Quote multibyte characters correctly.
59537         * m4/c-bs-a.m4: New file.
59538         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
59539         (jm_PREREQ): Use it.
59540
59541 2000-01-11  Paul Eggert  <eggert@twinsun.com>
59542
59543         * m4/uintmax_t.m4: Port to autoconf 2.13.
59544
59545 2000-01-08  Jim Meyering  <meyering@ascend.com>
59546
59547         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
59548         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
59549
59550 2000-01-04  Jim Meyering  <meyering@ascend.com>
59551
59552         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
59553         jm_STRUCT_DIRENT_D_TYPE.
59554         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
59555         jm_STRUCT_DIRENT_D_INO.
59556         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
59557         jm_STRUCT_UTIMBUF.
59558         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
59559         renamings.
59560         * m4/utime.m4: Likewise.
59561
59562         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
59563         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
59564
59565 2000-01-03  Paul Eggert  <eggert@twinsun.com>
59566
59567         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
59568         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
59569
59570 2000-01-02  Jim Meyering  <meyering@ascend.com>
59571
59572         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
59573         remember if this is necessary.
59574
59575 1999-12-26  Jim Meyering  <meyering@ascend.com>
59576
59577         * m4/jm-macros.m4: Use it here.
59578         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
59579
59580 1999-12-23  Jim Meyering  <meyering@ascend.com>
59581
59582         * m4/jm-macros.m4: Check for clock_gettime (moved from
59583         fileutils/configure.in)
59584         Check for gettimeofday.
59585
59586 1999-12-20  Jim Meyering  <meyering@ascend.com>
59587
59588         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
59589         autoconf-2.14a-1999-12-20.
59590
59591 1999-12-19  Jim Meyering  <meyering@ascend.com>
59592
59593         * m4/lstat-slash.m4: New file.
59594         * m4/jm-macros.m4: Use the new macro:
59595         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
59596
59597 1999-12-07  Jim Meyering  <meyering@ascend.com>
59598
59599         * m4/perl.m4: Require that File::Compare be available, too.
59600         Too many systems seem to lack it.
59601
59602         * m4/strftime.m4: Add checks for most of the cpp macros tested in
59603         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
59604
59605 1999-11-18  Paul Eggert  <eggert@twinsun.com>
59606
59607         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
59608         problem with the QNX 4.25 shell, which doesn't propagate exit
59609         status of failed commands inside shell assignments.
59610
59611 1999-11-17  Jim Meyering  <meyering@ascend.com>
59612
59613         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
59614
59615 1999-11-07  Jim Meyering  <meyering@ascend.com>
59616
59617         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
59618
59619 1999-11-06  Jim Meyering  <meyering@ascend.com>
59620
59621         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
59622         * m4/jm-macros.m4 (jm_MACROS): Use it here.
59623
59624 1999-11-05  Jim Meyering  <meyering@ascend.com>
59625
59626         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
59627         configure.in of textutils, fileutils, and sh-utils into this one
59628         (shared between those packages) file.
59629         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
59630         AC_STRUCT_ST_BLKSIZE.
59631
59632 1999-11-03  Jim Meyering  <meyering@ascend.com>
59633
59634         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
59635         of AC_CHECK_TYPE checks includes unistd.h.
59636         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
59637         Suggestion from Akim Demaille.
59638
59639 1999-10-30  Jim Meyering  <meyering@ascend.com>
59640
59641         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
59642         m4-quoted string.
59643         * m4/ls-mntd-fs.m4: Likewise.
59644         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
59645         * m4/jm-winsz1.m4: Likewise.
59646
59647         * m4/const.m4: Remove file, since the fix made it into the experimental
59648         version of autoconf.
59649         * m4/mktime.m4: Likewise.
59650
59651         * m4/check-type.m4: Remove file, now that the latest version of
59652         AC_CHECK_TYPE takes a third arg to specify additional #includes.
59653
59654         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
59655         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
59656         AC_CHECK_TYPE.
59657
59658 1999-10-04  Jim Meyering  <meyering@ascend.com>
59659
59660         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
59661
59662 1999-09-22  Paul Eggert  <eggert@twinsun.com>
59663
59664         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
59665         2.95.1 bug with HP-UX 10.20.
59666
59667 1999-09-17  Jim Meyering  <meyering@ascend.com>
59668
59669         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
59670         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
59671         due to missing strdup (against sh-utils-2.0).
59672
59673 1999-08-29  Jim Meyering  <meyering@ascend.com>
59674
59675         * m4/jm-macros.m4: Require jm_BISON.
59676         * m4/bison.m4: New file.
59677
59678 1999-08-17  Paul Eggert  <eggert@twinsun.com>
59679
59680         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
59681         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
59682
59683 1999-08-05  Jim Meyering  <meyering@ascend.com>
59684
59685         * m4/getline.m4: Rename test file from conftestdata to conftest.data
59686         to avoid conflicts with `conftest' on 8+3 filesystems.
59687         Suggestion from Eli Zaretskii.
59688
59689 1999-08-04  Jim Meyering  <meyering@ascend.com>
59690
59691         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
59692         fileutils and sh-utils (textutils's getline test was inadequate).
59693         (AM_FUNC_GETLINE): Run this test.
59694         (AC_CHECK_FUNCS): Check for getdelim.
59695         Reported by Bob Proulx.
59696
59697 1999-08-02  Jim Meyering  <meyering@ascend.com>
59698
59699         * m4/jm-macros.m4: Add a comment.
59700
59701 1999-08-01  Paul Eggert  <eggert@twinsun.com>
59702
59703         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
59704         <inttypes.h> defines strtoumax as a macro (and not as a
59705         function).
59706
59707 1999-08-01  Paul Eggert  <eggert@twinsun.com>
59708
59709         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
59710         that we can shift, multiply and divide unsigned long long
59711         values; Ultrix cc can't do it.
59712
59713 1999-08-01  Paul Eggert  <eggert@twinsun.com>
59714
59715         * m4/mktime.m4: New file, which is a preview of what should appear
59716         in the next public autoconf release.
59717
59718 1999-08-01  Paul Eggert  <eggert@twinsun.com>
59719
59720         * m4/lfs.m4: Remove this file.
59721         * m4/largefile.m4: New file.  It contains the old contents of
59722         lfs.m4, except that all names with prefix AC_LFS have been
59723         changed to use the prefix AC_SYS_LARGEFILE instead, to be
59724         compatible with future autoconf versions.  Also, some minor m4
59725         quoting problems have been fixed.
59726
59727 1999-08-01  Paul Eggert  <eggert@twinsun.com>
59728
59729         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
59730         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
59731         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
59732         and simplify the shell code.
59733
59734 1999-08-01  Jim Meyering  <meyering@ascend.com>
59735
59736         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
59737         m4.
59738
59739 1999-07-20  Jim Meyering  <meyering@ascend.com>
59740
59741         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
59742
59743 1999-07-15  Jim Meyering  <meyering@ascend.com>
59744
59745         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
59746
59747 1999-05-22  Jim Meyering  <meyering@ascend.com>
59748
59749         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
59750
59751 1999-05-20  Jim Meyering  <meyering@ascend.com>
59752
59753         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
59754         Add a colon after each `then' in case $4 is empty.
59755
59756 1999-05-16  Jim Meyering  <meyering@ascend.com>
59757
59758         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
59759
59760 1999-05-10  Jim Meyering  <meyering@ascend.com>
59761
59762         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
59763
59764         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
59765         AC_FUNC_MKTIME.
59766
59767 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
59768
59769         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
59770
59771 1999-05-04  Paul Eggert  <eggert@twinsun.com>
59772
59773         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
59774         not CPPFLAGS, so that linking works correctly in IRIX.
59775
59776 1999-04-30  Paul Eggert  <eggert@twinsun.com>
59777
59778         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
59779
59780 1999-04-20  Paul Eggert  <eggert@twinsun.com>
59781
59782         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
59783         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
59784         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
59785         jm_AC_TYPE_UNSIGNED_LONG_LONG.
59786         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
59787
59788         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
59789
59790 1999-04-20  Jim Meyering  <meyering@ascend.com>
59791
59792         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
59793         AC_REPLACE xstroull if necessary.  From Paul Eggert.
59794         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
59795
59796 1999-04-18  Jim Meyering  <meyering@ascend.com>
59797
59798         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
59799         * m4/jm-macros.m4: Use it.
59800
59801 1999-04-06  Jim Meyering  <meyering@ascend.com>
59802
59803         * m4/strftime.m4: Remove test for %f.
59804
59805 1999-03-29  Jim Meyering  <meyering@ascend.com>
59806
59807         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
59808         superset of the AC_TYPE_* checks in the textutils, fileutils,
59809         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
59810         AC_TYPE_PID_T.
59811
59812 1999-03-28  Jim Meyering  <meyering@ascend.com>
59813
59814         * m4/jm-macros.m4: Define GNU_PACKAGE here.
59815         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
59816         replaced e.g., in the *.sh files of the sh-utils.
59817
59818 1999-03-20  Jim Meyering  <meyering@ascend.com>
59819
59820         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
59821         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
59822         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
59823
59824 1999-03-19  Jim Meyering  <meyering@ascend.com>
59825
59826         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
59827
59828 1999-03-12  Jim Meyering  <meyering@ascend.com>
59829
59830         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
59831
59832 1999-03-07  Jim Meyering  <meyering@ascend.com>
59833
59834         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
59835         declared.
59836
59837 1999-02-17  Jim Meyering  <meyering@ascend.com>
59838
59839         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
59840         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
59841
59842 1999-02-07  Jim Meyering  <meyering@ascend.com>
59843
59844         * m4/group-member.m4: New file -- extracted from sh-utils'
59845         configure.in.
59846
59847         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
59848         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
59849
59850 1999-02-06  Jim Meyering  <meyering@ascend.com>
59851
59852         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
59853         * m4/fnmatch.m4: Likewise.
59854         * m4/getgroups.m4: Likewise.
59855         * m4/lstat.m4: Likewise.
59856         * m4/malloc.m4: Likewise.
59857         * m4/putenv.m4: Likewise.
59858         * m4/realloc.m4: Likewise.
59859         * m4/regex.m4: Likewise.
59860         * m4/stat.m4: Likewise.
59861         * m4/strftime.m4: Likewise.
59862         Suggestion from Alain Magloire.
59863
59864         * m4/chown.m4: Use `.$ac_objext', not `.o'.
59865         * m4/fnmatch.m4: Likewise.
59866         * m4/getgroups.m4: Likewise.
59867         * m4/getline.m4: Likewise.
59868         * m4/lstat.m4: Likewise.
59869         * m4/malloc.m4: Likewise.
59870         * m4/memcmp.m4: Likewise.
59871         * m4/putenv.m4: Likewise.
59872         * m4/realloc.m4: Likewise.
59873         * m4/regex.m4: Likewise.
59874         * m4/stat.m4: Likewise.
59875         * m4/strftime.m4: Likewise.
59876         Suggestion from Alain Magloire.
59877
59878         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
59879         an argument.
59880
59881         * m4/regex.m4: Add a run-time Test for proper operation of
59882         re_compile_pattern.
59883
59884 1999-01-31  Jim Meyering  <meyering@ascend.com>
59885
59886         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
59887
59888 1999-01-30  Jim Meyering  <meyering@ascend.com>
59889
59890         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
59891
59892         * m4/jm-mktime.m4: Make this a wrapper around the official
59893         AM_FUNC_MKTIME rather than my private copy, now that the official one
59894         is up to date.
59895         * m4/mktime.m4: Remove file.
59896
59897         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
59898         * m4/uptime.m4: Likewise.
59899         * m4/uintmax_t.m4: Likewise.
59900
59901 1999-01-28  Jim Meyering  <meyering@ascend.com>
59902
59903         * m4/jm-macros.m4: Use jm_AFS.
59904         * m4/afs.m4: New file (from fileutils' configure.in).
59905
59906         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
59907         * m4/chown.m4: Likewise.
59908         * m4/d-ino.m4: Likewise.
59909         * m4/d-type.m4: Likewise.
59910         * m4/fnmatch.m4: Likewise.
59911         * m4/getgroups.m4: Likewise.
59912         * m4/gettext.m4: Likewise.
59913         * m4/jm-mktime.m4: Likewise.
59914         * m4/jm-winsz2.m4: Likewise.
59915         * m4/lcmessage.m4: Likewise.
59916         * m4/ls-mntd-fs.m4: Likewise.
59917         * m4/malloc.m4: Likewise.
59918         * m4/memcmp.m4: Likewise.
59919         * m4/putenv.m4: Likewise.
59920         * m4/realloc.m4: Likewise.
59921         * m4/st_mtim.m4: Likewise.
59922         * m4/strftime.m4: Likewise.
59923
59924 1999-01-16  Jim Meyering  <meyering@ascend.com>
59925
59926         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
59927         (ARGMATCH_DIE_DECL): Define.
59928
59929 1999-01-12  Jim Meyering  <meyering@ascend.com>
59930
59931         * m4/Makefile.am.in: Rewrite to avoid using fmt.
59932         Reported by Lars Hecking.
59933
59934 1999-01-10  Jim Meyering  <meyering@ascend.com>
59935
59936         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
59937         gross kludge.
59938         * m4/inttypes_h.m4: Likewise.
59939         * m4/lstat.m4: Likewise.
59940         * m4/malloc.m4: Likewise.
59941         * m4/readdir.m4: Likewise.
59942         * m4/realloc.m4: Likewise.
59943         * m4/st_dm_mode.m4: Likewise.
59944         * m4/stat.m4: Likewise.
59945         * m4/utimbuf.m4: Likewise.
59946         * m4/utimes.m4: Likewise.
59947
59948         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
59949         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
59950         comments in config.h.in are meaningful.
59951
59952         * m4/jm-macros.m4: Require autoconf-2.13 here.
59953
59954         * m4/regex.m4: By default, don't use the included regex.c on systems
59955         with glibc 2.  Suggestion from Uli Drepper.
59956
59957 1999-01-02  Jim Meyering  <meyering@ascend.com>
59958
59959         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
59960
59961 1998-12-18  Jim Meyering  <meyering@ascend.com>
59962
59963         * m4/Makefile.am.in (Makefile.am): Simplify rule.
59964         Based on a suggestion from Lars Hecking.
59965
59966 1998-11-16  Paul Eggert  <eggert@twinsun.com>
59967
59968         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
59969
59970 1998-11-16  Jim Meyering  <meyering@ascend.com>
59971
59972         * m4/lfs.m4: Double-quote the `uname...` expression.
59973
59974 1998-11-14  Jim Meyering  <meyering@ascend.com>
59975
59976         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
59977         * m4/stat.m4: Likewise.
59978
59979 1998-11-03  Jim Meyering  <meyering@ascend.com>
59980
59981         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
59982         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
59983
59984 1998-10-18  Jim Meyering  <meyering@ascend.com>
59985
59986         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
59987
59988 1998-10-17  Jim Meyering  <meyering@ascend.com>
59989
59990         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
59991         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
59992         calls for those previously hard-coded headers.  Instead, take a new
59993         parameter.
59994         (jm_CHECK_DECLARATIONS): Reflect interface change.
59995         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
59996         (jm_CHECK_DECL_LOCALTIME_R): New macro.
59997
59998         * m4/mktime.m4: Test for spring-forward gap before long-running test.
59999
60000 1998-10-14  Jim Meyering  <meyering@ascend.com>
60001
60002         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
60003         instead of "TZ=America/Vancouver".  From Paul Eggert.
60004
60005 1998-10-11  Jim Meyering  <meyering@ascend.com>
60006
60007         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
60008         This adds a test for a recently added compatibility fix for mktime.c.
60009         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
60010
60011 1998-09-27  Jim Meyering  <meyering@ascend.com>
60012
60013         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
60014
60015         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
60016         ../configure.in, including a change from Gordon Matzigkeit to allow
60017         cross-compiling for the Hurd.
60018
60019         * m4/glibc.m4: New file/macro to test for the GNU C Library
60020         versions 1 and 2.  From Gordon Matzigkeit.
60021         Indent.
60022
60023 1998-09-21  Jim Meyering  <meyering@ascend.com>
60024
60025         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
60026
60027 1998-08-18  Paul Eggert  <eggert@twinsun.com>
60028
60029         Port nanosecond-resolution times to UnixWare 2.1.2 and
60030         pedantic Solaris 2.6.
60031
60032         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
60033         AC_STRUCT_ST_MTIM.
60034         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
60035         Generate name of ns member, instead of just 1 or undef.
60036         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
60037
60038 1998-08-15  Jim Meyering  <meyering@ascend.com>
60039
60040         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
60041         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
60042         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
60043         instead of jm_TYPE_SSIZE_T.
60044
60045 1998-08-12  Jim Meyering  <meyering@ascend.com>
60046
60047         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
60048
60049 1998-08-02  Jim Meyering  <meyering@ascend.com>
60050
60051         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
60052         in acconfig.h manually.
60053
60054 1998-07-31  Paul Eggert  <eggert@twinsun.com>
60055
60056         * m4/st_mtim.m4: New file.
60057
60058 1998-07-28  Jim Meyering  <meyering@ascend.com>
60059
60060         * m4/utimes.m4: Undef stat.
60061
60062 1998-07-25  Jim Meyering  <meyering@ascend.com>
60063
60064         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
60065         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
60066
60067 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
60068
60069         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
60070         uid and gid actually remain unchanged.
60071
60072 1998-07-07  Jim Meyering  <meyering@ascend.com>
60073
60074         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
60075
60076 1998-07-04  Jim Meyering  <meyering@ascend.com>
60077
60078         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
60079         to prove that this macro can be used in packages without regex.c.
60080
60081 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
60082
60083         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
60084         is to be used.
60085
60086 1998-07-03  Jim Meyering  <meyering@ascend.com>
60087
60088         * m4/gettext.m4: Add -lintl if it's found to be necessary.
60089
60090         * m4/gettext.m4: New file -- from gettext-0.10.35.
60091         * m4/lcmessage.m4: Likewise.
60092         * m4/progtest.m4: Likewise.
60093
60094         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
60095         * m4/jm-macros.m4: Require the new macro.
60096
60097 1998-06-29  Jim Meyering  <meyering@ascend.com>
60098
60099         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
60100         for the definition of NGROUPS (used in a system header included
60101         by sys/mount.h).
60102
60103 1998-06-28  Jim Meyering  <meyering@ascend.com>
60104
60105         * m4/ls-mntd-fs.m4: New file.
60106         * m4/fstypename.m4: New file.
60107
60108         * m4/jm-macros.m4: Require the new macro.
60109         * m4/jm-glibc-io.m4: New file.
60110
60111 1998-05-19  Jim Meyering  <meyering@ascend.com>
60112
60113         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
60114         * m4/lchown.m4: New file.
60115
60116         * m4/Makefile.am.in: New file.
60117         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
60118
60119 1998-05-14  Jim Meyering  <meyering@ascend.com>
60120
60121         * m4/Makefile.am (EXTRA_DIST): Add them.
60122         * m4/jm-macros.m4: New file.
60123         * m4/utimbuf.m4: New file.
60124
60125 1998-05-12  Jim Meyering  <meyering@ascend.com>
60126
60127         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
60128
60129 1998-05-11  Jim Meyering  <meyering@ascend.com>
60130
60131         * m4/isc-posix.m4: New file.
60132
60133 1998-05-10  Jim Meyering  <meyering@ascend.com>
60134
60135         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
60136
60137 1998-05-09  Jim Meyering  <meyering@ascend.com>
60138
60139         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
60140         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
60141         with automake.
60142
60143         * m4/ssize_t.m4: New file.
60144         * m4/mktime.m4: Remove file -- the new automake has this now.
60145
60146 1998-04-26  Jim Meyering  <meyering@ascend.com>
60147
60148         * m4/assert.m4: New file.
60149         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
60150
60151 1998-04-05  Jim Meyering  <meyering@ascend.com>
60152
60153         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
60154         (jm_PREREQ): Use it here.
60155
60156 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
60157
60158         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
60159         in acconfig.h.
60160
60161 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
60162
60163         * m4/prereq.m4: New file.
60164         * m4/error.m4: New file.
60165         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
60166
60167 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
60168
60169         * m4/getline.m4: Don't set am_cv_func_working_getline before the
60170         cache-check for the same variable -- that defeated the purpose of
60171         the test; the test program was never run.  This was a problem only
60172         on systems with losing getline functions -- HP-UX 10.20 is one.
60173         Reported by Bjorn Helgaas.
60174
60175 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
60176
60177         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
60178
60179 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
60180
60181         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
60182
60183         * m4/const.m4: New file.  Use an initializer in this declaration
60184         typedef int charset[2]; const charset x;
60185         Reported by Bob Glickstein.
60186
60187 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
60188
60189         * m4/chown.m4: Fix reversed types on -1 args to chown.
60190         From Kaveh Ghazi.
60191
60192 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
60193
60194         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
60195         Add lseek and memchr.
60196
60197         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
60198         T.E.Dickey <dickey@clark.net> said that some older preprocessors
60199         have a 20-character limit on names.
60200
60201 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
60202
60203         * m4/inttypes_h.m4: New file.
60204         * m4/uintmax_t.m4: New file.
60205         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
60206
60207
60208         -----
60209
60210         Local Variables:
60211         coding: utf-8
60212         End:
60213
60214         Copyright (C) 1997-2009 Free Software Foundation, Inc.
60215
60216         Copying and distribution of this file, with or without
60217         modification, are permitted provided the copyright notice
60218         and this notice are preserved.