Fix compilation error on most platforms.
[gnulib.git] / ChangeLog
1 2009-12-30  Bruno Haible  <bruno@clisp.org>
2
3         Fix compilation error on most platforms.
4         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
5         Reported by Simon Josefsson <simon@josefsson.org>
6         and Nelson H. F. Beebe <beebe@math.utah.edu>.
7
8 2009-12-30  Eric Blake  <ebb9@byu.net>
9
10         futimens, utimensat: work around ntfs-3g bug
11         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
12         a ctime bug is present, and expand workaround to cover ntfs-3g.
13         * lib/utimens.c (fdutimens, lutimens): Likewise.
14         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
15         (validate_timespec): Adjust return value.
16         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
17         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
18         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
19
20 2009-12-29  Eric Blake  <ebb9@byu.net>
21
22         link-warning: make usage consistent
23         * modules/ctype (Depends-on): Add link-warning.
24         (Makefile.am): Update rules accordingly.
25         * modules/langinfo (Depends-on, Makefile.am): Likewise.
26         * modules/locale (Depends-on, Makefile.am): Likewise.
27         * modules/sys_file (Makefile.am): Likewise.
28         * modules/getopt-posix (Makefile.am): Delete unused link warning
29         efforts.
30         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
31         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
32         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
33         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
34
35         stdio: remove unused variables
36         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
37         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
38         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
39
40         tests: test more substitute headers
41         * modules/ctype-tests: New file.
42         * modules/dirent-tests: Likewise.
43         * modules/spawn-tests: Likewise.
44         * modules/sys_file-tests: Likewise.
45         * modules/sys_ioctl-tests: Likewise.
46         * modules/sys_wait-tests: Likewise.
47         * tests/test-ctype.c: Likewise.
48         * tests/test-dirent.c: Likewise.
49         * tests/test-spawn.c: Likewise.
50         * tests/test-sys_file.c: Likewise.
51         * tests/test-sys_ioctl.c: Likewise.
52         * tests/test-sys_wait.c: Likewise.
53         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
54         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
55         whether or not flock is in use.
56
57         tests: remove License section from module
58         * modules/arpa_inet-tests: Remove unneeded section.
59         * modules/byteswap-tests: Likewise.
60         * modules/ceilf-tests: Likewise.
61         * modules/ceill-tests: Likewise.
62         * modules/crypto/des-tests: Likewise.
63         * modules/crypto/gc-arcfour-tests: Likewise.
64         * modules/crypto/gc-arctwo-tests: Likewise.
65         * modules/crypto/gc-des-tests: Likewise.
66         * modules/crypto/gc-hmac-md5-tests: Likewise.
67         * modules/crypto/gc-hmac-sha1-tests: Likewise.
68         * modules/crypto/gc-md2-tests: Likewise.
69         * modules/crypto/gc-md4-tests: Likewise.
70         * modules/crypto/gc-md5-tests: Likewise.
71         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
72         * modules/crypto/gc-rijndael-tests: Likewise.
73         * modules/crypto/gc-sha1-tests: Likewise.
74         * modules/crypto/gc-tests: Likewise.
75         * modules/crypto/md2-tests: Likewise.
76         * modules/crypto/md4-tests: Likewise.
77         * modules/fcntl-h-tests: Likewise.
78         * modules/floorf-tests: Likewise.
79         * modules/floorl-tests: Likewise.
80         * modules/frexp-nolibm-tests: Likewise.
81         * modules/frexp-tests: Likewise.
82         * modules/frexpl-nolibm-tests: Likewise.
83         * modules/frexpl-tests: Likewise.
84         * modules/getaddrinfo-tests: Likewise.
85         * modules/inttypes-tests: Likewise.
86         * modules/isfinite-tests: Likewise.
87         * modules/isinf-tests: Likewise.
88         * modules/ldexpl-tests: Likewise.
89         * modules/locale-tests: Likewise.
90         * modules/math-tests: Likewise.
91         * modules/netdb-tests: Likewise.
92         * modules/netinet_in-tests: Likewise.
93         * modules/printf-frexp-tests: Likewise.
94         * modules/printf-frexpl-tests: Likewise.
95         * modules/priv-set-tests: Likewise.
96         * modules/random_r-tests: Likewise.
97         * modules/round-tests: Likewise.
98         * modules/roundf-tests: Likewise.
99         * modules/roundl-tests: Likewise.
100         * modules/search-tests: Likewise.
101         * modules/select-tests: Likewise.
102         * modules/signal-tests: Likewise.
103         * modules/stdbool-tests: Likewise.
104         * modules/stddef-tests: Likewise.
105         * modules/stdint-tests: Likewise.
106         * modules/stdio-tests: Likewise.
107         * modules/stdlib-tests: Likewise.
108         * modules/string-tests: Likewise.
109         * modules/strings-tests: Likewise.
110         * modules/sys_select-tests: Likewise.
111         * modules/sys_socket-tests: Likewise.
112         * modules/sys_stat-tests: Likewise.
113         * modules/sys_time-tests: Likewise.
114         * modules/sys_utsname-tests: Likewise.
115         * modules/sysexits-tests: Likewise.
116         * modules/time-tests: Likewise.
117         * modules/trunc-tests: Likewise.
118         * modules/truncf-tests: Likewise.
119         * modules/truncl-tests: Likewise.
120         * modules/tsearch-tests: Likewise.
121         * modules/unistd-tests: Likewise.
122         * modules/wchar-tests: Likewise.
123         * modules/wctype-tests: Likewise.
124
125         tests: fix license on several tests
126         * tests/test-des.c: Update to GPLv3+.
127         * tests/test-flock.c: Likewise.
128         * tests/test-fsync.c: Likewise.
129         * tests/test-futimens.h: Likewise.
130         * tests/test-gc-arcfour.c: Likewise.
131         * tests/test-gc-arctwo.c: Likewise.
132         * tests/test-gc-des.c: Likewise.
133         * tests/test-gc-hmac-md5.c: Likewise.
134         * tests/test-gc-hmac-sha1.c: Likewise.
135         * tests/test-gc-md2.c: Likewise.
136         * tests/test-gc-md4.c: Likewise.
137         * tests/test-gc-md5.c: Likewise.
138         * tests/test-gc-pbkdf2-sha1.c: Likewise.
139         * tests/test-gc-rijndael.c: Likewise.
140         * tests/test-gc-sha1.c: Likewise.
141         * tests/test-gc.c: Likewise.
142         * tests/test-getcwd.c: Likewise.
143         * tests/test-link.c: Likewise.
144         * tests/test-link.h: Likewise.
145         * tests/test-lutimens.h: Likewise.
146         * tests/test-md2.c: Likewise.
147         * tests/test-md4.c: Likewise.
148         * tests/test-mkdir.h: Likewise.
149         * tests/test-rename.c: Likewise.
150         * tests/test-rename.h: Likewise.
151         * tests/test-safe-alloc.c: Likewise.
152         * tests/test-utimens-common.h: Likewise.
153         * tests/test-utimens.h: Likewise.
154
155         maint: sync license texts
156         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
157         * doc/gpl-3.0.texi: Revert copyright year update.
158         * doc/lgpl-3.0.texi: Likewise.
159
160 2009-12-29  Jim Meyering  <meyering@redhat.com>
161
162         update nearly all FSF copyright year lists to include 2009
163         The files named by the following are exempted:
164             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
165               test -f "$dst" && { echo "$dst"; continue; }
166               test -d "$dst" || continue
167               echo "$dst"/$(basename "$src")
168             done > exempt
169             git ls-files tests/unictype >> exempt
170         In the remaining files, convert to all-interval notation if
171         - there is already at least one year interval like 2000-2003
172         - the file is maintained by me
173         - the file is in lib/uni*/, where that style already prevails
174         Otherwise, use update-copyright's default.
175
176 2009-12-29  Simon Josefsson  <simon@josefsson.org>
177         and Eric Blake  <ebb9@byu.net>
178
179         tests: don't require debug system() to pass
180         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
181         * tests/test-rmdir.h (test_rmdir_func): Likewise.
182         * tests/test-unlink.h (test_unlink_func): Likewise.
183         * tests/test-fstatat.c (main): ...into callers.
184         * tests/test-lstat.c (main): Likewise.
185         * tests/test-rmdir.c (main): Likewise.
186         * tests/test-unlink.c (main): Likewise.
187         * tests/test-unlinkat.c (main): Likewise.
188         * tests/test-areadlink-with-size.c (main): Don't require a
189         debug-only system call to pass, aiding cross-testing to mingw.
190         * tests/test-areadlink.c (main): Likewise.
191         * tests/test-areadlinkat-with-size.c (main): Likewise.
192         * tests/test-areadlinkat.c (main): Likewise.
193         * tests/test-canonicalize-lgpl.c (main): Likewise.
194         * tests/test-canonicalize.c (main): Likewise.
195         * tests/test-chown.c (main): Likewise.
196         * tests/test-fchownat.c (main): Likewise.
197         * tests/test-lchown.c (main): Likewise.
198         * tests/test-fdutimensat.c (main): Likewise.
199         * tests/test-futimens.c (main): Likewise.
200         * tests/test-link.c (main): Likewise.
201         * tests/test-linkat.c (main): Likewise.
202         * tests/test-mkdir.c (main): Likewise.
203         * tests/test-mkdirat.c (main): Likewise.
204         * tests/test-mkfifo.c (main): Likewise.
205         * tests/test-mkfifoat.c (main): Likewise.
206         * tests/test-mknod.c (main): Likewise.
207         * tests/test-readlink.c (main): Likewise.
208         * tests/test-remove.c (main): Likewise.
209         * tests/test-rename.c (main): Likewise.
210         * tests/test-renameat.c (main): Likewise.
211         * tests/test-symlink.c (main): Likewise.
212         * tests/test-symlinkat.c (main): Likewise.
213         * tests/test-utimens.c (main): Likewise.
214         * tests/test-utimensat.c (main): Likewise.
215
216 2009-12-29  Simon Josefsson  <simon@josefsson.org>
217
218         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
219         on $(UNUSED_PARAMETER_H) to avoid build failure.
220
221 2009-12-28  Jim Meyering  <meyering@redhat.com>
222
223         update-copyright: you may specify a max. line length other than 72
224         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
225
226         maint: use consistent FSF copyright line syntax
227         * lib/posixtm.c: Add missing comma in FSF copyright line.
228         * lib/posixtm.h: Likewise.
229         * lib/getugroups.c: Add missing ", Inc.".
230
231         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
232         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
233         FSF copyright line.  Remove trailing blanks.
234
235 2009-12-28  Eric Blake  <ebb9@byu.net>
236
237         test-dup2: reduce dependencies
238         * modules/cloexec (Configure.ac): Set witness.
239         * modules/dup2-tests (Depends-on): Drop cloexec.
240         * tests/test-dup2.c (main): Skip portion of test if cloexec module
241         not present.
242         Suggested by Bruno Haible.
243
244 2009-12-26  Bruno Haible  <bruno@clisp.org>
245
246         Remove an unneeded dependency.
247         * modules/fseterr (Depends-on): Remove dup2.
248
249 2009-12-26  Eric Blake  <ebb9@byu.net>
250
251         tests: use macros.h in more places
252         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
253         (ASSERT_STREAM): Provide default of stderr.
254         * tests/test-dirent-safer.c: Include macros.h, using alternate
255         stream for assertions.
256         * tests/test-dup-safer.c: Likewise.
257         * tests/test-freopen-safer.c: Likewise.
258         * tests/test-getopt.c: Likewise.
259         * tests/test-openat-safer.c: Likewise.
260         * tests/test-pipe.c: Likewise.
261         * tests/test-popen-safer.c: Likewise.
262         * modules/dirent-safer-tests (Files): Include macros.h.
263         * modules/unistd-safer-tests (Files): Likewise.
264         * modules/freopen-safer-tests (Files): Likewise.
265         * modules/getopt-posix-tests (Files): Likewise.
266         * modules/openat-safer-tests (Files): Likewise.
267         * modules/pipe-tests (Files): Likewise.
268
269 2009-12-26  Bruno Haible  <bruno@clisp.org>
270
271         javacomp: Portability fix.
272         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
273         that it also works on Solaris.
274
275 2009-12-26  Bruno Haible  <bruno@clisp.org>
276
277         localename: Fix storage allocation of gl_locale_name_thread's result.
278         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
279         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
280         all platforms that have 'uselocale'.
281         (gl_locale_name_thread_unsafe): New function, extracted from
282         gl_locale_name_thread.
283         (gl_locale_name_thread): Call struniq on all platforms that have
284         'uselocale'.
285         * tests/test-localename.c (test_locale_name_thread): Check that the
286         resulting strings are permanently allocated.
287         * modules/localename-tests (Depends-on): Add strdup.
288
289 2009-12-26  Bruno Haible  <bruno@clisp.org>
290
291         * tests/test-localename.c (categories): Fill in the strings.
292
293 2009-12-26  Jim Meyering  <meyering@redhat.com>
294
295         isdir: complete the removal of m4/isdir.m4
296         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
297
298         isdir: clean up, since at least grep still uses it
299         * lib/isdir.c: Include "isdir.h".
300         (S_ISDIR): Remove now-unneeded definition.
301         * modules/isdir (Files): Add lib/isdir.h.
302         * lib/isdir.h: New file, with declaration.
303         * m4/isdir.m4: Remove file -- unneeded.
304
305 2009-12-25  Bruno Haible  <bruno@clisp.org>
306
307         selinux-h: Make generated .h files standalone.
308         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
309         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
310         * lib/se-selinux.in.h: Likewise.
311         * modules/selinux-h (Depends-on): Add unused-parameter.
312         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
313         selinux/selinux.h and selinux/context.h.
314         Suggested by Eric Blake.
315
316 2009-12-25  Bruno Haible  <bruno@clisp.org>
317
318         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
319         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
320         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
321         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
322         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
323
324 2009-12-24  Bruno Haible  <bruno@clisp.org>
325
326         openat: Fix warning.
327         * lib/openat-proc.c: Include <unistd.h>.
328
329 2009-12-24  Bruno Haible  <bruno@clisp.org>
330
331         New module 'unused-parameter'.
332         * build-aux/unused-parameter.h: New file, extracted from earlier
333         gnulib-common.m4.
334         * modules/unused-parameter: New file.
335         * lib/unistr.h: Include unused-parameter.h.
336         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
337         _GL_UNUSED.
338         * modules/unistr/base (Depends-on): Add unused-parameter.
339
340 2009-12-24  Bruno Haible  <bruno@clisp.org>
341
342         Add missing dependencies to 'extensions' module.
343         * m4/extensions.m4: Add comment.
344         * modules/accept4 (Depends-on): Add extensions.
345         * modules/dup3 (Depends-on): Likewise.
346         * modules/fcntl (Depends-on): Likewise.
347         * modules/futimens (Depends-on): Likewise.
348         * modules/mknod (Depends-on): Likewise.
349         * modules/pipe2 (Depends-on): Likewise.
350         * modules/stat-time (Depends-on): Likewise.
351         * modules/strcasestr-simple (Depends-on): Likewise.
352         * modules/strsignal (Depends-on): Likewise.
353         * modules/utimensat (Depends-on): Likewise.
354         * modules/localcharset (Depends-on): Likewise. Needed because of
355         gl_FCNTL_O_FLAGS.
356         * modules/wcrtomb (Depends-on): Likewise. Needed because of
357         AC_TYPE_MBSTATE_T.
358         * modules/wcsnrtombs (Depends-on): Likewise.
359         * modules/wcsrtombs (Depends-on): Likewise.
360
361 2009-12-24  Bruno Haible  <bruno@clisp.org>
362
363         binary-io: Avoid gcc warning due to SET_BINARY.
364         * lib/binary-io.h (SET_BINARY): Cast the result to void.
365         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
366
367 2009-12-24  Bruno Haible  <bruno@clisp.org>
368
369         Avoid future namespace pollution on glibc systems.
370         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
371         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
372         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
373         glibc systems.
374
375 2009-12-24  Bruno Haible  <bruno@clisp.org>
376
377         Refactor common macros used in tests.
378         * tests/macros.h: New file.
379         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
380         and/or <stdlib.h>, if appropriate.
381         (ASSERT, SIZEOF): Remove macros.
382         * tests/test-areadlink-with-size.c: Likewise.
383         * tests/test-areadlinkat.c: Likewise.
384         * tests/test-areadlinkat-with-size.c: Likewise.
385         * tests/test-argmatch.c: Likewise.
386         * tests/test-argv-iter.c: Likewise.
387         * tests/test-array-mergesort.c: Likewise.
388         * tests/test-array_list.c: Likewise.
389         * tests/test-array_oset.c: Likewise.
390         * tests/test-avltree_list.c: Likewise.
391         * tests/test-avltree_oset.c: Likewise.
392         * tests/test-avltreehash_list.c: Likewise.
393         * tests/test-base64.c: Likewise.
394         * tests/test-binary-io.c: Likewise.
395         * tests/test-bitrotate.c: Likewise.
396         * tests/test-btowc.c: Likewise.
397         * tests/test-byteswap.c: Likewise.
398         * tests/test-c-ctype.c: Likewise.
399         * tests/test-c-stack.c: Likewise.
400         * tests/test-c-strcasecmp.c: Likewise.
401         * tests/test-c-strcasestr.c: Likewise.
402         * tests/test-c-strncasecmp.c: Likewise.
403         * tests/test-c-strstr.c: Likewise.
404         * tests/test-canonicalize-lgpl.c: Likewise.
405         * tests/test-canonicalize.c: Likewise.
406         * tests/test-carray_list.c: Likewise.
407         * tests/test-ceilf1.c: Likewise.
408         * tests/test-ceilf2.c: Likewise.
409         * tests/test-ceill.c: Likewise.
410         * tests/test-chown.c: Likewise.
411         * tests/test-cloexec.c: Likewise.
412         * tests/test-copy-acl.c: Likewise.
413         * tests/test-copy-file.c: Likewise.
414         * tests/test-count-one-bits.c: Likewise.
415         * tests/test-dprintf-posix.c: Likewise.
416         * tests/test-dup2.c: Likewise.
417         * tests/test-dup3.c: Likewise.
418         * tests/test-duplocale.c: Likewise.
419         * tests/test-fbufmode.c: Likewise.
420         * tests/test-fchdir.c: Likewise.
421         * tests/test-fchownat.c: Likewise.
422         * tests/test-fcntl-safer.c: Likewise.
423         * tests/test-fcntl.c: Likewise.
424         * tests/test-fdopendir.c: Likewise.
425         * tests/test-fdutimensat.c: Likewise.
426         * tests/test-fflush2.c: Likewise.
427         * tests/test-file-has-acl.c: Likewise.
428         * tests/test-filevercmp.c: Likewise.
429         * tests/test-flock.c: Likewise.
430         * tests/test-floorf1.c: Likewise.
431         * tests/test-floorf2.c: Likewise.
432         * tests/test-floorl.c: Likewise.
433         * tests/test-fnmatch.c: Likewise.
434         * tests/test-fopen.h: Likewise.
435         * tests/test-fpending.c: Likewise.
436         * tests/test-fprintf-posix.c: Likewise.
437         * tests/test-fpurge.c: Likewise.
438         * tests/test-freadable.c: Likewise.
439         * tests/test-freadahead.c: Likewise.
440         * tests/test-freading.c: Likewise.
441         * tests/test-freadptr.c: Likewise.
442         * tests/test-freadptr2.c: Likewise.
443         * tests/test-freadseek.c: Likewise.
444         * tests/test-freopen.c: Likewise.
445         * tests/test-frexp.c: Likewise.
446         * tests/test-frexpl.c: Likewise.
447         * tests/test-fseek.c: Likewise.
448         * tests/test-fseeko.c: Likewise.
449         * tests/test-fstatat.c: Likewise.
450         * tests/test-fstrcmp.c: Likewise.
451         * tests/test-fsync.c: Likewise.
452         * tests/test-ftell.c: Likewise.
453         * tests/test-ftello.c: Likewise.
454         * tests/test-func.c: Likewise.
455         * tests/test-futimens.c: Likewise.
456         * tests/test-fwritable.c: Likewise.
457         * tests/test-fwriting.c: Likewise.
458         * tests/test-getcwd.c: Likewise.
459         * tests/test-getdate.c: Likewise.
460         * tests/test-getdelim.c: Likewise.
461         * tests/test-getdtablesize.c: Likewise.
462         * tests/test-getgroups.c: Likewise.
463         * tests/test-getline.c: Likewise.
464         * tests/test-getndelim2.c: Likewise.
465         * tests/test-glob.c: Likewise.
466         * tests/test-hash.c: Likewise.
467         * tests/test-i-ring.c: Likewise.
468         * tests/test-iconv-utf.c: Likewise.
469         * tests/test-iconv.c: Likewise.
470         * tests/test-idpriv-drop.c: Likewise.
471         * tests/test-idpriv-droptemp.c: Likewise.
472         * tests/test-inet_ntop.c: Likewise.
473         * tests/test-inet_pton.c: Likewise.
474         * tests/test-isblank.c: Likewise.
475         * tests/test-isfinite.c: Likewise.
476         * tests/test-isinf.c: Likewise.
477         * tests/test-isnan.c: Likewise.
478         * tests/test-isnand.h: Likewise.
479         * tests/test-isnanf.h: Likewise.
480         * tests/test-isnanl.h: Likewise.
481         * tests/test-lchown.c: Likewise.
482         * tests/test-ldexpl.c: Likewise.
483         * tests/test-link.c: Likewise.
484         * tests/test-linkat.c: Likewise.
485         * tests/test-linked_list.c: Likewise.
486         * tests/test-linkedhash_list.c: Likewise.
487         * tests/test-localename.c: Likewise.
488         * tests/test-lseek.c: Likewise.
489         * tests/test-lstat.c: Likewise.
490         * tests/test-mbmemcasecmp.c: Likewise.
491         * tests/test-mbmemcasecoll.c: Likewise.
492         * tests/test-mbrtowc.c: Likewise.
493         * tests/test-mbscasecmp.c: Likewise.
494         * tests/test-mbscasestr1.c: Likewise.
495         * tests/test-mbscasestr2.c: Likewise.
496         * tests/test-mbscasestr3.c: Likewise.
497         * tests/test-mbscasestr4.c: Likewise.
498         * tests/test-mbschr.c: Likewise.
499         * tests/test-mbscspn.c: Likewise.
500         * tests/test-mbsinit.c: Likewise.
501         * tests/test-mbsncasecmp.c: Likewise.
502         * tests/test-mbsnrtowcs.c: Likewise.
503         * tests/test-mbspbrk.c: Likewise.
504         * tests/test-mbspcasecmp.c: Likewise.
505         * tests/test-mbsrchr.c: Likewise.
506         * tests/test-mbsrtowcs.c: Likewise.
507         * tests/test-mbsspn.c: Likewise.
508         * tests/test-mbsstr1.c: Likewise.
509         * tests/test-mbsstr2.c: Likewise.
510         * tests/test-mbsstr3.c: Likewise.
511         * tests/test-memchr.c: Likewise.
512         * tests/test-memchr2.c: Likewise.
513         * tests/test-memcmp.c: Likewise.
514         * tests/test-memmem.c: Likewise.
515         * tests/test-memrchr.c: Likewise.
516         * tests/test-mkdir.c: Likewise.
517         * tests/test-mkdirat.c: Likewise.
518         * tests/test-mkfifo.c: Likewise.
519         * tests/test-mkfifoat.c: Likewise.
520         * tests/test-mknod.c: Likewise.
521         * tests/test-nanosleep.c: Likewise.
522         * tests/test-nl_langinfo.c: Likewise.
523         * tests/test-obstack-printf.c: Likewise.
524         * tests/test-open.c: Likewise.
525         * tests/test-openat.c: Likewise.
526         * tests/test-pipe-filter-gi1.c: Likewise.
527         * tests/test-pipe-filter-gi2-main.c: Likewise.
528         * tests/test-pipe-filter-ii1.c: Likewise.
529         * tests/test-pipe-filter-ii2-main.c: Likewise.
530         * tests/test-pipe2.c: Likewise.
531         * tests/test-popen.h: Likewise.
532         * tests/test-posixtm.c: Likewise.
533         * tests/test-pread.c: Likewise.
534         * tests/test-printf-frexp.c: Likewise.
535         * tests/test-printf-frexpl.c: Likewise.
536         * tests/test-printf-posix.c: Likewise.
537         * tests/test-priv-set.c: Likewise.
538         * tests/test-quotearg.c: Likewise.
539         * tests/test-random_r.c: Likewise.
540         * tests/test-rawmemchr.c: Likewise.
541         * tests/test-rbtree_list.c: Likewise.
542         * tests/test-rbtree_oset.c: Likewise.
543         * tests/test-rbtreehash_list.c: Likewise.
544         * tests/test-readlink.c: Likewise.
545         * tests/test-remove.c: Likewise.
546         * tests/test-rename.c: Likewise.
547         * tests/test-renameat.c: Likewise.
548         * tests/test-rmdir.c: Likewise.
549         * tests/test-round1.c: Likewise.
550         * tests/test-roundf1.c: Likewise.
551         * tests/test-roundl.c: Likewise.
552         * tests/test-safe-alloc.c: Likewise.
553         * tests/test-sameacls.c: Likewise.
554         * tests/test-set-mode-acl.c: Likewise.
555         * tests/test-setenv.c: Likewise.
556         * tests/test-sigaction.c: Likewise.
557         * tests/test-signbit.c: Likewise.
558         * tests/test-sleep.c: Likewise.
559         * tests/test-snprintf-posix.c: Likewise.
560         * tests/test-snprintf.c: Likewise.
561         * tests/test-sprintf-posix.c: Likewise.
562         * tests/test-stat-time.c: Likewise.
563         * tests/test-stat.c: Likewise.
564         * tests/test-strcasestr.c: Likewise.
565         * tests/test-strchrnul.c: Likewise.
566         * tests/test-strerror.c: Likewise.
567         * tests/test-striconv.c: Likewise.
568         * tests/test-striconveh.c: Likewise.
569         * tests/test-striconveha.c: Likewise.
570         * tests/test-strsignal.c: Likewise.
571         * tests/test-strstr.c: Likewise.
572         * tests/test-strtod.c: Likewise.
573         * tests/test-strverscmp.c: Likewise.
574         * tests/test-symlink.c: Likewise.
575         * tests/test-symlinkat.c: Likewise.
576         * tests/test-trunc1.c: Likewise.
577         * tests/test-trunc2.c: Likewise.
578         * tests/test-truncf1.c: Likewise.
579         * tests/test-truncf2.c: Likewise.
580         * tests/test-truncl.c: Likewise.
581         * tests/test-uname.c: Likewise.
582         * tests/test-unlink.c: Likewise.
583         * tests/test-unlinkat.c: Likewise.
584         * tests/test-unsetenv.c: Likewise.
585         * tests/test-usleep.c: Likewise.
586         * tests/test-utimens.c: Likewise.
587         * tests/test-utimensat.c: Likewise.
588         * tests/test-vasnprintf-posix.c: Likewise.
589         * tests/test-vasnprintf-posix2.c: Likewise.
590         * tests/test-vasnprintf.c: Likewise.
591         * tests/test-vasprintf-posix.c: Likewise.
592         * tests/test-vasprintf.c: Likewise.
593         * tests/test-vdprintf-posix.c: Likewise.
594         * tests/test-vfprintf-posix.c: Likewise.
595         * tests/test-vprintf-posix.c: Likewise.
596         * tests/test-vsnprintf-posix.c: Likewise.
597         * tests/test-vsnprintf.c: Likewise.
598         * tests/test-vsprintf-posix.c: Likewise.
599         * tests/test-wcrtomb.c: Likewise.
600         * tests/test-wcsnrtombs.c: Likewise.
601         * tests/test-wcsrtombs.c: Likewise.
602         * tests/test-wctype.c: Likewise.
603         * tests/test-wcwidth.c: Likewise.
604         * tests/test-xfprintf-posix.c: Likewise.
605         * tests/test-xmemdup0.c: Likewise.
606         * tests/test-xprintf-posix.c: Likewise.
607         * tests/test-xvasprintf.c: Likewise.
608         * tests/unicase/test-locale-language.c: Likewise.
609         * tests/unicase/test-mapping-part1.h: Likewise.
610         * tests/unicase/test-predicate-part1.h: Likewise.
611         * tests/unicase/test-u8-casecmp.c: Likewise.
612         * tests/unicase/test-u8-casecoll.c: Likewise.
613         * tests/unicase/test-u8-casefold.c: Likewise.
614         * tests/unicase/test-u8-is-cased.c: Likewise.
615         * tests/unicase/test-u8-is-casefolded.c: Likewise.
616         * tests/unicase/test-u8-is-lowercase.c: Likewise.
617         * tests/unicase/test-u8-is-titlecase.c: Likewise.
618         * tests/unicase/test-u8-is-uppercase.c: Likewise.
619         * tests/unicase/test-u8-tolower.c: Likewise.
620         * tests/unicase/test-u8-totitle.c: Likewise.
621         * tests/unicase/test-u8-toupper.c: Likewise.
622         * tests/unicase/test-u16-casecmp.c: Likewise.
623         * tests/unicase/test-u16-casecoll.c: Likewise.
624         * tests/unicase/test-u16-casefold.c: Likewise.
625         * tests/unicase/test-u16-is-cased.c: Likewise.
626         * tests/unicase/test-u16-is-casefolded.c: Likewise.
627         * tests/unicase/test-u16-is-lowercase.c: Likewise.
628         * tests/unicase/test-u16-is-titlecase.c: Likewise.
629         * tests/unicase/test-u16-is-uppercase.c: Likewise.
630         * tests/unicase/test-u16-tolower.c: Likewise.
631         * tests/unicase/test-u16-totitle.c: Likewise.
632         * tests/unicase/test-u16-toupper.c: Likewise.
633         * tests/unicase/test-u32-casecmp.c: Likewise.
634         * tests/unicase/test-u32-casecoll.c: Likewise.
635         * tests/unicase/test-u32-casefold.c: Likewise.
636         * tests/unicase/test-u32-is-cased.c: Likewise.
637         * tests/unicase/test-u32-is-casefolded.c: Likewise.
638         * tests/unicase/test-u32-is-lowercase.c: Likewise.
639         * tests/unicase/test-u32-is-titlecase.c: Likewise.
640         * tests/unicase/test-u32-is-uppercase.c: Likewise.
641         * tests/unicase/test-u32-tolower.c: Likewise.
642         * tests/unicase/test-u32-totitle.c: Likewise.
643         * tests/unicase/test-u32-toupper.c: Likewise.
644         * tests/unicase/test-ulc-casecmp.c: Likewise.
645         * tests/unicase/test-ulc-casecoll.c: Likewise.
646         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
647         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
648         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
649         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
650         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
651         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
652         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
653         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
654         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
655         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
656         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
657         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
658         * tests/unictype/test-bidi_byname.c: Likewise.
659         * tests/unictype/test-bidi_name.c: Likewise.
660         * tests/unictype/test-bidi_of.c: Likewise.
661         * tests/unictype/test-bidi_test.c: Likewise.
662         * tests/unictype/test-block_list.c: Likewise.
663         * tests/unictype/test-block_of.c: Likewise.
664         * tests/unictype/test-block_test.c: Likewise.
665         * tests/unictype/test-categ_and.c: Likewise.
666         * tests/unictype/test-categ_and_not.c: Likewise.
667         * tests/unictype/test-categ_byname.c: Likewise.
668         * tests/unictype/test-categ_name.c: Likewise.
669         * tests/unictype/test-categ_none.c: Likewise.
670         * tests/unictype/test-categ_of.c: Likewise.
671         * tests/unictype/test-categ_or.c: Likewise.
672         * tests/unictype/test-categ_test_withtable.c: Likewise.
673         * tests/unictype/test-combining.c: Likewise.
674         * tests/unictype/test-decdigit.c: Likewise.
675         * tests/unictype/test-digit.c: Likewise.
676         * tests/unictype/test-mirror.c: Likewise.
677         * tests/unictype/test-numeric.c: Likewise.
678         * tests/unictype/test-pr_byname.c: Likewise.
679         * tests/unictype/test-pr_test.c: Likewise.
680         * tests/unictype/test-predicate-part1.h: Likewise.
681         * tests/unictype/test-scripts.c: Likewise.
682         * tests/unictype/test-sy_c_ident.c: Likewise.
683         * tests/unictype/test-sy_java_ident.c: Likewise.
684         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
685         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
686         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
687         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
688         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
689         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
690         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
691         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
692         * tests/uninorm/test-canonical-decomposition.c: Likewise.
693         * tests/uninorm/test-compat-decomposition.c: Likewise.
694         * tests/uninorm/test-composition.c: Likewise.
695         * tests/uninorm/test-decomposing-form.c: Likewise.
696         * tests/uninorm/test-decomposition.c: Likewise.
697         * tests/uninorm/test-u8-nfc.c: Likewise.
698         * tests/uninorm/test-u8-nfd.c: Likewise.
699         * tests/uninorm/test-u8-nfkc.c: Likewise.
700         * tests/uninorm/test-u8-nfkd.c: Likewise.
701         * tests/uninorm/test-u8-normcmp.c: Likewise.
702         * tests/uninorm/test-u8-normcoll.c: Likewise.
703         * tests/uninorm/test-u16-nfc.c: Likewise.
704         * tests/uninorm/test-u16-nfd.c: Likewise.
705         * tests/uninorm/test-u16-nfkc.c: Likewise.
706         * tests/uninorm/test-u16-nfkd.c: Likewise.
707         * tests/uninorm/test-u16-normcmp.c: Likewise.
708         * tests/uninorm/test-u16-normcoll.c: Likewise.
709         * tests/uninorm/test-u32-nfc.c: Likewise.
710         * tests/uninorm/test-u32-nfd.c: Likewise.
711         * tests/uninorm/test-u32-nfkc.c: Likewise.
712         * tests/uninorm/test-u32-nfkd.c: Likewise.
713         * tests/uninorm/test-u32-normalize-big.c: Likewise.
714         * tests/uninorm/test-u32-normcmp.c: Likewise.
715         * tests/uninorm/test-u32-normcoll.c: Likewise.
716         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
717         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
718         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
719         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
720         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
721         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
722         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
723         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
724         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
725         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
726         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
727         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
728         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
729         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
730         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
731         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
732         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
733         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
734         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
735         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
736         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
737         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
738         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
739         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
740         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
741         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
742         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
743         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
744         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
745         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
746         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
747         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
748         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
749         * tests/uniwidth/test-u8-strwidth.c: Likewise.
750         * tests/uniwidth/test-u8-width.c: Likewise.
751         * tests/uniwidth/test-u16-strwidth.c: Likewise.
752         * tests/uniwidth/test-u16-width.c: Likewise.
753         * tests/uniwidth/test-u32-strwidth.c: Likewise.
754         * tests/uniwidth/test-u32-width.c: Likewise.
755         * tests/uniwidth/test-uc_width.c: Likewise.
756         * tests/uniwidth/test-uc_width2.c: Likewise.
757         * modules/acl-tests (Files): Add tests/macros.h.
758         * modules/areadlink-tests (Files): Likewise.
759         * modules/areadlink-with-size-tests (Files): Likewise.
760         * modules/areadlinkat-tests (Files): Likewise.
761         * modules/areadlinkat-with-size-tests (Files): Likewise.
762         * modules/argmatch-tests (Files): Likewise.
763         * modules/argv-iter-tests (Files): Likewise.
764         * modules/array-list-tests (Files): Likewise.
765         * modules/array-mergesort-tests (Files): Likewise.
766         * modules/array-oset-tests (Files): Likewise.
767         * modules/avltree-list-tests (Files): Likewise.
768         * modules/avltree-oset-tests (Files): Likewise.
769         * modules/avltreehash-list-tests (Files): Likewise.
770         * modules/base64-tests (Files): Likewise.
771         * modules/binary-io-tests (Files): Likewise.
772         * modules/bitrotate-tests (Files): Likewise.
773         * modules/btowc-tests (Files): Likewise.
774         * modules/byteswap-tests (Files): Likewise.
775         * modules/c-ctype-tests (Files): Likewise.
776         * modules/c-stack-tests (Files): Likewise.
777         * modules/c-strcase-tests (Files): Likewise.
778         * modules/c-strcasestr-tests (Files): Likewise.
779         * modules/c-strstr-tests (Files): Likewise.
780         * modules/canonicalize-lgpl-tests (Files): Likewise.
781         * modules/canonicalize-tests (Files): Likewise.
782         * modules/carray-list-tests (Files): Likewise.
783         * modules/ceilf-tests (Files): Likewise.
784         * modules/ceill-tests (Files): Likewise.
785         * modules/chown-tests (Files): Likewise.
786         * modules/cloexec-tests (Files): Likewise.
787         * modules/copy-file-tests (Files): Likewise.
788         * modules/count-one-bits-tests (Files): Likewise.
789         * modules/dprintf-posix-tests (Files): Likewise.
790         * modules/dup2-tests (Files): Likewise.
791         * modules/dup3-tests (Files): Likewise.
792         * modules/duplocale-tests (Files): Likewise.
793         * modules/fbufmode-tests (Files): Likewise.
794         * modules/fchdir-tests (Files): Likewise.
795         * modules/fcntl-safer-tests (Files): Likewise.
796         * modules/fcntl-tests (Files): Likewise.
797         * modules/fdopendir-tests (Files): Likewise.
798         * modules/fdutimensat-tests (Files): Likewise.
799         * modules/fflush-tests (Files): Likewise.
800         * modules/filevercmp-tests (Files): Likewise.
801         * modules/flock-tests (Files): Likewise.
802         * modules/floorf-tests (Files): Likewise.
803         * modules/floorl-tests (Files): Likewise.
804         * modules/fnmatch-tests (Files): Likewise.
805         * modules/fopen-safer-tests (Files): Likewise.
806         * modules/fopen-tests (Files): Likewise.
807         * modules/fpending-tests (Files): Likewise.
808         * modules/fprintf-posix-tests (Files): Likewise.
809         * modules/fpurge-tests (Files): Likewise.
810         * modules/freadable-tests (Files): Likewise.
811         * modules/freadahead-tests (Files): Likewise.
812         * modules/freading-tests (Files): Likewise.
813         * modules/freadptr-tests (Files): Likewise.
814         * modules/freadseek-tests (Files): Likewise.
815         * modules/freopen-tests (Files): Likewise.
816         * modules/frexp-nolibm-tests (Files): Likewise.
817         * modules/frexp-tests (Files): Likewise.
818         * modules/frexpl-nolibm-tests (Files): Likewise.
819         * modules/frexpl-tests (Files): Likewise.
820         * modules/fseek-tests (Files): Likewise.
821         * modules/fseeko-tests (Files): Likewise.
822         * modules/fstrcmp-tests (Files): Likewise.
823         * modules/fsync-tests (Files): Likewise.
824         * modules/ftell-tests (Files): Likewise.
825         * modules/ftello-tests (Files): Likewise.
826         * modules/func-tests (Files): Likewise.
827         * modules/futimens-tests (Files): Likewise.
828         * modules/fwritable-tests (Files): Likewise.
829         * modules/fwriting-tests (Files): Likewise.
830         * modules/getcwd-tests (Files): Likewise.
831         * modules/getdate-tests (Files): Likewise.
832         * modules/getdelim-tests (Files): Likewise.
833         * modules/getdtablesize-tests (Files): Likewise.
834         * modules/getgroups-tests (Files): Likewise.
835         * modules/getline-tests (Files): Likewise.
836         * modules/getndelim2-tests (Files): Likewise.
837         * modules/glob-tests (Files): Likewise.
838         * modules/hash-tests (Files): Likewise.
839         * modules/i-ring-tests (Files): Likewise.
840         * modules/iconv-tests (Files): Likewise.
841         * modules/iconv_open-utf-tests (Files): Likewise.
842         * modules/idpriv-drop-tests (Files): Likewise.
843         * modules/idpriv-droptemp-tests (Files): Likewise.
844         * modules/inet_ntop-tests (Files): Likewise.
845         * modules/inet_pton-tests (Files): Likewise.
846         * modules/isblank-tests (Files): Likewise.
847         * modules/isfinite-tests (Files): Likewise.
848         * modules/isinf-tests (Files): Likewise.
849         * modules/isnan-tests (Files): Likewise.
850         * modules/isnand-nolibm-tests (Files): Likewise.
851         * modules/isnand-tests (Files): Likewise.
852         * modules/isnanf-nolibm-tests (Files): Likewise.
853         * modules/isnanf-tests (Files): Likewise.
854         * modules/isnanl-nolibm-tests (Files): Likewise.
855         * modules/isnanl-tests (Files): Likewise.
856         * modules/lchown-tests (Files): Likewise.
857         * modules/ldexpl-tests (Files): Likewise.
858         * modules/link-tests (Files): Likewise.
859         * modules/linkat-tests (Files): Likewise.
860         * modules/linked-list-tests (Files): Likewise.
861         * modules/linkedhash-list-tests (Files): Likewise.
862         * modules/localename-tests (Files): Likewise.
863         * modules/lseek-tests (Files): Likewise.
864         * modules/lstat-tests (Files): Likewise.
865         * modules/mbmemcasecmp-tests (Files): Likewise.
866         * modules/mbmemcasecoll-tests (Files): Likewise.
867         * modules/mbrtowc-tests (Files): Likewise.
868         * modules/mbscasecmp-tests (Files): Likewise.
869         * modules/mbscasestr-tests (Files): Likewise.
870         * modules/mbschr-tests (Files): Likewise.
871         * modules/mbscspn-tests (Files): Likewise.
872         * modules/mbsinit-tests (Files): Likewise.
873         * modules/mbsncasecmp-tests (Files): Likewise.
874         * modules/mbsnrtowcs-tests (Files): Likewise.
875         * modules/mbspbrk-tests (Files): Likewise.
876         * modules/mbspcasecmp-tests (Files): Likewise.
877         * modules/mbsrchr-tests (Files): Likewise.
878         * modules/mbsrtowcs-tests (Files): Likewise.
879         * modules/mbsspn-tests (Files): Likewise.
880         * modules/mbsstr-tests (Files): Likewise.
881         * modules/memchr-tests (Files): Likewise.
882         * modules/memchr2-tests (Files): Likewise.
883         * modules/memcmp-tests (Files): Likewise.
884         * modules/memmem-tests (Files): Likewise.
885         * modules/memrchr-tests (Files): Likewise.
886         * modules/mkdir-tests (Files): Likewise.
887         * modules/mkfifo-tests (Files): Likewise.
888         * modules/mkfifoat-tests (Files): Likewise.
889         * modules/mknod-tests (Files): Likewise.
890         * modules/nanosleep-tests (Files): Likewise.
891         * modules/nl_langinfo-tests (Files): Likewise.
892         * modules/obstack-printf-tests (Files): Likewise.
893         * modules/open-tests (Files): Likewise.
894         * modules/openat-tests (Files): Likewise.
895         * modules/pipe-filter-gi-tests (Files): Likewise.
896         * modules/pipe-filter-ii-tests (Files): Likewise.
897         * modules/pipe2-tests (Files): Likewise.
898         * modules/popen-safer-tests (Files): Likewise.
899         * modules/popen-tests (Files): Likewise.
900         * modules/posixtm-tests (Files): Likewise.
901         * modules/pread-tests (Files): Likewise.
902         * modules/printf-frexp-tests (Files): Likewise.
903         * modules/printf-frexpl-tests (Files): Likewise.
904         * modules/printf-posix-tests (Files): Likewise.
905         * modules/priv-set-tests (Files): Likewise.
906         * modules/quotearg-tests (Files): Likewise.
907         * modules/random_r-tests (Files): Likewise.
908         * modules/rawmemchr-tests (Files): Likewise.
909         * modules/rbtree-list-tests (Files): Likewise.
910         * modules/rbtree-oset-tests (Files): Likewise.
911         * modules/rbtreehash-list-tests (Files): Likewise.
912         * modules/readlink-tests (Files): Likewise.
913         * modules/remove-tests (Files): Likewise.
914         * modules/rename-tests (Files): Likewise.
915         * modules/renameat-tests (Files): Likewise.
916         * modules/rmdir-tests (Files): Likewise.
917         * modules/round-tests (Files): Likewise.
918         * modules/roundf-tests (Files): Likewise.
919         * modules/roundl-tests (Files): Likewise.
920         * modules/safe-alloc-tests (Files): Likewise.
921         * modules/setenv-tests (Files): Likewise.
922         * modules/sigaction-tests (Files): Likewise.
923         * modules/signbit-tests (Files): Likewise.
924         * modules/sleep-tests (Files): Likewise.
925         * modules/snprintf-posix-tests (Files): Likewise.
926         * modules/snprintf-tests (Files): Likewise.
927         * modules/sprintf-posix-tests (Files): Likewise.
928         * modules/stat-tests (Files): Likewise.
929         * modules/stat-time-tests (Files): Likewise.
930         * modules/strcasestr-tests (Files): Likewise.
931         * modules/strchrnul-tests (Files): Likewise.
932         * modules/strerror-tests (Files): Likewise.
933         * modules/striconv-tests (Files): Likewise.
934         * modules/striconveh-tests (Files): Likewise.
935         * modules/striconveha-tests (Files): Likewise.
936         * modules/strsignal-tests (Files): Likewise.
937         * modules/strstr-tests (Files): Likewise.
938         * modules/strtod-tests (Files): Likewise.
939         * modules/strverscmp-tests (Files): Likewise.
940         * modules/symlink-tests (Files): Likewise.
941         * modules/symlinkat-tests (Files): Likewise.
942         * modules/trunc-tests (Files): Likewise.
943         * modules/truncf-tests (Files): Likewise.
944         * modules/truncl-tests (Files): Likewise.
945         * modules/uname-tests (Files): Likewise.
946         * modules/unicase/cased-tests (Files): Likewise.
947         * modules/unicase/ignorable-tests (Files): Likewise.
948         * modules/unicase/locale-language-tests (Files): Likewise.
949         * modules/unicase/tolower-tests (Files): Likewise.
950         * modules/unicase/totitle-tests (Files): Likewise.
951         * modules/unicase/toupper-tests (Files): Likewise.
952         * modules/unicase/u8-casecmp-tests (Files): Likewise.
953         * modules/unicase/u8-casecoll-tests (Files): Likewise.
954         * modules/unicase/u8-casefold-tests (Files): Likewise.
955         * modules/unicase/u8-is-cased-tests (Files): Likewise.
956         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
957         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
958         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
959         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
960         * modules/unicase/u8-tolower-tests (Files): Likewise.
961         * modules/unicase/u8-totitle-tests (Files): Likewise.
962         * modules/unicase/u8-toupper-tests (Files): Likewise.
963         * modules/unicase/u16-casecmp-tests (Files): Likewise.
964         * modules/unicase/u16-casecoll-tests (Files): Likewise.
965         * modules/unicase/u16-casefold-tests (Files): Likewise.
966         * modules/unicase/u16-is-cased-tests (Files): Likewise.
967         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
968         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
969         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
970         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
971         * modules/unicase/u16-tolower-tests (Files): Likewise.
972         * modules/unicase/u16-totitle-tests (Files): Likewise.
973         * modules/unicase/u16-toupper-tests (Files): Likewise.
974         * modules/unicase/u32-casecmp-tests (Files): Likewise.
975         * modules/unicase/u32-casecoll-tests (Files): Likewise.
976         * modules/unicase/u32-casefold-tests (Files): Likewise.
977         * modules/unicase/u32-is-cased-tests (Files): Likewise.
978         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
979         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
980         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
981         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
982         * modules/unicase/u32-tolower-tests (Files): Likewise.
983         * modules/unicase/u32-totitle-tests (Files): Likewise.
984         * modules/unicase/u32-toupper-tests (Files): Likewise.
985         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
986         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
987         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
988         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
989         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
990         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
991         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
992         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
993         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
994         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
995         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
996         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
997         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
998         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
999         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
1000         * modules/unictype/bidicategory-name-tests (Files): Likewise.
1001         * modules/unictype/bidicategory-of-tests (Files): Likewise.
1002         * modules/unictype/bidicategory-test-tests (Files): Likewise.
1003         * modules/unictype/block-list-tests (Files): Likewise.
1004         * modules/unictype/block-of-tests (Files): Likewise.
1005         * modules/unictype/block-test-tests (Files): Likewise.
1006         * modules/unictype/category-C-tests (Files): Likewise.
1007         * modules/unictype/category-Cc-tests (Files): Likewise.
1008         * modules/unictype/category-Cf-tests (Files): Likewise.
1009         * modules/unictype/category-Cn-tests (Files): Likewise.
1010         * modules/unictype/category-Co-tests (Files): Likewise.
1011         * modules/unictype/category-Cs-tests (Files): Likewise.
1012         * modules/unictype/category-L-tests (Files): Likewise.
1013         * modules/unictype/category-Ll-tests (Files): Likewise.
1014         * modules/unictype/category-Lm-tests (Files): Likewise.
1015         * modules/unictype/category-Lo-tests (Files): Likewise.
1016         * modules/unictype/category-Lt-tests (Files): Likewise.
1017         * modules/unictype/category-Lu-tests (Files): Likewise.
1018         * modules/unictype/category-M-tests (Files): Likewise.
1019         * modules/unictype/category-Mc-tests (Files): Likewise.
1020         * modules/unictype/category-Me-tests (Files): Likewise.
1021         * modules/unictype/category-Mn-tests (Files): Likewise.
1022         * modules/unictype/category-N-tests (Files): Likewise.
1023         * modules/unictype/category-Nd-tests (Files): Likewise.
1024         * modules/unictype/category-Nl-tests (Files): Likewise.
1025         * modules/unictype/category-No-tests (Files): Likewise.
1026         * modules/unictype/category-P-tests (Files): Likewise.
1027         * modules/unictype/category-Pc-tests (Files): Likewise.
1028         * modules/unictype/category-Pd-tests (Files): Likewise.
1029         * modules/unictype/category-Pe-tests (Files): Likewise.
1030         * modules/unictype/category-Pf-tests (Files): Likewise.
1031         * modules/unictype/category-Pi-tests (Files): Likewise.
1032         * modules/unictype/category-Po-tests (Files): Likewise.
1033         * modules/unictype/category-Ps-tests (Files): Likewise.
1034         * modules/unictype/category-S-tests (Files): Likewise.
1035         * modules/unictype/category-Sc-tests (Files): Likewise.
1036         * modules/unictype/category-Sk-tests (Files): Likewise.
1037         * modules/unictype/category-Sm-tests (Files): Likewise.
1038         * modules/unictype/category-So-tests (Files): Likewise.
1039         * modules/unictype/category-Z-tests (Files): Likewise.
1040         * modules/unictype/category-Zl-tests (Files): Likewise.
1041         * modules/unictype/category-Zp-tests (Files): Likewise.
1042         * modules/unictype/category-Zs-tests (Files): Likewise.
1043         * modules/unictype/category-and-not-tests (Files): Likewise.
1044         * modules/unictype/category-and-tests (Files): Likewise.
1045         * modules/unictype/category-byname-tests (Files): Likewise.
1046         * modules/unictype/category-name-tests (Files): Likewise.
1047         * modules/unictype/category-none-tests (Files): Likewise.
1048         * modules/unictype/category-of-tests (Files): Likewise.
1049         * modules/unictype/category-or-tests (Files): Likewise.
1050         * modules/unictype/category-test-withtable-tests (Files): Likewise.
1051         * modules/unictype/combining-class-tests (Files): Likewise.
1052         * modules/unictype/ctype-alnum-tests (Files): Likewise.
1053         * modules/unictype/ctype-alpha-tests (Files): Likewise.
1054         * modules/unictype/ctype-blank-tests (Files): Likewise.
1055         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
1056         * modules/unictype/ctype-digit-tests (Files): Likewise.
1057         * modules/unictype/ctype-graph-tests (Files): Likewise.
1058         * modules/unictype/ctype-lower-tests (Files): Likewise.
1059         * modules/unictype/ctype-print-tests (Files): Likewise.
1060         * modules/unictype/ctype-punct-tests (Files): Likewise.
1061         * modules/unictype/ctype-space-tests (Files): Likewise.
1062         * modules/unictype/ctype-upper-tests (Files): Likewise.
1063         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
1064         * modules/unictype/decimal-digit-tests (Files): Likewise.
1065         * modules/unictype/digit-tests (Files): Likewise.
1066         * modules/unictype/mirror-tests (Files): Likewise.
1067         * modules/unictype/numeric-tests (Files): Likewise.
1068         * modules/unictype/property-alphabetic-tests (Files): Likewise.
1069         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
1070         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
1071         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
1072         Likewise.
1073         * modules/unictype/property-bidi-block-separator-tests (Files):
1074         Likewise.
1075         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
1076         Likewise.
1077         * modules/unictype/property-bidi-common-separator-tests (Files):
1078         Likewise.
1079         * modules/unictype/property-bidi-control-tests (Files): Likewise.
1080         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
1081         Likewise.
1082         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
1083         Likewise.
1084         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
1085         Likewise.
1086         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
1087         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
1088         Likewise.
1089         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
1090         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
1091         Likewise.
1092         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
1093         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
1094         * modules/unictype/property-bidi-segment-separator-tests (Files):
1095         Likewise.
1096         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
1097         * modules/unictype/property-byname-tests (Files): Likewise.
1098         * modules/unictype/property-combining-tests (Files): Likewise.
1099         * modules/unictype/property-composite-tests (Files): Likewise.
1100         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
1101         * modules/unictype/property-dash-tests (Files): Likewise.
1102         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
1103         * modules/unictype/property-default-ignorable-code-point-tests (Files):
1104         Likewise.
1105         * modules/unictype/property-deprecated-tests (Files): Likewise.
1106         * modules/unictype/property-diacritic-tests (Files): Likewise.
1107         * modules/unictype/property-extender-tests (Files): Likewise.
1108         * modules/unictype/property-format-control-tests (Files): Likewise.
1109         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
1110         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
1111         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
1112         * modules/unictype/property-hex-digit-tests (Files): Likewise.
1113         * modules/unictype/property-hyphen-tests (Files): Likewise.
1114         * modules/unictype/property-id-continue-tests (Files): Likewise.
1115         * modules/unictype/property-id-start-tests (Files): Likewise.
1116         * modules/unictype/property-ideographic-tests (Files): Likewise.
1117         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
1118         * modules/unictype/property-ids-trinary-operator-tests (Files):
1119         Likewise.
1120         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
1121         * modules/unictype/property-iso-control-tests (Files): Likewise.
1122         * modules/unictype/property-join-control-tests (Files): Likewise.
1123         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
1124         * modules/unictype/property-line-separator-tests (Files): Likewise.
1125         * modules/unictype/property-logical-order-exception-tests (Files):
1126         Likewise.
1127         * modules/unictype/property-lowercase-tests (Files): Likewise.
1128         * modules/unictype/property-math-tests (Files): Likewise.
1129         * modules/unictype/property-non-break-tests (Files): Likewise.
1130         * modules/unictype/property-not-a-character-tests (Files): Likewise.
1131         * modules/unictype/property-numeric-tests (Files): Likewise.
1132         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
1133         * modules/unictype/property-other-default-ignorable-code-point-tests
1134         (Files): Likewise.
1135         * modules/unictype/property-other-grapheme-extend-tests (Files):
1136         Likewise.
1137         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
1138         * modules/unictype/property-other-id-start-tests (Files): Likewise.
1139         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
1140         * modules/unictype/property-other-math-tests (Files): Likewise.
1141         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
1142         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
1143         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
1144         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
1145         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
1146         * modules/unictype/property-private-use-tests (Files): Likewise.
1147         * modules/unictype/property-punctuation-tests (Files): Likewise.
1148         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
1149         * modules/unictype/property-radical-tests (Files): Likewise.
1150         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
1151         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
1152         * modules/unictype/property-space-tests (Files): Likewise.
1153         * modules/unictype/property-terminal-punctuation-tests (Files):
1154         Likewise.
1155         * modules/unictype/property-test-tests (Files): Likewise.
1156         * modules/unictype/property-titlecase-tests (Files): Likewise.
1157         * modules/unictype/property-unassigned-code-value-tests (Files):
1158         Likewise.
1159         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
1160         * modules/unictype/property-uppercase-tests (Files): Likewise.
1161         * modules/unictype/property-variation-selector-tests (Files): Likewise.
1162         * modules/unictype/property-white-space-tests (Files): Likewise.
1163         * modules/unictype/property-xid-continue-tests (Files): Likewise.
1164         * modules/unictype/property-xid-start-tests (Files): Likewise.
1165         * modules/unictype/property-zero-width-tests (Files): Likewise.
1166         * modules/unictype/scripts-tests (Files): Likewise.
1167         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
1168         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
1169         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
1170         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
1171         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
1172         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
1173         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
1174         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
1175         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
1176         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
1177         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
1178         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
1179         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
1180         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
1181         * modules/uninorm/composition-tests (Files): Likewise.
1182         * modules/uninorm/decomposing-form-tests (Files): Likewise.
1183         * modules/uninorm/decomposition-tests (Files): Likewise.
1184         * modules/uninorm/filter-tests (Files): Likewise.
1185         * modules/uninorm/nfc-tests (Files): Likewise.
1186         * modules/uninorm/nfd-tests (Files): Likewise.
1187         * modules/uninorm/nfkc-tests (Files): Likewise.
1188         * modules/uninorm/nfkd-tests (Files): Likewise.
1189         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
1190         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
1191         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
1192         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
1193         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
1194         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
1195         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
1196         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
1197         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
1198         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
1199         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
1200         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
1201         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
1202         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
1203         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
1204         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
1205         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
1206         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
1207         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
1208         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
1209         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
1210         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
1211         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
1212         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
1213         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
1214         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
1215         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
1216         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
1217         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
1218         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
1219         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
1220         * modules/uniwidth/u8-width-tests (Files): Likewise.
1221         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
1222         * modules/uniwidth/u16-width-tests (Files): Likewise.
1223         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
1224         * modules/uniwidth/u32-width-tests (Files): Likewise.
1225         * modules/uniwidth/width-tests (Files): Likewise.
1226         * modules/unlink-tests (Files): Likewise.
1227         * modules/unsetenv-tests (Files): Likewise.
1228         * modules/usleep-tests (Files): Likewise.
1229         * modules/utimens-tests (Files): Likewise.
1230         * modules/utimensat-tests (Files): Likewise.
1231         * modules/vasnprintf-posix-tests (Files): Likewise.
1232         * modules/vasnprintf-tests (Files): Likewise.
1233         * modules/vasprintf-posix-tests (Files): Likewise.
1234         * modules/vasprintf-tests (Files): Likewise.
1235         * modules/vdprintf-posix-tests (Files): Likewise.
1236         * modules/vfprintf-posix-tests (Files): Likewise.
1237         * modules/vprintf-posix-tests (Files): Likewise.
1238         * modules/vsnprintf-posix-tests (Files): Likewise.
1239         * modules/vsnprintf-tests (Files): Likewise.
1240         * modules/vsprintf-posix-tests (Files): Likewise.
1241         * modules/wcrtomb-tests (Files): Likewise.
1242         * modules/wcsnrtombs-tests (Files): Likewise.
1243         * modules/wcsrtombs-tests (Files): Likewise.
1244         * modules/wctype-tests (Files): Likewise.
1245         * modules/wcwidth-tests (Files): Likewise.
1246         * modules/xmemdup0-tests (Files): Likewise.
1247         * modules/xprintf-posix-tests (Files): Likewise.
1248         * modules/xvasprintf-tests (Files): Likewise.
1249
1250 2009-12-24  Eric Blake  <ebb9@byu.net>
1251
1252         test-nanosleep: fix typo
1253         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
1254         patch.
1255         Reported by Bruno Haible.
1256
1257 2009-12-24  Bruno Haible  <bruno@clisp.org>
1258
1259         Reduce namespace pollution on glibc systems.
1260         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
1261         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
1262         systems.
1263         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
1264         <getopt.h> on glibc systems.
1265         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
1266         systems.
1267         * lib/fcntl.c: Include <unistd.h> here instead.
1268
1269 2009-12-24  Bruno Haible  <bruno@clisp.org>
1270
1271         * lib/stdlib.in.h (includes): Fix typo in today's commit.
1272
1273 2009-12-24  Eric Blake  <ebb9@byu.net>
1274
1275         tests: add signature checks
1276         * tests/signature.h (SIGNATURE_CHECK): New file.
1277         * modules/atexit-tests (Files): Use it.
1278         * modules/btowc-tests (Files): Likewise.
1279         * modules/canonicalize-lgpl-tests (Files): Likewise.
1280         * modules/ceilf-tests (Files): Likewise.
1281         * modules/ceill-tests (Files): Likewise.
1282         * modules/chown-tests (Files): Likewise.
1283         * modules/dprintf-posix-tests (Files): Likewise.
1284         * modules/dup2-tests (Files): Likewise.
1285         * modules/dup3-tests (Files): Likewise.
1286         * modules/duplocale-tests (Files): Likewise.
1287         * modules/fchdir-tests (Files): Likewise.
1288         * modules/fcntl-tests (Files): Likewise.
1289         * modules/fdopendir-tests (Files): Likewise.
1290         * modules/fflush-tests (Files): Likewise.
1291         * modules/flock-tests (Files): Likewise.
1292         * modules/floorf-tests (Files): Likewise.
1293         * modules/floorl-tests (Files): Likewise.
1294         * modules/fnmatch-tests (Files): Likewise.
1295         * modules/fopen-tests (Files): Likewise.
1296         * modules/fprintf-posix-tests (Files): Likewise.
1297         * modules/freopen-tests (Files): Likewise.
1298         * modules/frexp-nolibm-tests (Files): Likewise.
1299         * modules/frexp-tests (Files): Likewise.
1300         * modules/frexpl-nolibm-tests (Files): Likewise.
1301         * modules/frexpl-tests (Files): Likewise.
1302         * modules/fseek-tests (Files): Likewise.
1303         * modules/fseeko-tests (Files): Likewise.
1304         * modules/fsync-tests (Files): Likewise.
1305         * modules/ftell-tests (Files): Likewise.
1306         * modules/ftello-tests (Files): Likewise.
1307         * modules/futimens-tests (Files): Likewise.
1308         * modules/getaddrinfo-tests (Files): Likewise.
1309         * modules/getcwd-tests (Files): Likewise.
1310         * modules/getdelim-tests (Files): Likewise.
1311         * modules/getdtablesize-tests (Files): Likewise.
1312         * modules/getgroups-tests (Files): Likewise.
1313         * modules/gethostname-tests (Files): Likewise.
1314         * modules/getline-tests (Files): Likewise.
1315         * modules/getopt-posix-tests (Files): Likewise.
1316         * modules/gettimeofday-tests (Files): Likewise.
1317         * modules/glob-tests (Files): Likewise.
1318         * modules/iconv-tests (Files): Likewise.
1319         * modules/inet_ntop-tests (Files): Likewise.
1320         * modules/inet_pton-tests (Files): Likewise.
1321         * modules/isblank-tests (Files): Likewise.
1322         * modules/lchown-tests (Files): Likewise.
1323         * modules/ldexpl-tests (Files): Likewise.
1324         * modules/link-tests (Files): Likewise.
1325         * modules/linkat-tests (Files): Likewise.
1326         * modules/lseek-tests (Files): Likewise.
1327         * modules/lstat-tests (Files): Likewise.
1328         * modules/mbrtowc-tests (Files): Likewise.
1329         * modules/mbsinit-tests (Files): Likewise.
1330         * modules/mbsnrtowcs-tests (Files): Likewise.
1331         * modules/mbsrtowcs-tests (Files): Likewise.
1332         * modules/memchr-tests (Files): Likewise.
1333         * modules/memcmp-tests (Files): Likewise.
1334         * modules/memmem-tests (Files): Likewise.
1335         * modules/memrchr-tests (Files): Likewise.
1336         * modules/mkdir-tests (Files): Likewise.
1337         * modules/mkfifo-tests (Files): Likewise.
1338         * modules/mkfifoat-tests (Files): Likewise.
1339         * modules/mknod-tests (Files): Likewise.
1340         * modules/nanosleep-tests (Files): Likewise.
1341         * modules/nl_langinfo-tests (Files): Likewise.
1342         * modules/obstack-printf-tests (Files): Likewise.
1343         * modules/open-tests (Files): Likewise.
1344         * modules/openat-tests (Files): Likewise.
1345         * modules/perror-tests (Files): Likewise.
1346         * modules/pipe2-tests (Files): Likewise.
1347         * modules/poll-tests (Files): Likewise.
1348         * modules/popen-tests (Files): Likewise.
1349         * modules/posix_spawn-tests (Files): Likewise.
1350         * modules/posix_spawnp-tests (Files): Likewise.
1351         * modules/pread-tests (Files): Likewise.
1352         * modules/printf-posix-tests (Files): Likewise.
1353         * modules/pty-tests (Files): Likewise.
1354         * modules/random_r-tests (Files): Likewise.
1355         * modules/rawmemchr-tests (Files): Likewise.
1356         * modules/readlink-tests (Files): Likewise.
1357         * modules/remove-tests (Files): Likewise.
1358         * modules/rename-tests (Files): Likewise.
1359         * modules/renameat-tests (Files): Likewise.
1360         * modules/rmdir-tests (Files): Likewise.
1361         * modules/round-tests (Files): Likewise.
1362         * modules/roundf-tests (Files): Likewise.
1363         * modules/roundl-tests (Files): Likewise.
1364         * modules/select-tests (Files): Likewise.
1365         * modules/setenv-tests (Files): Likewise.
1366         * modules/sigaction-tests (Files): Likewise.
1367         * modules/sleep-tests (Files): Likewise.
1368         * modules/snprintf-posix-tests (Files): Likewise.
1369         * modules/snprintf-tests (Files): Likewise.
1370         * modules/sprintf-posix-tests (Files): Likewise.
1371         * modules/stat-tests (Files): Likewise.
1372         * modules/strcasestr-tests (Files): Likewise.
1373         * modules/strchrnul-tests (Files): Likewise.
1374         * modules/strerror-tests (Files): Likewise.
1375         * modules/strsignal-tests (Files): Likewise.
1376         * modules/strstr-tests (Files): Likewise.
1377         * modules/strtod-tests (Files): Likewise.
1378         * modules/strverscmp-tests (Files): Likewise.
1379         * modules/symlink-tests (Files): Likewise.
1380         * modules/symlinkat-tests (Files): Likewise.
1381         * modules/times-tests (Files): Likewise.
1382         * modules/trunc-tests (Files): Likewise.
1383         * modules/truncf-tests (Files): Likewise.
1384         * modules/truncl-tests (Files): Likewise.
1385         * modules/tsearch-tests (Files): Likewise.
1386         * modules/uname-tests (Files): Likewise.
1387         * modules/unlink-tests (Files): Likewise.
1388         * modules/unsetenv-tests (Files): Likewise.
1389         * modules/usleep-tests (Files): Likewise.
1390         * modules/utimensat-tests (Files): Likewise.
1391         * modules/vasprintf-tests (Files): Likewise.
1392         * modules/vdprintf-posix-tests (Files): Likewise.
1393         * modules/vfprintf-posix-tests (Files): Likewise.
1394         * modules/vprintf-posix-tests (Files): Likewise.
1395         * modules/vsnprintf-posix-tests (Files): Likewise.
1396         * modules/vsnprintf-tests (Files): Likewise.
1397         * modules/vsprintf-posix-tests (Files): Likewise.
1398         * modules/wcrtomb-tests (Files): Likewise.
1399         * modules/wcsnrtombs-tests (Files): Likewise.
1400         * modules/wcsrtombs-tests (Files): Likewise.
1401         * modules/wcwidth-tests (Files): Likewise.
1402         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
1403         * tests/test-isinf.c (isinf): Likewise.
1404         * tests/test-isnan.c (isnan): Likewise.
1405         * tests/test-signbit.c (signbit): Likewise.
1406         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
1407         declaration, either as macro or with correct signature.
1408         (select): Ensure function under test is declared with correct
1409         signature in correct header.
1410         * tests/test-atexit.c (atexit): Likewise.
1411         * tests/test-btowc.c (btowc): Likewise.
1412         * tests/test-canonicalize-lgpl.c (realpath)
1413         (canonicalize_file_name): Likewise.
1414         * tests/test-ceilf1.c (ceilf): Likewise.
1415         * tests/test-ceill.c (ceill): Likewise.
1416         * tests/test-chown.c (chown): Likewise.
1417         * tests/test-dprintf-posix.c (dprintf): Likewise.
1418         * tests/test-dup2.c (dup2): Likewise.
1419         * tests/test-dup3.c (dup3): Likewise.
1420         * tests/test-duplocale.c (duplocale): Likewise.
1421         * tests/test-fchdir.c (fchdir): Likewise.
1422         * tests/test-fchownat.c (fchownat): Likewise.
1423         * tests/test-fcntl.c (fcntl): Likewise.
1424         * tests/test-fdopendir.c (fdopendir): Likewise.
1425         * tests/test-fflush.c (fflush): Likewise.
1426         * tests/test-flock.c (flock): Likewise.
1427         * tests/test-floorf1.c (floorf): Likewise.
1428         * tests/test-floorl.c (floorl): Likewise.
1429         * tests/test-fnmatch.c (fnmatch): Likewise.
1430         * tests/test-fopen.c (fopen): Likewise.
1431         * tests/test-fprintf-posix.c (fprintf): Likewise.
1432         * tests/test-freopen.c (freopen): Likewise.
1433         * tests/test-frexp.c (frexp): Likewise.
1434         * tests/test-frexpl.c (frexpl): Likewise.
1435         * tests/test-fseek.c (fseek): Likewise.
1436         * tests/test-fseeko.c (fseeko): Likewise.
1437         * tests/test-fstatat.c (fstatat): Likewise.
1438         * tests/test-fsync.c (fsync): Likewise.
1439         * tests/test-ftell.c (ftell): Likewise.
1440         * tests/test-ftello.c (ftello): Likewise.
1441         * tests/test-futimens.c (futimens): Likewise.
1442         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
1443         (gai_strerror): Likewise.
1444         * tests/test-getcwd.c (getcwd): Likewise.
1445         * tests/test-getdelim.c (getdelim): Likewise.
1446         * tests/test-getdtablesize.c (getdtablesize): Likewise.
1447         * tests/test-getgroups.c (getgroups): Likewise.
1448         * tests/test-gethostname.c (gethostname): Likewise.
1449         * tests/test-getline.c (getline): Likewise.
1450         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
1451         Likewise.
1452         * tests/test-gettimeofday.c (gettimeofday): Likewise.
1453         * tests/test-glob.c (glob, globfree): Likewise.
1454         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
1455         * tests/test-inet_ntop.c (inet_ntop): Likewise.
1456         * tests/test-inet_pton.c (inet_pton): Likewise.
1457         * tests/test-isblank.c (isblank): Likewise.
1458         * tests/test-lchown.c (lchown): Likewise.
1459         * tests/test-ldexpl.c (ldexpl): Likewise.
1460         * tests/test-link.c (link): Likewise.
1461         * tests/test-linkat.c (linkat): Likewise.
1462         * tests/test-lseek.c (lseek): Likewise.
1463         * tests/test-lstat.c (lstat): Likewise.
1464         * tests/test-mbrtowc.c (mbrtowc): Likewise.
1465         * tests/test-mbsinit.c (mbsinit): Likewise.
1466         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
1467         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
1468         * tests/test-memchr.c (memchr): Likewise.
1469         * tests/test-memcmp.c (memcmp): Likewise.
1470         * tests/test-memmem.c (memmem): Likewise.
1471         * tests/test-memrchr.c (memrchr): Likewise.
1472         * tests/test-mkdir.c (mkdir): Likewise.
1473         * tests/test-mkdirat.c (mkdirat): Likewise.
1474         * tests/test-mkfifo.c (mkfifo): Likewise.
1475         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
1476         * tests/test-mknod.c (mknod): Likewise.
1477         * tests/test-nanosleep.c (nanosleep): Likewise.
1478         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
1479         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
1480         Likewise.
1481         * tests/test-open.c (open): Likewise.
1482         * tests/test-openat.c (openat): Likewise.
1483         * tests/test-perror.c (perror): Likewise.
1484         * tests/test-pipe2.c (pipe2): Likewise.
1485         * tests/test-poll.c (poll): Likewise.
1486         * tests/test-popen.c (popen, pclose): Likewise.
1487         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
1488         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
1489         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
1490         (posix_spawn_file_actions_destroy)
1491         (posix_spawn_file_actions_addclose)
1492         (posix_spawn_file_actions_addopen)
1493         (posix_spawn_file_actions_adddup2): Likewise.
1494         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
1495         * tests/test-pread.c (pread): Likewise.
1496         * tests/test-printf-posix.c (printf): Likewise.
1497         * tests/test-pty.c (openpty, forkpty): Likewise.
1498         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
1499         (random_r): Likewise.
1500         * tests/test-rawmemchr.c (rawmemchr): Likewise.
1501         * tests/test-readlink.c (readlink): Likewise.
1502         * tests/test-remove.c (remove): Likewise.
1503         * tests/test-rename.c (rename): Likewise.
1504         * tests/test-renameat.c (renameat): Likewise.
1505         * tests/test-rmdir.c (rmdir): Likewise.
1506         * tests/test-round1.c (round): Likewise.
1507         * tests/test-roundf1.c (roundf): Likewise.
1508         * tests/test-roundl.c (roundl): Likewise.
1509         * tests/test-setenv.c (setenv): Likewise.
1510         * tests/test-sigaction.c (sigaction): Likewise.
1511         * tests/test-sleep.c (sleep): Likewise.
1512         * tests/test-snprintf.c (snprintf): Likewise.
1513         * tests/test-sprintf-posix.c (sprintf): Likewise.
1514         * tests/test-stat.c (stat): Likewise.
1515         * tests/test-stpncpy.c (stpncpy): Likewise.
1516         * tests/test-strcasestr.c (strcasestr): Likewise.
1517         * tests/test-strchrnul.c (strchrnul): Likewise.
1518         * tests/test-strerror.c (strerror): Likewise.
1519         * tests/test-strsignal.c (strsignal): Likewise.
1520         * tests/test-strstr.c (strstr): Likewise.
1521         * tests/test-strtod.c (strtod): Likewise.
1522         * tests/test-strverscmp.c (strverscmp): Likewise.
1523         * tests/test-symlink.c (symlink): Likewise.
1524         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
1525         * tests/test-times.c (times): Likewise.
1526         * tests/test-trunc1.c (trunc): Likewise.
1527         * tests/test-truncf1.c (truncf): Likewise.
1528         * tests/test-truncl.c (truncl): Likewise.
1529         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
1530         Likewise.
1531         * tests/test-uname.c (uname): Likewise.
1532         * tests/test-unlink.c (unlink): Likewise.
1533         * tests/test-unlinkat.c (unlinkat): Likewise.
1534         * tests/test-unsetenv.c (unsetenv): Likewise.
1535         * tests/test-usleep.c (usleep): Likewise.
1536         * tests/test-utimensat.c (utimensat): Likewise.
1537         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
1538         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
1539         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
1540         * tests/test-vprintf-posix.c (vprintf): Likewise.
1541         * tests/test-vsnprintf.c (vsnprintf): Likewise.
1542         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
1543         * tests/test-wcrtomb.c (wcrtomb): Likewise.
1544         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
1545         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
1546         * tests/test-wcwidth.c (wcwidth): Likewise.
1547
1548         build: pull in conditional headers during GNULIB_POSIXCHECK
1549         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
1550         definitions from any conditionally-included headers.
1551         * lib/stdlib.in.h (includes): Likewise.
1552         * lib/unistd.in.h (includes): Likewise.
1553
1554 2009-12-24  Bruno Haible  <bruno@clisp.org>
1555
1556         * tests/test-argv-iter.c: Include header file being tested immediately
1557         after config.h.
1558         * tests/test-base64.c: Likewise.
1559         * tests/test-flock.c: Likewise.
1560         * tests/test-fsync.c: Likewise.
1561         * tests/test-getdate.c: Likewise.
1562         * tests/test-getndelim2.c: Likewise.
1563         * tests/test-isfinite.c: Likewise.
1564         * tests/test-isinf.c: Likewise.
1565         * tests/test-strerror.c: Likewise.
1566         * tests/test-strsignal.c: Likewise.
1567
1568 2009-12-23  Eric Blake  <ebb9@byu.net>
1569
1570         unistd: work around cygwin bug
1571         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
1572         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
1573         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
1574
1575 2009-12-23  Bruno Haible  <bruno@clisp.org>
1576
1577         localename: More tests.
1578         * tests/test-localename.c (SIZEOF): New macro.
1579         (categories): New variable.
1580         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
1581         test_locale_name_default): Add test w.r.t. thread locale.
1582         (test_locale_name_thread): New function.
1583         (main): Invoke it.
1584
1585         localename: Make aware of thread locale.
1586         * lib/localename.h (gl_locale_name_thread): New declaration.
1587         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
1588         behaviour with respect to thread locale.
1589         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
1590         <langinfo.h>, glthread/lock.h.
1591         (SIZE_BITS): New macro.
1592         (string_hash): New function.
1593         (struct hash_node): New type.
1594         (HASH_TABLE_SIZE): New macro.
1595         (struniq_hash_table, struniq_lock): New variables.
1596         (struniq): New function.
1597         (gl_locale_name_thread): New function.
1598         (gl_locale_name): Invoke it.
1599         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
1600         * modules/localename (Depends-on): Add lock.
1601         Reported by Mike Gran <spk121@yahoo.com>.
1602
1603 2009-12-23  Eric Blake  <ebb9@byu.net>
1604
1605         va-args: new module
1606         * modules/va-args: New file.
1607         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
1608         * MODULES.html.sh (Core language properties): Mention it.
1609
1610         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
1611         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
1612         named alias for __attribute__((__unused__)).
1613         * lib/chown.c: Update client.
1614         * lib/fchmodat.c: Likewise.
1615         * lib/fts.c: Likewise.
1616         * lib/getdate.y: Likewise.
1617         * lib/getgroups.c: Likewise.
1618         * lib/getopt.c: Likewise.
1619         * lib/getugroups.c: Likewise.
1620         * lib/mkdir.c: Likewise.
1621         * lib/mkfifo.c: Likewise.
1622         * lib/mkfifoat.c: Likewise.
1623         * lib/mknod.c: Likewise.
1624         * lib/mknodat.c: Likewise.
1625         * lib/readlink.c: Likewise.
1626         * lib/se-context.in.h: Likewise.
1627         * lib/se-selinux.in.h: Likewise.
1628         * lib/sockets.c: Likewise.
1629         * lib/symlink.c: Likewise.
1630         * lib/symlinkat.c: Likewise.
1631         * lib/unicodeio.c: Likewise.
1632         * lib/unistr.h: Likewise.
1633         * tests/test-areadlink.c: Likewise.
1634         * tests/test-areadlinkat.c: Likewise.
1635         * tests/test-filenamecat.c: Likewise.
1636         * tests/test-fseeko.c: Likewise.
1637         * tests/test-ftello.c: Likewise.
1638         * tests/test-getdate.c: Likewise.
1639         * tests/test-getgroups.c: Likewise.
1640         * tests/test-gethostname.c: Likewise.
1641         * tests/test-quotearg.c: Likewise.
1642         * tests/test-version-etc.c: Likewise.
1643         * tests/test-xalloc-die.c: Likewise.
1644         * tests/test-xfprintf-posix.c: Likewise.
1645         * tests/test-xprintf-posix.c: Likewise.
1646         * tests/test-xvasprintf.c: Likewise.
1647
1648         tests: avoid compiler warnings
1649         * tests/test-fcntl.c (main): Delete unused parameters.
1650         * tests/test-freopen-safer.c (main): Likewise.
1651         * tests/test-xalloc-die.c (main): Mark unused parameters.
1652         * tests/test-fseeko.c (main): Likewise.
1653         * tests/test-ftello.c (main): Likewise.
1654         * tests/test-nanosleep.c (main): Avoid declaration warning.
1655         * tests/test-sleep.c (main): Likewise.
1656         * tests/test-unsetenv.c (main): Silence warning about string
1657         literal.
1658         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
1659
1660 2009-12-23  Bruno Haible  <bruno@clisp.org>
1661
1662         * tests/test-localename.c (test_locale_name): New function, extracted
1663         from main. Also test mixed situations.
1664         (test_locale_name_posix, test_locale_name_environ,
1665         test_locale_name_default): New functions.
1666         (main): Invoke them all.
1667         * modules/localename-tests (configure.ac): Test for newlocale.
1668
1669 2009-12-23  Bruno Haible  <bruno@clisp.org>
1670
1671         unistd: Ensure getcwd gets declared before being overridden.
1672         * lib/unistd.in.h: Conditionally include <io.h>.
1673
1674 2009-12-22  Bruno Haible  <bruno@clisp.org>
1675
1676         wchar: Diagnose broken combination of glibc and gcc versions and flags.
1677         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
1678         (gl_WCHAR_H): Invoke it.
1679         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
1680         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
1681         Reported by Karl Berry <karl@freefriends.org>.
1682
1683 2009-12-22  Eric Blake  <ebb9@byu.net>
1684
1685         math, unistd: avoid redundant includes
1686         * lib/math.in.h (isnan): No need to re-include <math.h>.
1687         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
1688
1689         getsubopt: work around cygwin bug
1690         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
1691         avoid conflicting with system getsubopt.
1692         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
1693         bug.
1694
1695         getopt: synchronize from glibc
1696         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
1697         parameter order.  Adjust all callers.
1698         (_getopt_internal_r, main): Adjust quoting in error messages.
1699         Drop considerations for outdated POSIX 1003.2 error message.
1700         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
1701         callers.
1702         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
1703
1704         test-getopt: test stderr behavior
1705         * modules/getopt-posix-tests (Depends-on): Add dup2.
1706         * tests/test-getopt.c (ASSERT): Avoid stderr.
1707         (main): Move stderr to a temporary file.
1708         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
1709         Instead, add parameter to inform caller if output occurred.
1710         (test_getopt): Adjust all existing tests to expect silence, and
1711         add new tests of leading ":".
1712         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
1713         glibc shortcomings with leading "-:" or "+:" in optstring.
1714         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
1715         Likewise.
1716         * doc/posix-functions/getopt.texi (getopt): Likewise.
1717
1718         test-getopt: enhance test
1719         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
1720         supports optind=0.
1721         * tests/test-getopt.c (OPTIND_MIN): Move...
1722         * tests/test-getopt.h (OPTIND_MIN): ...here.
1723         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
1724         Require that optind=0 works, since modern BSD supports it in
1725         addition to optreset, and since coreutils expects it.
1726         (test_getopt_long_only): New test.
1727         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
1728         glibc shortcomings with 'W;', and enforcement of optind=0.
1729         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
1730         Likewise.
1731
1732 2009-12-21  Bruno Haible  <bruno@clisp.org>
1733
1734         localename: Improvements for MacOS X and Cygwin.
1735         * lib/localename.h (gl_locale_name_environ): New declaration.
1736         * lib/localename.c (gl_locale_name_environ): New function, extracted from
1737         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
1738         (gl_locale_name_posix): Invoke it.
1739         (gl_locale_name_default): Add comments. Use Windows native API also on
1740         Cygwin.
1741
1742 2009-12-21  Bruno Haible  <bruno@clisp.org>
1743
1744         Update list of Win32 locale ids.
1745         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
1746         (LANG_SAMI): Renamed from LANG_SAAMI.
1747         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
1748         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
1749         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
1750         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
1751         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
1752         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
1753         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
1754         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
1755         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
1756         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
1757         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
1758         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
1759         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
1760         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
1761         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
1762         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
1763         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
1764         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
1765         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
1766         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
1767         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
1768         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
1769         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
1770         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
1771         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
1772         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
1773         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
1774         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
1775         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
1776         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
1777         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
1778         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
1779         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
1780         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
1781         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
1782         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
1783         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
1784         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
1785         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
1786         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
1787         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
1788         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
1789         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
1790         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
1791         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
1792         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
1793         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
1794         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
1795         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
1796         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
1797         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
1798         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
1799         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
1800         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
1801         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
1802         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
1803         Add more languages and countries for Sami, Sorbian. Add more countries
1804         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
1805         for Pashto. Change country for Syriac, Tswana.
1806
1807 2009-12-21  Eric Blake  <ebb9@byu.net>
1808
1809         test-utimens: avoid spurious failure
1810         * tests/test-chown.h (nap): Factor...
1811         * tests/nap.h: ...into new file.
1812         * tests/test-lchown.h (nap): Avoid duplication.
1813         * tests/test-utimens-common.h (nap): Use shared implementation,
1814         necessary on file systems with 1-second resolution.
1815         * modules/chown-tests (Files): Include new file.
1816         * modules/fdutimensat-tests (Files): Likewise.
1817         * modules/futimens-tests (Files): Likewise.
1818         * modules/lchown-tests (Files): Likewise.
1819         * modules/openat-tests (Files): Likewise.
1820         * modules/utimens-tests (Files): Likewise.
1821         * modules/utimensat-tests (Files): Likewise.
1822
1823 2009-12-19  Eric Blake  <ebb9@byu.net>
1824
1825         futimens, utimensat: work around Linux bug
1826         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
1827         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
1828         * lib/utimensat.c (rpl_utimensat): Work around it.
1829         * lib/futimens.c (rpl_futimens): Adjust comment.
1830
1831         utimens: work around Linux ctime bug
1832         * lib/utimens.c (detect_ctime_bug): New helper function.
1833         (update_timespec): Differentiate between workaround needed for
1834         this bug vs. what is needed for systems that lack utimensat.
1835         (fdutimens, lutimens): Work around bug.
1836
1837         utimens: check for ctime update
1838         * tests/test-utimens-common.h (check_ctime): Define.
1839         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
1840         * tests/test-futimens.h (test_futimens): Likewise.
1841         * tests/test-lutimens.h (test_lutimens): Likewise.
1842         * doc/posix-functions/futimens.texi (futimens): Document the bug.
1843         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
1844
1845 2009-12-19  Bruno Haible  <bruno@clisp.org>
1846
1847         dprintf-posix: Check against memory leak fixed on 2009-12-15.
1848         * tests/test-dprintf-posix2.sh: New file.
1849         * tests/test-dprintf-posix2.c: New file.
1850         * modules/dprintf-posix-tests (Files): Add them.
1851         (configure.ac): Check for getrlimit and setrlimit.
1852         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
1853
1854 2009-12-19  Bruno Haible  <bruno@clisp.org>
1855
1856         fprintf-posix: Check against memory leak fixed on 2009-12-15.
1857         * tests/test-fprintf-posix3.sh: New file.
1858         * tests/test-fprintf-posix3.c: New file.
1859         * modules/fprintf-posix-tests (Files): Add them.
1860         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
1861
1862 2009-12-19  Eric Blake  <ebb9@byu.net>
1863
1864         dirfd: fix prototype
1865         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
1866         * lib/dirfd.c (dirfd): Likewise.
1867
1868         canonicalize: reduce memory usage
1869         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
1870         allocation to size.
1871         Reported by Solar Designer <solar@openwall.com>.
1872
1873 2009-12-19  Bruno Haible  <bruno@clisp.org>
1874
1875         New module attribute 'Applicability'.
1876         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
1877         * gnulib-tool: New option --extract-applicability.
1878         (func_usage): Document it.
1879         (sed_extract_prog): Recognize it.
1880         (func_get_applicability): New function.
1881         (func_import): Generalize handling of 'link-warning' module.
1882         * modules/link-warning (Applicability): New section.
1883         * modules/arg-nonnull (Applicability): New section.
1884         Repoted by Simon Josefsson <simon@josefsson.org>.
1885
1886 2009-12-19  Bruno Haible  <bruno@clisp.org>
1887
1888         fflush: tweak
1889         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
1890         * lib/fseeko.c (rpl_fseeko): Likewise.
1891
1892 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
1893
1894         * lib/gl_list.h: Fix typo in comment.
1895
1896 2009-12-16  Eric Blake  <ebb9@byu.net>
1897
1898         fcntl: use to simplify other modules
1899         * modules/cloexec (Depends-on): Add fcntl.
1900         * modules/fchdir (Depends-on): Likewise.
1901         * modules/fd-safer-flag (Depends-on): Likewise.
1902         * modules/unistd-safer (Depends-on): Likewise.
1903         * modules/dup3 (configure.ac): Set module indicator.
1904         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
1905         missing.
1906         * lib/fchdir.c (_gl_register_dup): Fix comment.
1907         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
1908         * lib/dup-safer.c (dup_safer): Likewise.
1909         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
1910         * lib/dup3.c (dup3): Likewise.
1911         * tests/test-fchdir.c (main): Enhance test.
1912         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
1913
1914         fcntl: port portions of fcntl to mingw
1915         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
1916         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
1917         replacement for mingw.
1918         * modules/fcntl (Description): Update.
1919         (Depends-on): Add dup2.
1920         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
1921         * modules/fcntl-h (Makefile.am): Substitute it.
1922         * lib/fcntl.in.h (fcntl): Update declaration.
1923         (F_DUPFD, F_GETFD): New macros, when needed.
1924         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
1925         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
1926         * tests/test-fcntl.c (check_flags, main): Enhance test for items
1927         we now guarantee.
1928
1929         fcntl: work around cygwin bug in F_DUPFD
1930         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
1931         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
1932         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
1933         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
1934         * doc/posix-functions/fcntl.texi (fcntl): Document it.
1935
1936         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
1937         * modules/fcntl (Files): List new files.
1938         (configure.ac): Run a test.
1939         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
1940         * lib/fcntl.c (rpl_fcntl): Likewise.
1941         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
1942         (gl_FCNTL_H): Always replace fcntl.h.
1943         * modules/fcntl-h (Makefile.am): Substitute witnesses.
1944         * lib/fcntl.in.h (fcntl): Declare replacement.
1945         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
1946         needed, plus a witness.
1947         * doc/posix-functions/fcntl.texi (fcntl): Document this.
1948         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
1949         * tests/test-fcntl.c: New file.
1950         * modules/fcntl-tests: Likewise.
1951
1952         binary-io: avoid potential compilation warning
1953         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
1954         directives.
1955
1956         fflush: avoid compilation error on NetBSD
1957         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
1958         between off_t and fpos_t, since the latter is sometimes a struct.
1959         * lib/fseeko.c (rpl_fseeko): Likewise.
1960         Reported by Alexander Nasonov <alnsn@yandex.ru>.
1961
1962 2009-12-15  Eric Blake  <ebb9@byu.net>
1963
1964         fcntl-h, stdio, sys_ioctl: fix declarations
1965         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
1966         function must not take arguments.
1967         * lib/sys_ioctl.in.h (ioctl): Likewise.
1968         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
1969         (open): Add a link warning.
1970
1971 2009-12-15  Jim Meyering  <meyering@redhat.com>
1972
1973         areadlink, areadlink-with-size: relax license to LGPLv2+
1974         * modules/areadlink (License): Relax to LGPLv2+.
1975         * modules/areadlink-with-size (License): Likewise.
1976
1977 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
1978             Bruno Haible  <bruno@clisp.org>
1979
1980         *printf: Fix memory leak.
1981         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
1982         * lib/vfprintf.c (vfprintf): Likewise.
1983         * lib/dprintf.c (dprintf): Likewise.
1984         * lib/vdprintf.c (vdprintf): Likewise.
1985
1986 2009-12-14  Eric Blake  <ebb9@byu.net>
1987
1988         accept4: adjust module dependencies
1989         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
1990
1991         utimens: one more try at avoiding compiler warning
1992         * lib/utimens.c (lutimens): Lower scope of result.
1993
1994 2009-12-13  Bruno Haible  <bruno@clisp.org>
1995
1996         Move the malloc checking from module 'list' to new module 'xlist'.
1997         * modules/xlist: New file.
1998         * lib/gl_xlist.h: New file.
1999         * lib/gl_xlist.c: New file.
2000         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
2001         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
2002         gl_list_add_last, gl_list_add_before, gl_list_add_after,
2003         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
2004         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
2005         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
2006         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
2007         gl_sortedlist_nx_add): New declarations.
2008         (struct gl_list_implementation): Rename and change methods accordingly.
2009         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
2010         (gl_list_nx_create): Renamed from gl_list_create.
2011         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
2012         (gl_list_nx_set_at): Renamed from gl_list_set_at.
2013         (gl_list_nx_add_first): Renamed from gl_list_add_first.
2014         (gl_list_nx_add_last): Renamed from gl_list_add_last.
2015         (gl_list_nx_add_before): Renamed from gl_list_add_before.
2016         (gl_list_nx_add_after): Renamed from gl_list_add_after.
2017         (gl_list_nx_add_at): Renamed from gl_list_add_at.
2018         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
2019         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
2020         gl_list_create_empty.
2021         (gl_list_nx_create): Renamed from gl_list_create.
2022         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
2023         (gl_list_nx_set_at): Renamed from gl_list_set_at.
2024         (gl_list_nx_add_first): Renamed from gl_list_add_first.
2025         (gl_list_nx_add_last): Renamed from gl_list_add_last.
2026         (gl_list_nx_add_before): Renamed from gl_list_add_before.
2027         (gl_list_nx_add_after): Renamed from gl_list_add_after.
2028         (gl_list_nx_add_at): Renamed from gl_list_add_at.
2029         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
2030         * lib/gl_array_list.c: Don't include xalloc.h.
2031         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
2032         NULL upon out-of-memory.
2033         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
2034         out-of-memory.
2035         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
2036         Change return type to 'int'.
2037         (gl_array_nx_set_at): Renamed from gl_array_set_at.
2038         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
2039         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
2040         upon out-of-memory.
2041         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
2042         upon out-of-memory.
2043         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
2044         upon out-of-memory.
2045         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
2046         upon out-of-memory.
2047         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
2048         out-of-memory.
2049         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
2050         Update.
2051         (gl_array_list_implementation): Update.
2052         * lib/gl_carray_list.c: Don't include xalloc.h.
2053         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
2054         Return NULL upon out-of-memory.
2055         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
2056         out-of-memory.
2057         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
2058         Change return type to 'int'.
2059         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
2060         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
2061         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
2062         upon out-of-memory.
2063         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
2064         upon out-of-memory.
2065         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
2066         out-of-memory.
2067         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
2068         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
2069         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
2070         Update.
2071         (gl_carray_list_implementation): Update.
2072         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
2073         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
2074         gl_linked_create_empty. Return NULL upon out-of-memory.
2075         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
2076         out-of-memory.
2077         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
2078         Change return type to 'int'. Return -1 upon out-of-memory.
2079         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
2080         out-of-memory.
2081         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
2082         upon out-of-memory.
2083         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
2084         upon out-of-memory.
2085         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
2086         NULL upon out-of-memory.
2087         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
2088         upon out-of-memory.
2089         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
2090         out-of-memory.
2091         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
2092         Update.
2093         * lib/gl_linked_list.c: Don't include xalloc.h.
2094         (gl_linked_list_implementation): Update.
2095         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
2096         (add_to_bucket): Change return type to 'int'.
2097         (gl_linkedhash_list_implementation): Update.
2098         * lib/gl_anytree_list1.h (free_subtree): New function.
2099         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
2100         gl_tree_create_empty. Return NULL upon out-of-memory.
2101         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
2102         Change return type to 'int'. Return -1 upon out-of-memory.
2103         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
2104         out-of-memory.
2105         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
2106         (gl_tree_remove_node): New function, moved here from
2107         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
2108         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
2109         Update.
2110         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
2111         malloc, not xmalloc. Return NULL upon out-of-memory.
2112         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
2113         out-of-memory.
2114         (gl_tree_remove_node_from_tree): New function, extracted from
2115         gl_tree_remove_node.
2116         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
2117         upon out-of-memory.
2118         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
2119         out-of-memory.
2120         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
2121         upon out-of-memory.
2122         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
2123         upon out-of-memory.
2124         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
2125         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
2126         not xmalloc. Return NULL upon out-of-memory.
2127         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
2128         out-of-memory.
2129         (gl_tree_remove_node_from_tree): New function, extracted from
2130         gl_tree_remove_node.
2131         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
2132         upon out-of-memory.
2133         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
2134         out-of-memory.
2135         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
2136         upon out-of-memory.
2137         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
2138         upon out-of-memory.
2139         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
2140         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
2141         gl_anytree_list1.h before gl_anyavltree_list2.h.
2142         (gl_avltree_list_implementation): Update.
2143         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
2144         gl_anytree_list1.h before gl_anyavltree_list2.h.
2145         (gl_rbtree_list_implementation): Update.
2146         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
2147         Change return type to 'int'. Return -1 upon out-of-memory. Use
2148         __builtin_expect.
2149         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
2150         (gl_avltreehash_list_implementation): Update.
2151         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
2152         (gl_rbtreehash_list_implementation): Update.
2153         * modules/array-list (Depends-on): Remove xalloc.
2154         * modules/carray-list (Depends-on): Likewise.
2155         * modules/linked-list (Depends-on): Likewise.
2156         * modules/linkedhash-list (Depends-on): Likewise.
2157         * modules/avltree-list (Depends-on): Likewise.
2158         * modules/rbtree-list (Depends-on): Likewise.
2159         * modules/avltreehash-list (Depends-on): Likewise.
2160         * modules/rbtreehash-list (Depends-on): Likewise.
2161
2162         * modules/xsublist: New file.
2163         * lib/gl_xsublist.h: New file.
2164         * lib/gl_xsublist.c: New file.
2165         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
2166         (gl_sublist_nx_create): New declaration.
2167         * lib/gl_sublist.c: Don't include xalloc.h.
2168         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
2169         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
2170         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
2171         Change return type to 'int'. Return -1 upon out-of-memory.
2172         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
2173         upon out-of-memory.
2174         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
2175         NULL upon out-of-memory.
2176         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
2177         upon out-of-memory.
2178         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
2179         NULL upon out-of-memory.
2180         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
2181         NULL upon out-of-memory.
2182         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
2183         upon out-of-memory.
2184         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
2185         (gl_sublist_list_implementation): Update.
2186         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
2187         upon out-of-memory.
2188         * modules/sublist (Depends-on): Remove xalloc.
2189
2190         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
2191         * tests/test-carray_list.c: Likewise.
2192         * tests/test-linked_list.c: Likewise.
2193         * tests/test-linkedhash_list.c: Likewise.
2194         * tests/test-avltree_list.c: Likewise.
2195         * tests/test-rbtree_list.c: Likewise.
2196         * tests/test-avltreehash_list.c: Likewise.
2197         * tests/test-rbtreehash_list.c: Likewise.
2198         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
2199         * modules/carray-list-tests (Makefile.am): Likewise.
2200         * modules/linked-list-tests (Makefile.am): Likewise.
2201         * modules/linkedhash-list-tests (Makefile.am): Likewise.
2202         * modules/avltree-list-tests (Makefile.am): Likewise.
2203         * modules/rbtree-list-tests (Makefile.am): Likewise.
2204         * modules/avltreehash-list-tests (Makefile.am): Likewise.
2205         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
2206
2207         * NEWS: Mention the changes.
2208
2209         * lib/clean-temp.c: Include gl_xlist.h.
2210         * modules/clean-temp (Depends-on): Add xlist.
2211
2212         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
2213         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
2214
2215         * tests/test-array_oset.c: Include gl_xlist.h.
2216         * modules/array-oset-tests (Depends-on): Add xlist.
2217
2218         Reported by José E. Marchesi <jemarch@gnu.org>.
2219
2220 2009-12-13  Bruno Haible  <bruno@clisp.org>
2221
2222         Move the malloc checking from module 'oset' to new module 'xoset'.
2223         * modules/xoset: New file.
2224         * lib/gl_xoset.h: New file.
2225         * lib/gl_xoset.c: New file.
2226         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
2227         declarations.
2228         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
2229         (struct gl_oset_implementation): Rename and change methods accordingly.
2230         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
2231         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
2232         'int'. Mark as __warn_unused_result__.
2233         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
2234         gl_oset_create_empty.
2235         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
2236         'int'.
2237         * lib/gl_array_oset.c: Don't include xalloc.h.
2238         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
2239         malloc, not xmalloc.
2240         (grow): Change return type to 'int'. Don't call xalloc_die.
2241         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
2242         to 'int'.
2243         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
2244         'int'.
2245         (gl_array_oset_implementation): Update.
2246         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
2247         gl_tree_create_empty.
2248         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
2249         'int'.
2250         * lib/gl_avltree_oset.c: Don't include xalloc.h.
2251         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
2252         xmalloc.
2253         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
2254         not xmalloc.
2255         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
2256         xmalloc.
2257         (gl_avltree_oset_implementation): Update.
2258         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
2259         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
2260         xmalloc.
2261         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
2262         not xmalloc.
2263         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
2264         xmalloc.
2265         (gl_rbtree_oset_implementation): Update.
2266         * modules/array-oset (Depends-on): Remove xalloc.
2267         * modules/avltree-oset (Depends-on): Likewise.
2268         * modules/rbtree-oset (Depends-on): Likewise.
2269         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
2270         * tests/test-avltree_oset.c: Likewise.
2271         * tests/test-rbtree_oset.c: Likewise.
2272         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
2273         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
2274         * modules/rbtree-oset-tests (Makefile.am): Likewise.
2275         * NEWS: Mention the change.
2276
2277 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
2278
2279         maint.mk: allow a project to override release-prep commands
2280         * top/maint.mk (alpha, beta, stable): Move release-preparatory
2281         commands into a new rule.
2282         (release-prep): New rule.
2283         (release-prep-hook): New overridable variable.
2284
2285 2009-12-13  Bruno Haible  <bruno@clisp.org>
2286
2287         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
2288
2289 2009-12-13  Jim Meyering  <meyering@redhat.com>
2290
2291         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
2292         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
2293
2294 2009-12-12  Bruno Haible  <bruno@clisp.org>
2295
2296         duplocale: Tweak.
2297         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
2298
2299 2009-12-12  Karl Berry  <karl@gnu.org>
2300
2301         * config/srclist.txt (strtoll.c): tab changes, no more sync.
2302
2303 2009-12-12  Bruno Haible  <bruno@clisp.org>
2304
2305         * m4/po.m4: Undo incorrect untabification.
2306
2307 2009-12-12  Bruno Haible  <bruno@clisp.org>
2308
2309         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
2310         * modules/c-strtod (Depends-on): Add locale.
2311         * modules/c-strtold (Depends-on): Likewise.
2312
2313 2009-12-12  Bruno Haible  <bruno@clisp.org>
2314
2315         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
2316
2317 2009-12-11  Eric Blake  <ebb9@byu.net>
2318
2319         setenv: relax requirement in light of POSIX ruling
2320         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
2321         not NULL.
2322         * tests/test-setenv.c (main): Relax test.
2323         * tests/test-unsetenv.c (main): Likewise.
2324         * doc/posix-functions/setenv.texi (setenv): Document this.
2325         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
2326
2327 2009-12-11  Bruno Haible  <bruno@clisp.org>
2328
2329         New module 'fd-safer-flag'.
2330         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
2331         * lib/dup-safer.c (dup_safer_flag): Remove function.
2332         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
2333         * lib/fd-safer.c (fd_safer_flag): Remove function.
2334         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
2335         * modules/cloexec (configure.ac): Drop indicator macro.
2336         * modules/fd-safer-flag: New file.
2337         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
2338         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
2339         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
2340
2341 2009-12-11  Bruno Haible  <bruno@clisp.org>
2342
2343         Tests for module 'nl_langinfo'.
2344         * modules/nl_langinfo-tests: New file.
2345         * tests/test-nl_langinfo.sh: New file.
2346         * tests/test-nl_langinfo.c: New file.
2347
2348         New module 'nl_langinfo'.
2349         * lib/nl_langinfo.c: New file.
2350         * m4/nl_langinfo.m4: New file.
2351         * modules/nl_langinfo: New file.
2352         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
2353
2354 2009-12-11  Bruno Haible  <bruno@clisp.org>
2355
2356         Tests for module 'langinfo'.
2357         * modules/langinfo-tests: New file.
2358         * tests/test-langinfo.c: New file.
2359
2360         New module 'langinfo'.
2361         * lib/langinfo.in.h: New file.
2362         * m4/langinfo_h.m4: New file.
2363         * modules/langinfo: New file.
2364         * doc/posix-headers/langinfo.texi: Mention the new module.
2365
2366 2009-12-11  Bruno Haible  <bruno@clisp.org>
2367
2368         * lib/config.charset: Untabify.
2369
2370 2009-12-11  Bruno Haible  <bruno@clisp.org>
2371
2372         * modules/unistd-safer (configure.ac): Drop indicator macro.
2373
2374 2009-12-11  Bruno Haible  <bruno@clisp.org>
2375
2376         Move pipe2-safer code to its own file.
2377         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
2378         * lib/pipe-safer.c (pipe2_safer): Remove function.
2379         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
2380         (Makefile.am): Add it to lib_SOURCES.
2381
2382 2009-12-10  Bruno Haible  <bruno@clisp.org>
2383
2384         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
2385
2386 2009-12-10  Bruno Haible  <bruno@clisp.org>
2387
2388         Declare which arguments expect non-NULL values, for GCC and clang.
2389         * build-aux/arg-nonnull.h: New file.
2390         * modules/arg-nonnull: New file.
2391         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
2392         (inet_ntop, inet_pton): Use it.
2393         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
2394         (closedir, dirfd, opendir, scandir, alphasort): Use it.
2395         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
2396         (open, openat): Use it.
2397         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
2398         (fnmatch): Use it.
2399         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
2400         (getopt, getopt_long, getopt_long_only): Use it.
2401         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
2402         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
2403         Use it.
2404         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
2405         (iconv_open): Use it.
2406         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
2407         (strtoimax, strtoumax): Use it.
2408         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
2409         (duplocale): Use it.
2410         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
2411         (frexp, frexpl): Use it.
2412         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
2413         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
2414         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
2415         (tsearch, tfind, tdelete, twalk): Use it.
2416         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
2417         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
2418         sigpending): Use it.
2419         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
2420         (posix_spawn, posix_spawnp, posix_spawnattr_init,
2421         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
2422         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
2423         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
2424         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
2425         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
2426         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
2427         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
2428         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
2429         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
2430         Use it.
2431         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
2432         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
2433         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
2434         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
2435         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
2436         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
2437         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
2438         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
2439         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
2440         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
2441         strtoull, unsetenv): Use it.
2442         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
2443         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
2444         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
2445         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
2446         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
2447         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
2448         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
2449         (strcasecmp, strncasecmp): Use it.
2450         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
2451         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
2452         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
2453         rpl_setsockopt): Use it.
2454         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
2455         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
2456         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
2457         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
2458         (gettimeofday): Use it.
2459         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
2460         (times): Use it.
2461         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
2462         (uname): Use it.
2463         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
2464         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
2465         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
2466         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
2467         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
2468         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
2469         unlinkat, write): Use it.
2470         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
2471         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
2472         * lib/argv-iter.h: Include arg-nonnull.h.
2473         (_ATTRIBUTE_NONNULL_): Remove macro.
2474         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
2475         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
2476         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
2477         optimization.
2478         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
2479         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
2480         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
2481         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
2482         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
2483         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
2484         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
2485         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
2486         * modules/arpa_inet (Depends-on): Add arg-nonnull.
2487         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
2488         * modules/dirent (Depends-on): Add arg-nonnull.
2489         (Makefile.am): Insert arg-nonnull.h into dirent.h.
2490         * modules/fcntl-h (Depends-on): Add arg-nonnull.
2491         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
2492         * modules/fnmatch (Depends-on): Add arg-nonnull.
2493         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
2494         * modules/getopt-posix (Depends-on): Add arg-nonnull.
2495         (Makefile.am): Insert arg-nonnull.h into getopt.h.
2496         * modules/glob (Depends-on): Add arg-nonnull.
2497         (Makefile.am): Insert arg-nonnull.h into glob.h.
2498         * modules/iconv_open (Depends-on): Add arg-nonnull.
2499         (Makefile.am): Insert arg-nonnull.h into iconv.h.
2500         * modules/inttypes (Depends-on): Add arg-nonnull.
2501         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
2502         * modules/locale (Depends-on): Add arg-nonnull.
2503         (Makefile.am): Insert arg-nonnull.h into locale.h.
2504         * modules/math (Depends-on): Add arg-nonnull.
2505         (Makefile.am): Insert arg-nonnull.h into math.h.
2506         * modules/netdb (Depends-on): Add arg-nonnull.
2507         (Makefile.am): Insert arg-nonnull.h into netdb.h.
2508         * modules/search (Depends-on): Add arg-nonnull.
2509         (Makefile.am): Insert arg-nonnull.h into search.h.
2510         * modules/signal (Depends-on): Add arg-nonnull.
2511         (Makefile.am): Insert arg-nonnull.h into signal.h.
2512         * modules/spawn (Depends-on): Add arg-nonnull.
2513         (Makefile.am): Insert arg-nonnull.h into spawn.h.
2514         * modules/stdio (Depends-on): Add arg-nonnull.
2515         (Makefile.am): Insert arg-nonnull.h into stdio.h.
2516         * modules/stdlib (Depends-on): Add arg-nonnull.
2517         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
2518         * modules/string (Depends-on): Add arg-nonnull.
2519         (Makefile.am): Insert arg-nonnull.h into string.h.
2520         * modules/strings (Depends-on): Add arg-nonnull.
2521         (Makefile.am): Insert arg-nonnull.h into strings.h.
2522         * modules/sys_socket (Depends-on): Add arg-nonnull.
2523         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
2524         * modules/sys_stat (Depends-on): Add arg-nonnull.
2525         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
2526         * modules/sys_time (Depends-on): Add arg-nonnull.
2527         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
2528         * modules/sys_times (Depends-on): Add arg-nonnull.
2529         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
2530         * modules/sys_utsname (Depends-on): Add arg-nonnull.
2531         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
2532         * modules/time (Depends-on): Add arg-nonnull.
2533         (Makefile.am): Insert arg-nonnull.h into time.h.
2534         * modules/unistd (Depends-on): Add arg-nonnull.
2535         (Makefile.am): Insert arg-nonnull.h into unistd.h.
2536         * modules/wchar (Depends-on): Add arg-nonnull.
2537         (Makefile.am): Insert arg-nonnull.h into wchar.h.
2538         * modules/argv-iter (Depends-on): Add arg-nonnull.
2539         * tests/test-canonicalize.c (null_ptr): New function.
2540         (main): Use it.
2541         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
2542         (main): Use it.
2543         * tests/test-memmem.c (null_ptr): New function.
2544         (main): Use it.
2545         Reported by Jim Meyering.
2546
2547 2009-12-10  Bruno Haible  <bruno@clisp.org>
2548
2549         Use spaces for indentation, not tabs.
2550         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
2551         * m4/*.m4: Untabify.
2552         * build-aux/*.h: Untabify.
2553         * tests/**/*.[hc]: Untabify.
2554         * README: New section "Indent with spaces, not TABs", based on
2555         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
2556         * NEWS: Mention the change.
2557
2558 2009-12-10  Bruno Haible  <bruno@clisp.org>
2559
2560         pty test: Fix link error.
2561         * modules/pty-tests (Makefile.am): Add the default LDADD value to
2562         test_pty_LDADD.
2563
2564 2009-12-07  Simon Josefsson  <simon@josefsson.org>
2565
2566         * modules/pty: New file.
2567         * modules/pty-tests: New file.
2568         * m4/pty.m4: New file.
2569         * tests/test-pty.c: New file.
2570         * doc/glibc-headers/pty.texi: Modified.
2571         * doc/glibc-functions/forkpty.texi: Modified.
2572         * doc/glibc-functions/openpty.texi: Modified.
2573
2574 2009-12-10  Bruno Haible  <bruno@clisp.org>
2575
2576         Avoid syntax error in C++ mode.
2577         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
2578
2579 2009-12-10  Bruno Haible  <bruno@clisp.org>
2580
2581         Use sed with option -e.
2582         * gnulib-tool (func_version, func_emit_copyright_notice,
2583         func_emit_initmacro_end, func_import, func_create_testdir): Pass
2584         option -e to sed.
2585         * modules/link-warning (Makefile.am): Likewise.
2586
2587 2009-12-10  Jim Meyering  <meyering@redhat.com>
2588
2589         mgetgroups: do not write bytes beyond end of malloc'd buffer
2590         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
2591         username, we call getgroups with a one-element-shorter buffer,
2592         but still told it the length was original, max_n_groups.
2593
2594 2009-12-09  Eric Blake  <ebb9@byu.net>
2595
2596         cloexec: relax license
2597         * modules/cloexec (Maintainer): Add myself.
2598         (License): Use LGPL, not GPL.
2599
2600         link-warning: optimize generation
2601         * modules/link-warning (Makefile.am): Reduce process usage.
2602
2603 2009-12-09  Bruno Haible  <bruno@clisp.org>
2604
2605         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
2606         workaround was added on 2009-11-17.
2607
2608 2009-12-09  Jim Meyering  <meyering@redhat.com>
2609             Bruno Haible  <bruno@clisp.org>
2610
2611         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
2612         * modules/link-warning (Makefile.am): Make the comment-removing sed
2613         command more robust in the face of bootstrap-prepended comment lines.
2614
2615 2009-12-09  Bruno Haible  <bruno@clisp.org>
2616
2617         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
2618         most one group.
2619
2620 2009-12-09  Simon Josefsson <simon@josefsson.org>
2621             Bruno Haible  <bruno@clisp.org>
2622
2623         * build-aux/link-warning.h: Add copyright notice.
2624         * modules/link-warning (Makefile.am): Generate link-warning.h from
2625         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
2626         * NEWS: Mention change in link-warning module.
2627         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
2628         * modules/dirent (Makefile.am): Add dependency to dirent.h.
2629         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
2630         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
2631         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
2632         * modules/math (Makefile.am): Add dependency to math.h.
2633         * modules/search (Makefile.am): Add dependency to search.h.
2634         * modules/signal (Makefile.am): Add dependency to signal.h.
2635         * modules/spawn (Makefile.am): Add dependency to spawn.h.
2636         * modules/stdio (Makefile.am): Add dependency to stdio.h.
2637         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
2638         * modules/string (Makefile.am): Add dependency to string.h.
2639         * modules/strings (Makefile.am): Add dependency to strings.h.
2640         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
2641         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
2642         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
2643         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
2644         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
2645         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
2646         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
2647         * modules/unistd (Makefile.am): Add dependency to unistd.h.
2648         * modules/wchar (Makefile.am): Add dependency to wchar.h.
2649
2650 2009-12-09  Bruno Haible  <bruno@clisp.org>
2651
2652         fchdir: Optimize away rpl_fstat when possible.
2653         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
2654         REPLACE_OPEN_DIRECTORY.
2655         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
2656
2657 2009-12-09  Bruno Haible  <bruno@clisp.org>
2658
2659         * lib/fchdir.c: Update comment.
2660
2661 2009-12-09  Bruno Haible  <bruno@clisp.org>
2662
2663         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
2664
2665 2009-12-08  Eric Blake  <ebb9@byu.net>
2666
2667         fchdir: avoid memory leak on re-registration.
2668         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
2669
2670 2009-12-08  Jim Meyering  <meyering@redhat.com>
2671
2672         init.sh: avoid Solaris 10 /bin/sh portability problem
2673         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
2674         sourced script:
2675           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
2676           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
2677           bar
2678         tests/init.sh relied on that, accepting a --set-path=DIR argument,
2679         and two tests used that idiom.
2680         * tests/init.sh: Update suggested usage comments.
2681         (path_prepend_): New function, to be used in place
2682         of the --src-path=DIR option.
2683         (setup_): Move PATH-prepending code into path_prepend_.
2684         * tests/test-pread.sh: Adapt to new usage.
2685         * tests/test-xalloc-die.sh: Likewise.
2686
2687 2009-12-08  Simon Josefsson  <simon@josefsson.org>
2688
2689         * doc/gnulib.texi (Glibc pty.h): Add.
2690         * doc/glibc-functions/forkpty.texi: Add.
2691         * doc/glibc-functions/openpty.texi: Add.
2692         Suggested by Bruno Haible.
2693
2694 2009-12-08  Eric Blake  <ebb9@byu.net>
2695
2696         fchdir: fix logic bugs
2697         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
2698         * tests/test-fchdir.c (main): Enhance test.
2699         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
2700         is in use.
2701
2702         dup2: fix logic bugs
2703         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
2704         REPLACE_DUP2 to decide when rpl_dup2 is needed.
2705         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
2706         exists.
2707         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
2708
2709 2009-12-07  Eric Blake  <ebb9@byu.net>
2710
2711         unlink: fix m4 detection
2712         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
2713
2714         unistd-safer: add unit test
2715         * modules/unistd-safer-tests: New file.
2716         * tests/test-dup-safer.c: Likewise.
2717         * tests/test-cloexec.c (setmode): Avoid compiler warning.
2718         * tests/test-dup2.c (setmode): Likewise.
2719         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
2720
2721         cloexec: preserve text vs. binary across dup_cloexec
2722         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
2723         mode.
2724         * modules/dup2-tests (Depends-on): Add binary-io.
2725         * modules/cloexec-tests (Depends-on): Likewise.
2726         * tests/test-dup2.c (setmode, is_mode): New helpers.
2727         (main): Add tests that translation mode is preserved.
2728         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
2729         Reported by Bruno Haible.
2730
2731         mgetgroups: reduce duplicate listings
2732         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
2733         resulting array.
2734         * tests/test-chown.h (test_chown): Simplify client.
2735         * tests/test-lchown.h (test_lchown): Likewise.
2736
2737 2009-12-06  Bruno Haible  <bruno@clisp.org>
2738
2739         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
2740         value.
2741
2742 2009-12-06  Bruno Haible  <bruno@clisp.org>
2743
2744         * lib/progname.c: Include stdio.h, stdlib.h.
2745         (set_program_name): Reject a NULL argument.
2746
2747 2009-12-05  Eric Blake  <ebb9@byu.net>
2748
2749         pipe2-safer: new module
2750         * modules/pipe2-safer: New file.
2751         * lib/unistd-safer.h (pipe2_safer): New prototype.
2752         * lib/unistd--.h (pipe2): New wrapper.
2753         * lib/pipe-safer.c (pipe2_safer): New function.
2754         * modules/pipe (Depends-on): Add pipe2-safer.
2755         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
2756
2757         stdlib-safer: preserve cloexec flag for mkostemp[s]
2758         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
2759         fd_safer_flag.
2760
2761         unistd-safer: allow preservation of cloexec status via flag
2762         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
2763         prototypes.
2764         * lib/dup-safer.c (dup_safer_flag): New function.
2765         * lib/fd-safer.c (fd_safer_flag): Likewise.
2766         * modules/cloexec (configure.ac): Set witness.
2767
2768         test-dup2: enhance test
2769         * modules/dup2-tests (Depends-on): Add cloexec.
2770         * tests/test-dup2.c (main): Enhance test.
2771
2772         cloexec: add dup_cloexec
2773         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
2774         header and comments.
2775         * lib/cloexec.c (set_cloexec_flag): Add comments.
2776         (dup_cloexec): New function, with mingw implementation borrowed
2777         from...
2778         * lib/w32spawn.h (dup_noinherit): ...here.
2779         * modules/execute (Depends-on): Add cloexec.
2780         * modules/pipe (Depends-on): Likewise.
2781         * modules/cloexec (Depends-on): Add dup2.
2782         * modules/cloexec-tests (Files): New file.
2783         * tests/test-cloexec.c: Likewise.
2784
2785         test-xalloc-die: fix test for mingw
2786         * modules/xalloc-die-tests (Files): Add tests/init.sh.
2787         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
2788         directory and .exe suffix off argv[0] output.
2789
2790         test-fseeko: fix test for mingw
2791         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
2792         than undefining fseek, so test will pass on mingw.
2793
2794 2009-12-05  Bruno Haible  <bruno@clisp.org>
2795
2796         * lib/progname.h (set_program_name): Clarify specification.
2797         * lib/progname.c (set_program_name): Likewise.
2798         Reported by Jim Meyering.
2799
2800 2009-12-05  Jim Meyering  <meyering@redhat.com>
2801
2802         maint.mk: backslash-escape parens in default regexp
2803         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
2804         backslash-escape the literal parentheses.
2805
2806         maint.mk: news-date-check: use grep -E
2807         * top/maint.mk (today): Define a Make variable, not a...
2808         (news-date-check): ...shell variable.
2809         (news-date-regexp): Use the Make variable.
2810         Use grep's -E option.  Change the failing diagnostic to mention
2811         the variable, $(news-date-regexp).
2812
2813 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
2814
2815         maintainer-makefile: allow customization of NEWS entry format
2816         * top/maint.mk (news-date-regexp): New overridable variable.
2817         (news-date-check): Use it.
2818
2819 2009-12-04  Eric Blake  <ebb9@byu.net>
2820
2821         mgetgroups: add xgetgroups, and avoid ENOSYS failures
2822         * lib/mgetgroups.h (xgetgroups): New prototype.
2823         * lib/mgetgroups.c (xgetgroups): New wrapper.
2824         (mgetgroups): Handle ENOSYS.
2825         * modules/mgetgroups (Depends-on): Add realloc.
2826         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
2827
2828         mgetgroups: avoid argument promotion issues with -1
2829         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
2830         for invalid gid_t.
2831         * tests/test-chown.h (getegid, test_chown): Likewise.
2832         * tests/test-lchown.h (getegid, test_lchown): Likewise.
2833
2834 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
2835
2836         exclude: Fix header file problems.
2837         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
2838
2839 2009-12-01  Jim Meyering  <meyering@redhat.com>
2840
2841         fts: fts_open: do not let an empty string cause immediate failure
2842         This is required in support of GNU rm, for which the command
2843         "rm A '' B" must process and remove both A and B, in spite of
2844         the empty string argument.
2845         * lib/fts.c (fts_open): Do not let the presence of an empty string
2846         cause fts_open to fail immediately.  Most fts-using tools must be
2847         able to process all arguments, in order, and can be expected to
2848         diagnose such arguments themselves.
2849
2850 2009-11-30  Eric Blake  <ebb9@byu.net>
2851
2852         utimens: fix compilation error
2853         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
2854         Declare variable at right scope.
2855
2856 2009-11-29  Jim Meyering  <meyering@redhat.com>
2857
2858         bootstrap: handle perl-5.11's changed --version output
2859         * build-aux/bootstrap (get_version): Handle perl separately,
2860         since perl-5.11's --version output is different.
2861
2862 2009-11-28  Jim Meyering  <meyering@redhat.com>
2863
2864         userspec: depend on the inttostr module, too
2865         * modules/userspec (Depends-on): Add inttostr.
2866
2867         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
2868         * lib/userspec.c (parse_with_separator): Do not accept a user ID
2869         number of MAXUID when it evaluates to (uid_t) -1.
2870         Likewise for group ID.  Reported by Matt McCutchen in
2871         <http://savannah.gnu.org/bugs/?28113>
2872
2873         userspec: reformat to use spaces, not TABs
2874         * lib/userspec.c: Expand TABs to spaces.
2875         Add Emacs' "indent-tabs-mode: nil" hint.
2876
2877 2009-11-27  Eric Blake  <ebb9@byu.net>
2878
2879         getopt-gnu: flush out another BSD bug
2880         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
2881         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
2882         flush out BSD bug.
2883         * tests/test-getopt.h (test_getopt): End lists with NULL.
2884         * tests/test-getopt_long.h (test_getopt_long): Likewise.
2885         (test_getopt_long_posix): Enhance test.
2886         * modules/getopt-posix-tests (Depends-on): Add stdbool.
2887         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
2888         getopt-gnu.
2889         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
2890         Likewise.
2891
2892 2009-11-27  Simon Josefsson  <simon@josefsson.org>
2893
2894         * modules/idpriv-droptemp-tests (Notice): Fix text.
2895
2896 2009-11-27  Jim Meyering  <meyering@redhat.com>
2897
2898         test-xalloc-die: avoid spurious failure due to libtool argv difference
2899         In a libtool-enabled project, this test would fail due to a difference
2900         in the emitted program name, e.g.,
2901         -test-xalloc-die: memory exhausted
2902         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
2903         Use program to avoid that.
2904         * modules/xalloc-die-tests (Depends-on): Add progname.
2905         * tests/test-xalloc-die.c: Include progname.h".
2906         (program_name): Remove decl.
2907         (main): Call set_program_name.
2908         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
2909
2910 2009-11-26  Richard Jones  <rjones@redhat.com>
2911
2912         w32sock: leave win32 error in place.
2913         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
2914
2915 2009-11-26  Eric Blake  <ebb9@byu.net>
2916
2917         init.sh: suggest to use skip_ and fail_ functions in comments
2918         * tests/init.sh: Add a sentence.
2919
2920 2009-11-25  Bruno Haible  <bruno@clisp.org>
2921
2922         init.sh: add documentation in comments
2923         * tests/init.sh: Add some developer and user documentation.
2924
2925 2009-11-26  Jim Meyering  <meyering@redhat.com>
2926
2927         init.sh: accommodate even those who specify bogus srcdir manually
2928         * tests/init.sh: Normally, srcdir is guaranteed by automake and
2929         configure-time tests to be sanitized, so that there is no need to
2930         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
2931         (with no double quotes) suffices.  However, since tests may be
2932         invoked manually, and since you may explicitly set srcdir to the
2933         name of a directory containing spaces, do quote its uses here.
2934         * tests/test-pread.sh: Likewise.
2935         Suggested by Bruno Haible.
2936
2937         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
2938         * tests/test-pread.sh: Write no data into the pipe, because
2939         test-pread actually reads none.  This avoids a diagnostic,
2940         "bash: echo: write error: Broken pipe", that arises in the unusual
2941         event something is ignoring SIGPIPE, and might be interpreted
2942         as some sort of failure.  Reported by Bruno Haible.
2943
2944 2009-11-25  Jim Meyering  <meyering@redhat.com>
2945
2946         test-pread: cover failure with ESPIPE and EINVAL
2947         * tests/test-pread.c (main): Test for failure, too.
2948         * tests/test-pread.sh: Invoke with stdin on a pipe.
2949         Suggested by Eric Blake.
2950
2951         pread: improvement and fix
2952         * modules/pread (Depends-on): Depend on lseek, for portability to
2953         e.g., mingw.  Suggested by Eric Blake.
2954         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
2955
2956         unistd.in.h: correct declaration of pread
2957         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
2958         Reported by Richard W.M. Jones.
2959
2960         test-pread.sh: distribute the test script
2961         * modules/pread-tests (Files): Include test-pread.sh.
2962
2963         test-pread.sh: clean up
2964         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
2965         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
2966         That is unnecessary, since it's always ".".
2967         Suggestion from Eric Blake.
2968
2969         test-pread.sh: make executable
2970         * tests/test-pread.sh: Set executable bit.
2971         Reported by Eric Blake.
2972
2973         correct typo in test-pread.sh
2974         * tests/test-pread.sh: Add #! line.
2975
2976         test pread
2977         * tests/test-pread.c: New file.
2978         * tests/test-pread.sh: Likewise.
2979         * modules/pread-tests: Likewise.
2980
2981         pread: new module
2982         * modules/pread: New file.
2983         * lib/unistd.in.h (pread): Define/declare.
2984         * lib/pread.c (pread): New file.
2985         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
2986         * modules/unistd (Makefile.am): Substitute witnesses.
2987         * doc/posix-functions/pread.texi (pread): Update.
2988         * MODULES.html.sh: Add pread.
2989
2990 2009-11-25  Jim Meyering  <meyering@redhat.com>
2991
2992         tests/init.sh: new file to be used via most *.sh tests
2993         * tests/init.sh: New file.
2994
2995 2009-11-25  Eric Blake  <ebb9@byu.net>
2996
2997         utimens: work around older Linux failure with symlinks
2998         * lib/utimens.c (lutimensat_works_really): New variable.
2999         (fdutimens, lutimens): Use it to manage kernels that support
3000         nanosecond times on files, but not on symlinks.
3001         Reported by OndÅ™ej Vašík.
3002
3003         utimes: fix configure grammar
3004         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
3005
3006 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
3007
3008         regex: Fix fastmap for multibyte character ranges.
3009         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
3010         characters when a multibyte character range is included.
3011
3012 2009-11-22  Andy Wingo  <wingo@pobox.com>
3013
3014         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
3015         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
3016
3017 2009-11-24  Bruno Haible  <bruno@clisp.org>
3018
3019         doc: Most *_l functions exist in MacOS X 10.5.
3020         * doc/posix-functions/duplocale.texi: Update platforms list.
3021         * doc/posix-functions/freelocale.texi: Likewise.
3022         * doc/posix-functions/newlocale.texi: Likewise.
3023         * doc/posix-functions/uselocale.texi: Likewise.
3024         * doc/posix-functions/isalnum_l.texi: Likewise.
3025         * doc/posix-functions/isalpha_l.texi: Likewise.
3026         * doc/posix-functions/isblank_l.texi: Likewise.
3027         * doc/posix-functions/iscntrl_l.texi: Likewise.
3028         * doc/posix-functions/isdigit_l.texi: Likewise.
3029         * doc/posix-functions/isgraph_l.texi: Likewise.
3030         * doc/posix-functions/islower_l.texi: Likewise.
3031         * doc/posix-functions/isprint_l.texi: Likewise.
3032         * doc/posix-functions/ispunct_l.texi: Likewise.
3033         * doc/posix-functions/isspace_l.texi: Likewise.
3034         * doc/posix-functions/isupper_l.texi: Likewise.
3035         * doc/posix-functions/iswalnum_l.texi: Likewise.
3036         * doc/posix-functions/iswalpha_l.texi: Likewise.
3037         * doc/posix-functions/iswblank_l.texi: Likewise.
3038         * doc/posix-functions/iswcntrl_l.texi: Likewise.
3039         * doc/posix-functions/iswctype_l.texi: Likewise.
3040         * doc/posix-functions/iswdigit_l.texi: Likewise.
3041         * doc/posix-functions/iswgraph_l.texi: Likewise.
3042         * doc/posix-functions/iswlower_l.texi: Likewise.
3043         * doc/posix-functions/iswprint_l.texi: Likewise.
3044         * doc/posix-functions/iswpunct_l.texi: Likewise.
3045         * doc/posix-functions/iswspace_l.texi: Likewise.
3046         * doc/posix-functions/iswupper_l.texi: Likewise.
3047         * doc/posix-functions/iswxdigit_l.texi: Likewise.
3048         * doc/posix-functions/isxdigit_l.texi: Likewise.
3049         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
3050         * doc/posix-functions/strcasecmp_l.texi: Likewise.
3051         * doc/posix-functions/strcoll_l.texi: Likewise.
3052         * doc/posix-functions/strfmon_l.texi: Likewise.
3053         * doc/posix-functions/strftime_l.texi: Likewise.
3054         * doc/posix-functions/strncasecmp_l.texi: Likewise.
3055         * doc/posix-functions/strxfrm_l.texi: Likewise.
3056         * doc/posix-functions/tolower_l.texi: Likewise.
3057         * doc/posix-functions/toupper_l.texi: Likewise.
3058         * doc/posix-functions/towctrans_l.texi: Likewise.
3059         * doc/posix-functions/towlower_l.texi: Likewise.
3060         * doc/posix-functions/towupper_l.texi: Likewise.
3061         * doc/posix-functions/wcscoll_l.texi: Likewise.
3062         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
3063         * doc/posix-functions/wctrans_l.texi: Likewise.
3064         * doc/posix-functions/wctype_l.texi: Likewise.
3065         * doc/glibc-functions/strptime_l.texi: Likewise.
3066         * doc/glibc-functions/strtod_l.texi: Likewise.
3067         * doc/glibc-functions/strtof_l.texi: Likewise.
3068         * doc/glibc-functions/strtol_l.texi: Likewise.
3069         * doc/glibc-functions/strtold_l.texi: Likewise.
3070         * doc/glibc-functions/strtoll_l.texi: Likewise.
3071         * doc/glibc-functions/strtoul_l.texi: Likewise.
3072         * doc/glibc-functions/strtoull_l.texi: Likewise.
3073         * doc/glibc-functions/wcsftime_l.texi: Likewise.
3074         * doc/glibc-functions/wcstod_l.texi: Likewise.
3075         * doc/glibc-functions/wcstof_l.texi: Likewise.
3076         * doc/glibc-functions/wcstol_l.texi: Likewise.
3077         * doc/glibc-functions/wcstold_l.texi: Likewise.
3078         * doc/glibc-functions/wcstoll_l.texi: Likewise.
3079         * doc/glibc-functions/wcstoul_l.texi: Likewise.
3080         * doc/glibc-functions/wcstoull_l.texi: Likewise.
3081
3082 2009-11-24  Bruno Haible  <bruno@clisp.org>
3083
3084         duplocale: Fix logic bug.
3085         * lib/duplocale.c: Don't include <langinfo.h>.
3086         (_NL_LOCALE_NAME): Remove macro.
3087         (rpl_duplocale): Use setlocale instead of nl_langinfo.
3088         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
3089
3090 2009-11-23  Jim Meyering  <meyering@redhat.com>
3091
3092         test-update-copyright: don't hard-code /usr/bin/perl
3093         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
3094         perl to print the current year.  Gilles Espinasse reported that
3095         the replaced use of perl was hard-coded as /usr/bin/perl.
3096
3097 2009-11-23  Bruno Haible  <bruno@clisp.org>
3098
3099         duplocale: Add support for glibc 2.3.x.
3100         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
3101
3102 2009-11-22  Bruno Haible  <bruno@clisp.org>
3103
3104         vasnprintf: Tiny optimization.
3105         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
3106         MacOS X.
3107
3108 2009-11-22  Bruno Haible  <bruno@clisp.org>
3109
3110         Tests for module 'duplocale'.
3111         * modules/duplocale-tests: New file.
3112         * tests/test-duplocale.c: New file.
3113
3114         New module 'duplocale'.
3115         * m4/duplocale.m4: New file.
3116         * lib/locale.in.h (duplocale): New declaration.
3117         * lib/duplocale.c: New file.
3118         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
3119         gl_LOCALE_H_DEFAULTS): New macros.
3120         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
3121         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
3122         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
3123         REPLACE_DUPLOCALE.
3124         * modules/duplocale: New file.
3125         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
3126
3127 2009-11-22  Bruno Haible  <bruno@clisp.org>
3128
3129         * modules/locale-tests (configure.ac): Test for newlocale function.
3130         * tests/test-locale.c: When the system has extended locale functions,
3131         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
3132
3133         locale: Make locale_t available when possible.
3134         * lib/locale.in.h: Include <xlocale.h> when it exists.
3135         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
3136         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
3137         * modules/locale (Depends-on): Add extensions.
3138         (Makefile.am): Also substitute HAVE_XLOCALE_H.
3139         * doc/posix-headers/locale.texi: Document the problem with locale_t.
3140
3141 2009-11-22  Bruno Haible  <bruno@clisp.org>
3142
3143         Add comments.
3144         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
3145         invocation.
3146         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
3147         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
3148         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
3149
3150 2009-11-22  Bruno Haible  <bruno@clisp.org>
3151
3152         error: account for the possibility of freopen (stdout).
3153         * lib/error.c: Include <unistd.h>.
3154         (flush_stdout): New function, extracted from error and error_at_line.
3155         Determine stdout's fd dynamically.
3156         (error, error_at_line): Invoke flush_stdout.
3157         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
3158         * modules/error (Depends-on): Add unistd.
3159
3160 2009-11-22  Bruno Haible  <bruno@clisp.org>
3161
3162         diffseq: Add comment.
3163         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
3164
3165 2009-11-22  Jim Meyering  <meyering@redhat.com>
3166
3167         c-stack: avoid defining an unused static function
3168         * lib/c-stack.c (find_stack_direction): Do not define this function
3169         when it will not be used.
3170
3171         diffseq: avoid spurious gcc warnings
3172         * lib/diffseq.h (IF_LINT2): Define.
3173         (compareseq): Use it to initialize two members of "part".
3174         This avoids two used-uninitialized warnings.
3175
3176 2009-11-21  Jim Meyering  <meyering@redhat.com>
3177
3178         c-stack: avoid "ignoring return value of `write'" warning
3179         * lib/c-stack.c: Include "ignore-value.h".
3180         (die): Explicitly ignore each write return value.
3181         * modules/c-stack (Depends-on): Add ignore-value.
3182
3183 2009-11-21  Bruno Haible  <bruno@clisp.org>
3184
3185         diffseq: reduce scope of variable 'best'.
3186         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
3187         variable, earlier used for two different purposes.
3188
3189 2009-11-21  Jim Meyering  <meyering@redhat.com>
3190
3191         diffseq: remove useless assignment to "best"
3192         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
3193         assignment.  At that point "best" is already guaranteed to be zero.
3194
3195 2009-11-20  Eric Blake  <ebb9@byu.net>
3196
3197         build: mention ftp redirector in release announcements
3198         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
3199         values that used to come from cfg.mk; mention FTP redirect URL.
3200         * build-aux/announce-gen: Mention the mirror list.
3201         Suggested by Karl Berry.
3202
3203         nanosleep: improve port to mingw
3204         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
3205         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
3206         LIB_NANOSLEEP, but only when needed.
3207         * modules/select (Link): Document LIBSOCKET.
3208         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
3209         enough.
3210
3211         nanosleep: work around cygwin bug
3212         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
3213         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
3214         bug.
3215         (getnow): Delete, not needed.
3216         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
3217         LIB_CLOCK_GETTIME.
3218         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
3219         clock-time, gettime.
3220         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
3221         bug.
3222         * modules/nanosleep-tests: New test.
3223         * tests/test-nanosleep.c: New file.
3224
3225         sleep: work around cygwin bug
3226         * lib/sleep.c (rpl_sleep): Work around the bug.
3227         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
3228         (gl_PREREQ_SLEEP): Delete unused macro.
3229         * modules/sleep (Depends-on): Add verify.
3230         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
3231         * modules/unistd (Makefile.am): Substitute witness.
3232         * lib/unistd.in.h (sleep): Update prototype.
3233         * doc/posix-functions/sleep.texi (sleep): Document the bug.
3234         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
3235         * modules/sleep-tests (Depends-on): Check for alarm.
3236
3237 2009-11-20  Jim Meyering  <meyering@redhat.com>
3238
3239         maint.mk: improve sc_prohibit_magic_number_exit
3240         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
3241         so it does not match uses like System.exit(1).
3242         Add comments showing how to correct all offenders.
3243
3244 2009-11-19  Eric Blake  <ebb9@byu.net>
3245
3246         xalloc-die-tests: add missing library
3247         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
3248
3249         test-xvasprintf: silence compiler warnings
3250         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
3251         empty string from gcc.
3252
3253 2009-11-19  Jim Meyering  <meyering@redhat.com>
3254
3255         xfreopen: new module, from coreutils
3256         * modules/xfreopen: New module.
3257         * lib/xfreopen.c: New file.
3258         * lib/xfreopen.h: New file.
3259         * MODULES.html.sh (File stream based Input/Output"): Add it.
3260
3261 2009-11-19  Eric Blake  <ebb9@byu.net>
3262
3263         manywarnings: depend on warnings
3264         * modules/manywarnings (Depends-on): Add warnings.
3265
3266         build: avoid compiler warnings
3267         * lib/select.c (rpl_select): Delete unused variable.
3268         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
3269
3270 2009-11-18  Eric Blake  <ebb9@byu.net>
3271
3272         tests: avoid false negative with --with-packager
3273         * tests/test-version-etc.sh: Discard packager information.
3274         * tests/test-argp-version-etc-1.sh: Likewise.
3275         Reported by Mike Frysinger.
3276
3277         utimens: fix regression on Solaris
3278         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
3279         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
3280         can only change fd timestamps via futimesat.  Instead, use an
3281         additional witness macro to avoid BSD bug.
3282         Reported by Jim Meyering.
3283
3284 2009-11-17  Eric Blake  <ebb9@byu.net>
3285
3286         usleep: use it to simplify tests
3287         * modules/stat-time-tests (Depends-on): Add usleep.
3288         (configure.ac): Drop usleep check.
3289         * modules/chown-tests (Depends-on, configure.ac): Likewise.
3290         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
3291         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
3292         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
3293         * modules/openat-tests (Depends-on, configure.ac): Likewise.
3294         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
3295         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
3296         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
3297         Likewise.
3298         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
3299         * tests/test-lchown.h (nap): Likewise.
3300         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
3301         * tests/test-stat-time.c (nap): Likewise.
3302         * tests/test-utimens-common.h (nap): Update comments.
3303
3304         usleep: new module
3305         * modules/usleep: New file.
3306         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
3307         * lib/usleep.c (usleep): Likewise.
3308         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
3309         * modules/unistd (Makefile.am): Substitute witnesses.
3310         * lib/unistd.in.h (usleep): Add declaration.
3311         * doc/pastposix-functions/usleep.texi (usleep): Document this.
3312         * MODULES.html.sh (Date and time): Likewise.
3313         * modules/usleep-tests (Depends-on): New test.
3314         * tests/test-usleep.c: New file.
3315
3316         chown: work around OpenBSD bug
3317         * lib/chown.c (rpl_chown): Work around the bug.
3318         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
3319         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
3320         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
3321         * modules/chown (Depends-on): Add stdbool.
3322         * modules/lchown (Depends-on): Likewise.
3323         * doc/posix-functions/chown.texi (chown): Document the bug.
3324         * doc/posix-functions/lchown.texi (lchown): Likewise.
3325         * tests/test-lchown.h (test_chown): Relax test.
3326
3327         mkstemp: avoid conflict with C++ keyword template
3328         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
3329         * lib/mkostemp.c (mkostemp): Likewise.
3330         * lib/mkostemps.c (mkostemps): Likewise.
3331         * lib/mkstemp.c (mkstemp): Likewise.
3332         * lib/mkstemps.c (mkstemps): Likewise.
3333
3334         xalloc-die-tests: optimize
3335         * tests/test-xalloc-die.sh: Reduce number of processes.
3336
3337 2009-11-17  Simon Josefsson  <simon@josefsson.org>
3338
3339         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
3340         patch from ludo@gnu.org (Ludovic Courtès).
3341
3342 2009-11-17  Jim Meyering  <meyering@redhat.com>
3343
3344         version-etc: use proper license string
3345         * modules/version-etc (License): Use LGPL, not LGPLv3+.
3346         * modules/version-etc-fsf: Likewise.
3347
3348 2009-11-17  Simon Josefsson  <simon@josefsson.org>
3349
3350         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
3351         printed to stdout.  Deal with EOL differences.
3352
3353 2009-11-17  Eric Blake  <ebb9@byu.net>
3354
3355         unsetenv: work around Solaris bug
3356         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
3357         * lib/unsetenv.c (rpl_unsetenv): Work around it.
3358         Reported by Jim Meyering.
3359
3360         vasnprintf: avoid compiler warnings
3361         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
3362         variables.
3363         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
3364
3365 2009-11-17  Simon Josefsson  <simon@josefsson.org>
3366
3367         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
3368         settings since xalloc-die is no longer the self test,
3369         xalloc-die.sh is.
3370
3371 2009-11-17  Jim Meyering  <meyering@redhat.com>
3372
3373         test-xalloc-die.sh: make the code agree with the commit log
3374         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
3375         at the end, just in case you happen to have a test-xalloc-die
3376         program in some other PATH directory.
3377
3378         test-xalloc-die.sh: fix a portability bug
3379         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
3380         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
3381         Otherwise, argv[0] (as often seen in diagnostics) would be too
3382         system-dependent, sometimes with, and sometimes without the leading "./".
3383
3384         version-etc-fsf: relax license to LGPLv3+
3385         * modules/version-etc-fsf (License): Relax license.
3386
3387 2009-11-16  Eric Blake  <ebb9@byu.net>
3388
3389         xalloc-die-tests: avoid printing null pointer
3390         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
3391         shell script.
3392         * tests/test-xalloc-die.c (program_name): Declare.
3393         * tests/test-xalloc-die.sh (tmpfiles): New file.
3394
3395         setenv, unsetenv: work around various bugs
3396         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
3397         (setenv) [HAVE_SETENV]: Work around bugs.
3398         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
3399         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
3400         for bugs.
3401         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
3402         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
3403         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
3404         * modules/stdlib (Makefile.am): Update substitutions.
3405         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
3406         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
3407         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
3408         * modules/setenv-tests: New test.
3409         * modules/unsetenv-tests: Likewise.
3410         * tests/test-setenv.c: New file.
3411         * tests/test-unsetenv.c: Likewise.
3412
3413 2009-11-16  Jim Meyering  <meyering@redhat.com>
3414
3415         version-etc: relax license to LGPLv3+
3416         * modules/version-etc (License): Relax license.
3417
3418         better AC_REQUIRE expanded-before-required-warning avoidance
3419         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
3420         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
3421         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
3422         which is no longer needed.
3423
3424 2009-11-16  Eric Blake  <ebb9@byu.net>
3425
3426         test-freading: clean up temporary file
3427         * tests/test-freading.c (main): Remove file on success, and use
3428         ASSERT more liberally.
3429         Reported by Jim Meyering.
3430
3431 2009-11-16  Jim Meyering  <meyering@redhat.com>
3432
3433         avoid new AC_REQUIRE expanded-before-required warnings
3434         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
3435         merely using it.
3436         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
3437         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
3438
3439 2009-11-15  Simon Josefsson  <simon@josefsson.org>
3440
3441         * tests/test-xalloc-die.c: New file.
3442         * modules/xalloc-die-tests: New file.
3443         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
3444         XFAIL_TESTS so it can be appended by modules.
3445
3446 2009-11-15  Simon Josefsson  <simon@josefsson.org>
3447
3448         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
3449         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
3450
3451 2009-11-14  Eric Blake  <ebb9@byu.net>
3452
3453         fnmatch: avoid compiler warning
3454         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
3455         to silence compiler warning about mismatch signedness in ?:.
3456         Reported by Robert Millan.
3457
3458         intprops: add double-inclusion guard
3459         * lib/intprops.h: Allow idempotent includes.
3460         Suggested by Bruce Korb.
3461
3462         openat: detect Solaris fchownat bug
3463         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
3464         penalizing glibc chownat when only lchownat is broken.
3465         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
3466         trailing slash bugs.
3467         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
3468         * modules/openat-tests (Files): Include more files.
3469         (Depends-on): Add mgetgroups, sleep, stat-time.
3470         (configure.ac): Add additional checks.
3471         (Makefile.am): Build new test.
3472         * tests/test-fchownat.c: New file.
3473
3474         lchown: detect Solaris and FreeBSD bug
3475         * lib/lchown.c (rpl_lchown): Work around bug.
3476         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
3477         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
3478         * modules/unistd (Makefile.am): Populate it.
3479         * lib/unistd.in.h (lchown): Update declaration.
3480         * doc/posix-functions/lchown.texi (lchown): Document the bug.
3481         * modules/lchown-tests: New file.
3482         * tests/test-lchown.h (test_lchown): Likewise.
3483         * tests/test-lchown.c (main): Likewise.
3484
3485         chown: detect Solaris and FreeBSD bug
3486         * lib/chown.c (rpl_chown): Work around bug.
3487         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
3488         (gl_PREREQ_CHOWN): Delete.
3489         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
3490         * modules/unistd (Makefile.am): Populate it.
3491         * lib/unistd.in.h (chown): Update declaration.
3492         * lib/lchown.c (chown): Update client.
3493         * modules/lchown (Depends-on): Add lstat.
3494         * doc/posix-functions/chown.texi (chown): Document the bug.
3495         * doc/posix-functions/getgroups.texi (getgroups): Document
3496         getgroups pitfall.
3497         * modules/chown-tests: New file.
3498         * tests/test-chown.h (test_chown): Likewise.
3499         * tests/test-chown.c (main): Likewise.
3500
3501 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
3502
3503         gnulib-tool: correctly detect absence of m4 directories
3504         * gnulib-tool: Avoid extra newline on data passed to wc -l.
3505
3506 2009-11-14  Jim Meyering  <meyering@redhat.com>
3507
3508         maint.mk: Prohibit inclusion of "xalloc.h" without use.
3509         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
3510
3511 2009-11-14  John W. Eaton  <jwe@gnu.org>
3512
3513         strftime.h: wrap funtion declaration in extern "C" block
3514         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
3515
3516 2009-11-13  Eric Blake  <ebb9@byu.net>
3517
3518         getgroups: avoid compiler warning
3519         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
3520
3521         getgroups: work around FreeBSD bug
3522         * lib/getgroups.c (rpl_getgroups): Work around the bug.
3523         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
3524         * doc/posix-functions/getgroups.texi (getgroups): Document it.
3525         * tests/test-getgroups.c (main): Fix buffer overrun.
3526
3527         getgroups: avoid compilation failure
3528         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
3529         * modules/getgroups (Depends-on): Add stdint.
3530
3531 2009-11-13  Jim Meyering  <meyering@redhat.com>
3532
3533         test-getgroups: avoid compilation failure
3534         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
3535
3536 2009-11-13  Eric Blake  <ebb9@byu.net>
3537
3538         mgetgroups: new module, taken from coreutils
3539         * modules/mgetgroups: New file.
3540         * lib/mgetgroups.h: Likewise.
3541         * lib/mgetgroups.c (mgetgroups): Likewise.
3542         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
3543         * MODULES.html.sh (Users and groups): Mention it.
3544
3545         getgroups: don't expose GETGROUPS_T to user
3546         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
3547         an element at a time if GETGROUPS_T is wrong size.
3548         * lib/getugroups.h (getugroups): Change signature.
3549         * lib/unistd.in.h (getgroups): Likewise.
3550         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
3551         signature needs fixing.
3552         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
3553         AC_TYPE_GETGROUPS.
3554         * modules/group-member (Depends-on): Add getgroups.
3555         * lib/group-member.c (group_info, get_group_info): Use gid_t.
3556         (group_member): Rely on getgroups replacement.
3557         * lib/getugroups.c (getugroups): Use gid_t.
3558         * tests/test-getgroups.c (main): Likewise.
3559         * NEWS: Mention the signature change.
3560         * doc/posix-functions/getgroups.texi (getgroups): Mention the
3561         problem with signature.
3562         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
3563         GETGROUPS_T is still useful for setgroups.
3564
3565         getgroups, getugroups: provide stubs for mingw
3566         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
3567         * lib/getugroups.c (getugroups): Likewise.
3568         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
3569         function.  Modernize replacement scheme.
3570         (gl_PREREQ_GETGROUPS): Delete.
3571         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
3572         * modules/getgroups (configure.ac): Declare witness.
3573         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
3574         * modules/unistd (Depends-on): Substitute witness.
3575         * lib/unistd.in.h (getgroups): Declare replacement.
3576
3577         getgroups: avoid calling exit
3578         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
3579         drop xalloc.
3580         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
3581         dependencies.
3582         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
3583         exiting, in the rare case of malloc failure.
3584
3585         getgroups: fix logic error
3586         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
3587         has more than 20 groups.
3588         * modules/getgroups-tests: New test.
3589         * tests/test-getgroups.c: New file.
3590
3591 2009-11-13  Simon Josefsson  <simon@josefsson.org>
3592
3593         * tests/test-base64.c: Improve.
3594
3595 2009-11-13  Simon Josefsson  <simon@josefsson.org>
3596
3597         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
3598         Blake <ebb9@byu.net>.
3599
3600 2009-11-13  Simon Josefsson  <simon@josefsson.org>
3601
3602         * tests/test-xvasprintf.c: Add %s%s related checks.
3603
3604 2009-11-12  Eric Blake  <ebb9@byu.net>
3605
3606         version-etc: match standards.texi style
3607         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
3608         and use <> only for URLs.
3609
3610 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
3611
3612         fts: do not fail on a submount during traversal
3613         * lib/fts.c (fts_build): Read the stat info again after opening
3614         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
3615         Original report at http://bugzilla.redhat.com/501848.
3616
3617 2009-11-12  Jim Meyering  <meyering@redhat.com>
3618
3619         bootstrap: sync from coreutils
3620         * build-aux/bootstrap (bootstrap_epilogue): New function.
3621         Use git_modules_config in one more place.  This make bootstrap's
3622         --gnulib-srcdir option more useful for testing.
3623
3624         bootstrap: generalize autoheader check
3625         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
3626         AC_CONFIG_HEADERS.
3627
3628 2009-11-11  Eric Blake  <ebb9@byu.net>
3629
3630         mkfifoat: use new modules for Solaris and BSD bugs
3631         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
3632         * lib/mkfifoat.c (mknodat): Split...
3633         * lib/mknodat.c (mknodat): ...into new file.
3634         * modules/mkfifoat (Files): Ship new file.
3635         (Depends-on): Add mkfifo, mknod.
3636         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
3637         (Depends-on): Add symlink.
3638         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
3639         redundant with test_mkfifo.h.
3640         (do_mkfifoat, do_mknodat): New helpers.
3641
3642         mknod: new module
3643         * modules/mknod: New file.
3644         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
3645         * lib/mknod.c (mknod): Likewise.
3646         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
3647         defaults.
3648         * modules/sys_stat (Makefile.am): Substitute them.
3649         * lib/sys_stat.in.h (mknod): Declare replacement.
3650         * MODULES.html.sh (Support for systems lacking POSIX:2008):
3651         Document it.
3652         * doc/posix-functions/mknod.texi (mknod): Likewise.
3653         * modules/mknod-tests: New test.
3654         * tests/test-mknod.c: Likewise.
3655
3656         mkfifo: new module
3657         * modules/mkfifo: New file.
3658         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
3659         * lib/mkfifo.c (mkfifo): Likewise.
3660         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
3661         defaults.
3662         * modules/sys_stat (Makefile.am): Substitute them.
3663         * lib/sys_stat.in.h (mkfifo): Declare replacement.
3664         * MODULES.html.sh (Support for systems lacking POSIX:2008):
3665         Document it.
3666         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
3667         * modules/mkfifo-tests: New test.
3668         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
3669         from test-mkfifoat.c.
3670         * tests/test-mkfifo.c: New file.
3671
3672         readlink: detect FreeBSD bug
3673         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
3674         slash on symlink.
3675         * doc/posix-functions/readlink.texi (readlink): Document the bug.
3676         * tests/test-readlink.h (test_readlink): Enhance test.
3677
3678         symlink: detect FreeBSD bug
3679         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
3680         slash on symlink.
3681         * doc/posix-functions/symlink.texi (symlink): Document the bug.
3682         * tests/test-symlink.h (test_symlink): Enhance test.
3683
3684 2009-11-10  Eric Blake  <ebb9@byu.net>
3685
3686         link: detect FreeBSD bug
3687         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
3688         symlink.
3689         * doc/posix-functions/link.texi (link): Document the bug.
3690         * tests/test-link.h (test_link): Enhance test.
3691         * tests/test-linkat.c (main): Update caller.
3692
3693         unlink, remove: detect FreeBSD bug
3694         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
3695         slash on symlink.
3696         * doc/posix-functions/unlink.texi (unlink): Document the bug.
3697         * doc/posix-functions/remove.texi (remove): Likewise.
3698         * tests/test-unlink.h (test_unlink): Enhance test.
3699         * tests/test-remove.c (main): Likewise.
3700
3701 2009-11-09  Eric Blake  <ebb9@byu.net>
3702
3703         rename: detect FreeBSD bug
3704         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
3705         slash on symlink.
3706         * modules/renameat-tests (Depends-on): Add filenamecat.
3707         * tests/test-rename.h (test_rename): Allow one more errno.
3708         * tests/test-renameat.c (main): Likewise.
3709         * doc/posix-functions/rename.texi (rename): Document the bug.
3710
3711         open: detect FreeBSD bug
3712         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
3713         symlink.
3714         * doc/posix-functions/open.texi (open): Document the bug.
3715         * doc/posix-functions/utimes.texi (utimes): Likewise.
3716         * tests/test-open.h (test_open): Add parameters, and test symlink
3717         handling.
3718         * tests/test-open.c (main): Adjust caller.
3719         * tests/test-fcntl-safer.c (main): Likewise.
3720         * modules/open-tests (Depends-on): Add stdbool, symlink.
3721         * modules/fcntl-safer-tests (Depends-on): Likewise.
3722         * tests/test-openat.c (main): Add test-open tests.
3723
3724         stat: detect FreeBSD bug
3725         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
3726         symlink.
3727         * doc/posix-functions/stat.texi (stat): Document the bug.
3728         * tests/test-stat.h (test_stat_func): Add argument.
3729         * tests/test-stat.c (main): Adjust caller.
3730         * tests/test-fstatat.c (main): Likewise.
3731         * modules/stat-tests (Depends-on): Add stdbool, symlink.
3732         Reported by Jim Meyering.
3733
3734 2009-11-09  James Youngman  <jay@gnu.org>
3735
3736         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
3737         * lib/strftime.c: Correct placement of #include "ignore-value.h".
3738
3739 2009-11-08  Jim Meyering  <meyering@redhat.com>
3740
3741         utimens: remove invalid futimesat call
3742         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
3743         It used the file descriptor of the target file as the DIR_FD
3744         parameter and NULL as the file name.  That caused failure with
3745         errno == EFAULT on FreeBSD-8.0-rc2
3746
3747 2009-11-07  Eric Blake  <ebb9@byu.net>
3748
3749         fflush, freadseek: use fseeko, not fseek
3750         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
3751         (clear_ungetc_buffer): Avoid potential problems on large files.
3752         * lib/freadseek.c (freadseek): Likewise.
3753         * modules/freadseek (Depends-on): Add fseeko.
3754         * modules/fseek (configure.ac): Set a witness.
3755         * tests/test-fflush.c (main): Use fseeko.
3756         * tests/test-fpurge.c (fseek): Disable link warning.
3757         * tests/test-freadable.c (fseek): Likewise.
3758         * tests/test-freading.c (fseek): Likewise.
3759         * tests/test-fseeko.c (fseek): Likewise.
3760         * tests/test-ftell.c (fseek): Likewise.
3761         * tests/test-ftello.c (fseek): Likewise.
3762         * tests/test-fwritable.c (fseek): Likewise.
3763         * tests/test-fwriting.c (fseek): Likewise.
3764
3765 2009-11-06  Simon Josefsson  <simon@josefsson.org>
3766
3767         * modules/memchr (Depends-on): Drop getpagesize dependency.
3768
3769 2009-11-06  Simon Josefsson  <simon@josefsson.org>
3770
3771         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
3772         Reported by Ludovic Courtès.
3773         * build-aux/pmccabe2html: Improve example usage.
3774         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
3775
3776 2009-11-06  Jim Meyering  <meyering@redhat.com>
3777
3778         do-release-commit-and-tag: New module.
3779         Automate the release-commit and tag process.
3780         * build-aux/do-release-commit-and-tag: New script, from coreutils.
3781         * modules/do-release-commit-and-tag: New file.
3782         * MODULES.html.sh (Support for maintaining and releasing): Add it.
3783
3784 2009-11-06  Simon Josefsson  <simon@josefsson.org>
3785
3786         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
3787         because test-select.c uses inet_pton.
3788
3789 2009-11-06  Simon Josefsson  <simon@josefsson.org>
3790
3791         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
3792         GETADDRINFO_LIB.  Bump serial number.
3793         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
3794         Suggested by Eric Blake <ebb9@byu.net>.
3795
3796 2009-11-05  Eric Blake  <ebb9@byu.net>
3797
3798         strtod: detect darwin bug
3799         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
3800         Reported by Leo Davis.
3801
3802         freopen-safer: new module
3803         * modules/freopen-safer: New module.
3804         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
3805         * lib/freopen-safer.c (freopen_safer): New file.
3806         * lib/stdio-safer.h (freopen_safer): New declaration.
3807         * lib/stdio--.h (freopen): New override.
3808         * MODULES.html.sh (File stream based Input/Output): Mention it.
3809         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
3810         freopen-safer module.
3811         * doc/posix-functions/stderr.texi (stderr): Likewise.
3812         * doc/posix-functions/stdin.texi (stdin): Likewise.
3813         * doc/posix-functions/stdout.texi (stdout): Likewise.
3814         * modules/freopen-safer-tests: New test.
3815         * tests/test-reopen-safer.c: New file.
3816
3817 2009-11-05  Jim Meyering  <meyering@redhat.com>
3818
3819         maint.mk: Prohibit inclusion of "close-stream.h" without use.
3820         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
3821
3822 2009-11-05  Simon Josefsson  <simon@josefsson.org>
3823
3824         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
3825
3826 2009-11-05  Simon Josefsson  <simon@josefsson.org>
3827
3828         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
3829
3830 2009-11-05  Simon Josefsson  <simon@josefsson.org>
3831
3832         Fix link error.
3833         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
3834         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
3835
3836 2009-11-05  Simon Josefsson  <simon@josefsson.org>
3837
3838         * tests/test-func.c: Also test value of __func__.
3839
3840 2009-11-05  Simon Josefsson  <simon@josefsson.org>
3841
3842         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
3843         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
3844
3845 2009-11-05  Bruno Haible  <bruno@clisp.org>
3846
3847         Fix link error.
3848         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
3849         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
3850         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
3851
3852 2009-11-05  Bruno Haible  <bruno@clisp.org>
3853
3854         Tests for module 'inet_pton'.
3855         * modules/inet_pton-tests: New file.
3856         * tests/test-inet_pton.c: New file.
3857
3858 2009-11-05  Bruno Haible  <bruno@clisp.org>
3859
3860         Tests for module 'inet_ntop'.
3861         * modules/inet_ntop-tests: New file.
3862         * tests/test-inet_ntop.c: New file.
3863
3864 2009-11-04  Eric Blake  <ebb9@byu.net>
3865
3866         stdlib-safer: wrap all mkstemp variants
3867         * modules/mkostemp (configure.ac): Set witness.
3868         * modules/mkostemps (configure.ac): Likewise.
3869         * modules/mkstemps (configure.ac): Likewise.
3870         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
3871         (mkstemps_safer): Wrap more functions.
3872         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
3873         wrapping.
3874         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
3875         (mkstemps_safer): Implement the wrappers.
3876
3877         mkstemps, mkostemps: new modules
3878         * modules/mkostemps: New module.
3879         * modules/mkstemps: Likewise.
3880         * lib/mkostemps.c (mkostemps): New file.
3881         * lib/mkstemps.c (mkstemps): Likewise.
3882         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
3883         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
3884         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
3885         * modules/stdlib (Makefile.am): Substitute them.
3886         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
3887         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
3888         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
3889         * doc/gnulib.texi (Glibc stdlib.h): Include them.
3890         * MODULES.html.sh (File system functions): Mention them.
3891
3892         tempname: resync from glibc
3893         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
3894         same values for __GT_FILE as glibc.  Abort even when assertions
3895         are disabled.
3896         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
3897         match its value otherwise.  Allow idempotent inclusion.
3898         * lib/mkdtemp.c (mkdtemp): Adjust caller.
3899         * lib/mkostemp.c (mkostemp): Likewise.
3900         * lib/mkstemp.c (mkstemp): Likewise.
3901         * lib/tmpfile.c (tmpfile): Likewise.
3902         * NEWS: Document this.
3903
3904         utimens: fix use of futimens on older Linux
3905         * lib/utimens.c (fdutimens): Use updated, rather than original,
3906         timespec to avoid bug in older Linux kernel.
3907         Reported by Simon Josefsson.
3908
3909 2009-11-04  Bruno Haible  <bruno@clisp.org>
3910
3911         Make num_processors more flexible and consistent.
3912         * lib/nproc.h (enum nproc_query): New type.
3913         (num_processors): Add a 'query' argument.
3914         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
3915         (num_processors): Add a 'query' argument. Test the value of the
3916         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
3917         mingw, count the number of CPUs available for the current process.
3918         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
3919         Check for sched_getaffinity and sched_getaffinity_np.
3920         * modules/nproc (Depends-on): Add c-ctype, extensions.
3921         * NEWS: Mention the change.
3922
3923 2009-11-03  Bruno Haible  <bruno@clisp.org>
3924
3925         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
3926
3927 2009-11-03  Jim Meyering  <meyering@redhat.com>
3928
3929         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
3930         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
3931         if it is defined.
3932
3933 2009-11-02  Eric Blake  <ebb9@byu.net>
3934
3935         mktime, timegm: share common declaration
3936         * lib/mktime-internal.h: New file.
3937         * lib/mktime.c: Use it rather than open-coding a declaration.
3938         * lib/timegm.c: Likewise.
3939         * modules/mktime (Files): Ship it.
3940         * modules/timegm (Files): Likewise.
3941         Suggested by Bruno Haible.
3942
3943         test-update-copyright: update test to match script changes
3944         * tests/test-update-copyright.sh: Avoid hard-coding perl
3945         location.  Don't update *.bak created by earlier runs.
3946
3947 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
3948             Simon Josefsson  <simon@josefsson.org>
3949             Bruno Haible  <bruno@clisp.org>
3950
3951         Fix link error on Solaris 8.
3952         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
3953         also in libnsl. Define also INET_PTON_LIB.
3954         * modules/inet_pton (Link): New section.
3955
3956 2009-11-02  Simon Josefsson  <simon@josefsson.org>
3957             Bruno Haible  <bruno@clisp.org>
3958
3959         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
3960         * modules/inet_ntop (Link): New section.
3961         Reported by Boyan Kasarov <bkasarov@gmail.com>.
3962
3963 2009-11-02  Eric Blake  <ebb9@byu.net>
3964
3965         maint: avoid compiler warnings in m4 macros
3966         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
3967         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
3968
3969 2009-11-02  Simon Josefsson  <simon@josefsson.org>
3970
3971         * m4/pmccabe2html.m4: Remove file.
3972         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
3973         function.  Change maintainer.
3974         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
3975         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
3976         Courtès).
3977
3978 2009-10-31  Eric Blake  <ebb9@byu.net>
3979
3980         fseeko: fix m4 regression
3981         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
3982         regression from 2009-10-27.
3983         Reported by Ralf Wildenhues.
3984
3985 2009-10-31  Jim Meyering  <meyering@redhat.com>
3986
3987         inttostr: aesthetics and improved (compile-time) safety
3988         Define inttype_is_signed rather than inttype_is_unsigned,
3989         since the sole use is via "#if inttype_is_signed".
3990         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
3991         inttype_is_unsigned.
3992         * lib/offtostr.c (inttype_is_signed): Likewise.
3993         * lib/uinttostr.c (inttype_is_signed): Likewise.
3994         * lib/umaxtostr.c (inttype_is_signed): Likewise.
3995         * lib/inttostr.c (inttostr): Use verify to cross-check the
3996         inttype_is_signed value and the signedness of the actual type.
3997         * modules/inttostr (Depends-on): Add verify.
3998
3999 2009-10-30  Eric Blake  <ebb9@byu.net>
4000
4001         build: avoid compiler warnings
4002         * lib/fchmodat.c (lchmod): Mark unused variables.
4003         * lib/getopt.c (_getopt_initialize): Likewise.
4004         * lib/mktime.c (__mktime_internal): Provide prototype.
4005         * lib/inttostr.c (inttostr): Avoid compiler warning even with
4006         older gcc that do not understand #pragma GCC diagnostic.
4007         * lib/uinttostr.c (inttype_is_unsigned): Define.
4008         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
4009
4010 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
4011
4012         stat: fix compilation on AIX
4013         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
4014         only see struct stat64.
4015
4016 2009-10-30  Eric Blake  <ebb9@byu.net>
4017
4018         exclude: make more robust
4019         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
4020         rather than masking a coding bug.
4021         Suggested by Bruno Haible.
4022
4023 2009-10-30  Jim Meyering  <meyering@redhat.com>
4024
4025         perl scripts: remove #!/usr/bin/perl in favor of more portable...
4026         Rather than putting #!/usr/bin/perl on the first line,
4027         start with a variant of what's recommended by "man perlrun" that
4028         invokes the first "perl" program from your shell's search path.
4029         * build-aux/gitlog-to-changelog: Replace #!... as above.
4030         Add a "Local Variables" perl mode setting.
4031         Prompted by a patch from Ludovic Courtès.
4032         Improved by Eric Blake.
4033         * build-aux/useless-if-before-free: Likewise.
4034         * build-aux/announce-gen: Likewise.
4035         * build-aux/update-copyright: Likewise.
4036
4037 2009-10-29  Eric Blake  <ebb9@byu.net>
4038
4039         filenamecat-lgpl: adjust clients
4040         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
4041         filenamecat.
4042         * modules/renameat (Depends-on): Likewise.
4043
4044         filenamecat: split into filenamecat-lgpl
4045         * modules/filenamecat-lgpl: New module.
4046         * modules/filenamecat (Files): Move library-safe files into
4047         filenamecat-lgpl.
4048         (Depends-on): Add filenamecat-lgpl.
4049         (configure.ac): Declare witness.
4050         * lib/filenamecat.h (file_name_concat): Only declare when using
4051         GPL module.
4052         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
4053         Move...
4054         * lib/filenamecat-lgpl.c: ...into new file.
4055         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
4056         (gl_FILE_NAME_CONCAT): Use it.
4057         * MODULES.html.sh (File system functions): Mention new module.
4058
4059         argp: avoid memory leak
4060         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
4061         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
4062         base_name, since the latter malloc()s and can call exit().
4063         Leak introduced 2006-07-03.
4064
4065         dirname-lgpl: adjust clients that don't need full dirname
4066         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
4067         * modules/filenamecat (Depends-on): Likewise.
4068         * modules/linkat (Depends-on): Likewise.
4069         * modules/mkancesdirs (Depends-on): Likewise.
4070         * modules/mkdir (Depends-on): Likewise.
4071         * modules/openat (Depends-on): Likewise.
4072         * modules/savewd (Depends-on): Likewise.
4073         * modules/rename (Depends-on): Likewise.
4074         (License): Relax license.
4075         * modules/mkdir-tests (Depends-on): Drop progname.
4076         (Makefile.am): Delete unneeded LDADD.
4077         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
4078
4079         dirname: split into dirname-lgpl
4080         * modules/dirname-lgpl: New module.
4081         * modules/dirname (Files): Move library-safe files into
4082         dirname-lgpl.
4083         (Depends-on): Add dirname-lgpl.
4084         (configure.ac): Declare witness.
4085         * modules/double-slash-root (License): Relax license.
4086         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
4087         module.
4088         * lib/dirname.c (dir_len, mdir_name): Move...
4089         * lib/dirname-lgpl.c: ...into new file.
4090         * lib/basename.c (last_component, base_len): Move...
4091         * lib/basename-lgpl.c: ...into new file.
4092         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
4093         (gl_DIRNAME): Use it.
4094         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
4095         Mention new module.
4096         * modules/dirname-tests (Depends-on): Add progname.
4097         * tests/test-dirname.c (program_name): Delete.
4098
4099         mkdir: make safe for libraries
4100         * modules/mkdir (Depends-on): Drop xalloc.
4101         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
4102         exit.
4103
4104         tests: avoid some compiler warnings
4105         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
4106         literals.
4107         * tests/test-memchr.c (main): Avoid type mismatch.
4108         * tests/test-arpa_inet.c (main): Avoid unused parameters.
4109         * tests/test-base64.c (main): Likewise.
4110         * tests/test-getdelim.c (main): Likewise.
4111         * tests/test-gethostname.c (main): Likewise.
4112         * tests/test-getline.c (main): Likewise.
4113         * tests/test-netinet_in.c (main): Likewise.
4114         * tests/test-select.c (open_server_socket, main): Likewise.
4115         * tests/test-select-stdin.c (main): Likewise.
4116         * tests/test-sockets.c (main): Likewise.
4117         * tests/test-strsignal.c (main): Likewise.
4118         * tests/test-sys_select.c (main): Likewise.
4119         * tests/test-sys_socket.c (main): Likewise.
4120         * tests/test-u64.c (main): Likewise.
4121         * tests/test-xfprintf-posix.c (main): Likewise.
4122         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
4123
4124         sockets: avoid compiler warning
4125         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
4126
4127         maint: detect usage(1) and other suspicious exits
4128         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
4129
4130 2009-10-29  Jim Meyering  <meyering@redhat.com>
4131
4132         timespec: long-to-int truncation could make timespec_cmp malfunction
4133         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
4134         a multiple of 2^32 nanoseconds as no difference.
4135
4136 2009-10-28  Jim Meyering  <meyering@redhat.com>
4137
4138         fprintftime: wrap macro code argument in "do {...} while(0)"
4139         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
4140         cpy macro must be a statement that can be followed by a semicolon.
4141         Now that the else clause contains a comment and is hence longer
4142         than one line, I require curly braces.  That in turn requires
4143         that we wrap this code block in the standard do...while(0).
4144
4145         fprintftime: remove stray semicolon from previous change
4146         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
4147
4148         fprintftime: avoid a warning about ignored fwrite return value
4149         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
4150         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
4151         that is unsafe.
4152         * modules/fprintftime (Depends-on): Add ignore-value.
4153
4154         exclude: avoid an unwarranted warning
4155         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
4156
4157 2009-10-27  Eric Blake  <ebb9@byu.net>
4158
4159         fseek: avoid compilation failure when fflush is replaced
4160         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
4161         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
4162         module is in use.
4163         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
4164         module is not in use; since REPLACE_FSEEK worked otherwise.
4165         (GNULIB_FTELLO): Likewise for ftell.
4166         Reported by Ian Beckwith and others.
4167
4168 2009-10-27  Bruno Haible  <bruno@clisp.org>
4169
4170         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
4171         Reported by Jim Meyering.
4172
4173 2009-10-27  Jim Meyering  <jim@meyering.net>
4174             Bruno Haible  <bruno@clisp.org>
4175
4176         Avoid warning despite dropping the return value of fwrite.
4177         * lib/unicodeio.c: Include ignore-value.h.
4178         (fwrite_success_callback): Explicitly ignore fwrite's return value.
4179         * modules/unicodeio (Depends-on): Add ignore-value.
4180
4181 2009-10-26  Eric Blake  <ebb9@byu.net>
4182
4183         areadlinkat: fix fallback path
4184         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
4185         pointer and zero.
4186
4187 2009-10-22  Pádraig Brady  <P@draigBrady.com>
4188
4189         Use a better IO block size for modern systems
4190         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
4191         * lib/md2.c: Likewise.
4192         * lib/md4.c: Likewise.
4193         * lib/md5.c: Likewise.
4194         * lib/sha1.c: Likewise.
4195         * lib/sha256.c: Likewise.
4196         * lib/sha512.c: Likewise.
4197
4198 2009-10-22  Eric Blake  <ebb9@byu.net>
4199
4200         tests: avoid several compiler warnings
4201         * tests/test-getcwd.c (main): Avoid buffer underflow.
4202         * tests/test-getdate.c (main): String literals are not safe with
4203         putenv, so use setenv.  Declare unused argument.
4204         * modules/getdate-tests (Depends-on): Add setenv.
4205         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
4206         problems with string literals in char *.
4207         * tests/test-hash.c (main): Avoid shadowing declaration.
4208         (insert_new): Treat string literals as char const *.
4209         * tests/test-getopt.h (test_getopt): Likewise.
4210         (getopt_loop): Alter types to minimize casting elsewhere.
4211         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
4212         (test_getopt_long_posix): Likewise.
4213         (do_getopt_long): Add wrapper to minimize casting.
4214         * tests/test-atexit.c (clear_temp_file): Use void.
4215         * tests/test-areadlink-with-size.c (main): Declare unused
4216         arguments.
4217         * tests/test-areadlink.c (main): Likewise.
4218         * tests/test-areadlinkat-with-size.c (main): Likewise.
4219         * tests/test-areadlinkat.c (main): Likewise.
4220         * tests/test-canonicalize-lgpl.c (main): Likewise.
4221         * tests/test-canonicalize.c (main): Likewise.
4222         * tests/test-dirent-safer.c (main): Likewise.
4223         * tests/test-dirname.c (main): Likewise.
4224         * tests/test-dup2.c (main): Likewise.
4225         * tests/test-fchdir.c (main): Likewise.
4226         * tests/test-fcntl-h.c (main): Likewise.
4227         * tests/test-fcntl-safer.c (main): Likewise.
4228         * tests/test-fdopendir.c (main): Likewise.
4229         * tests/test-fdutimensat.c (main): Likewise.
4230         * tests/test-fflush.c (main): Likewise.
4231         * tests/test-filenamecat.c (main): Likewise.
4232         * tests/test-filevercmp.c (main): Likewise.
4233         * tests/test-fopen-safer.c (main): Likewise.
4234         * tests/test-fopen.c (main): Likewise.
4235         * tests/test-fpending.c (main): Likewise.
4236         * tests/test-fpurge.c (main): Likewise.
4237         * tests/test-freading.c (main): Likewise.
4238         * tests/test-fstatat.c (main): Likewise.
4239         * tests/test-fsync.c (main): Likewise.
4240         * tests/test-futimens.c (main): Likewise.
4241         * tests/test-getndelim2.c (main): Likewise.
4242         * tests/test-gettimeofday.c (main): Likewise.
4243         * tests/test-getopt.c (main): Likewise.
4244         * tests/test-i-ring.c (main): Likewise.
4245         * tests/test-inttypes.c (main): Likewise.
4246         * tests/test-link.c (main): Likewise.
4247         * tests/test-lstat.c (main): Likewise.
4248         * tests/test-math.c (main): Likewise.
4249         * tests/test-md5.c (main): Likewise.
4250         * tests/test-memchr2.c (main): Likewise.
4251         * tests/test-memrchr.c (main): Likewise.
4252         * tests/test-mkdir.c (main): Likewise.
4253         * tests/test-mkdirat.c (main): Likewise.
4254         * tests/test-mkfifoat.c (main): Likewise.
4255         * tests/test-open.c (main): Likewise.
4256         * tests/test-openat-safer.c (main): Likewise.
4257         * tests/test-openat.c (main): Likewise.
4258         * tests/test-quotearg.c (main): Likewise.
4259         * tests/test-rawmemchr.c (main): Likewise.
4260         * tests/test-readlink.c (main): Likewise.
4261         * tests/test-remove.c (main): Likewise.
4262         * tests/test-rename.c (main): Likewise.
4263         * tests/test-renameat.c (main): Likewise.
4264         * tests/test-rmdir.c (main): Likewise.
4265         * tests/test-sha1.c (main): Likewise.
4266         * tests/test-signal.c (main): Likewise.
4267         * tests/test-sigaction.c (main): Likewise.
4268         * tests/test-stat.c (main): Likewise.
4269         * tests/test-stat-time.c (main): Likewise.
4270         * tests/test-stddef.c (main): Likewise.
4271         * tests/test-stdint.c (main): Likewise.
4272         * tests/test-stdio.c (main): Likewise.
4273         * tests/test-stdlib.c (main): Likewise.
4274         * tests/test-strchrnul.c (main): Likewise.
4275         * tests/test-strerror.c (main): Likewise.
4276         * tests/test-string.c (main): Likewise.
4277         * tests/test-strtod.c (main): Likewise.
4278         * tests/test-strverscmp.c (main): Likewise.
4279         * tests/test-symlink.c (main): Likewise.
4280         * tests/test-symlinkat.c (main): Likewise.
4281         * tests/test-sys_stat.c (main): Likewise.
4282         * tests/test-sys_time.c (main): Likewise.
4283         * tests/test-time.c (main): Likewise.
4284         * tests/test-unistd.c (main): Likewise.
4285         * tests/test-unlink.c (main): Likewise.
4286         * tests/test-unlinkat.c (main): Likewise.
4287         * tests/test-utimens.c (main): Likewise.
4288         * tests/test-utimensat.c (main): Likewise.
4289         * tests/test-version-etc.c (main): Likewise.
4290         * tests/test-wchar.c (main): Likewise.
4291         * tests/test-wctype.c (main): Likewise.
4292         * tests/test-xprintf-posix.c (main): Likewise.
4293         * tests/test-posixtm.c (main): Likewise.
4294         (STREQ): Delete unused macro.
4295         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
4296         shadowed variables.
4297         * tests/test-memchr.c (main): Likewise.
4298
4299 2009-10-21  Eric Blake  <ebb9@byu.net>
4300
4301         areadlinkat: avoid failure on older glibc
4302         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
4303         rather than mis-comparing 0 against FUNC_RESULT of char*.
4304
4305 2009-10-21  Bruno Haible  <bruno@clisp.org>
4306
4307         * modules/stpncpy (License): Relicense under LGPLv2+.
4308         Reported by David Lutterkort <lutter@redhat.com>.
4309
4310 2009-10-20  Eric Blake  <ebb9@byu.net>
4311
4312         utimensat: work around Solaris 9 bug
4313         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
4314         has trailing slash bugs.
4315         * tests/test-lutimens.h (test_lutimens): Enhance test.
4316         * tests/test-utimens.h (test_utimens): Likewise.
4317         * doc/posix-functions/utime.texi (utime): Enhance documentation.
4318         * doc/posix-functions/utimes.texi (utimes): Likewise.
4319         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
4320         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
4321         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
4322         * doc/posix-functions/futimens.texi (futimens): Likewise.
4323
4324         fdutimensat: new module
4325         * modules/fdutimensat: New file.
4326         * lib/fdutimensat.c (fdutimensat): Likewise.
4327         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
4328         * MODULES.html.sh (File system functions): Mention module.
4329         * modules/fdutimensat-tests: New test.
4330         * tests/test-fdutimensat.c: Likewise.
4331
4332         doc: regenerate INSTALL
4333         * doc/INSTALL: Reflect recent autoconf update.
4334         * doc/INSTALL.ISO: Likewise.
4335         * doc/INSTALL.UTF-8: Likewise.
4336
4337 2009-10-20  Pádraig Brady  <P@draigBrady.com>
4338
4339         acl: warn if ACL support is not detected
4340         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
4341
4342 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
4343
4344         * lib/nproc.h: Add extern "C" block for C++.
4345
4346 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
4347             Bruno Haible  <bruno@clisp.org>
4348
4349         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
4350         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
4351         * doc/posix-functions/isalpha.texi: Likewise.
4352         * doc/posix-functions/isblank.texi: Likewise.
4353         * doc/posix-functions/iscntrl.texi: Likewise.
4354         * doc/posix-functions/isdigit.texi: Likewise.
4355         * doc/posix-functions/isgraph.texi: Likewise.
4356         * doc/posix-functions/islower.texi: Likewise.
4357         * doc/posix-functions/isprint.texi: Likewise.
4358         * doc/posix-functions/ispunct.texi: Likewise.
4359         * doc/posix-functions/isspace.texi: Likewise.
4360         * doc/posix-functions/isupper.texi: Likewise.
4361         * doc/posix-functions/isxdigit.texi: Likewise.
4362
4363 2009-10-18  Bruno Haible  <bruno@clisp.org>
4364
4365         Tests for module 'isblank'.
4366         * modules/isblank-tests: New file.
4367         * tests/test-isblank.c: New file.
4368
4369         New module 'isblank'.
4370         * lib/isblank.c: New file.
4371         * m4/isblank.m4: New file.
4372         * modules/isblank: New file.
4373         * doc/posix-functions/isblank.texi: Mention the new module.
4374
4375 2009-10-18  Bruno Haible  <bruno@clisp.org>
4376
4377         New module 'ctype'.
4378         * lib/ctype.in.h: New file.
4379         * m4/ctype.m4: New file.
4380         * modules/ctype: New file.
4381         * doc/posix-headers/ctype.texi: Mention the new module.
4382
4383 2009-10-18  Jim Meyering  <meyering@redhat.com>
4384
4385         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
4386         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
4387         right after its initialization, rather than farther down.
4388         Keeping these in close proximity makes it easier to ensure
4389         that each such variable is initialized.  E.g.,
4390
4391             LIB_CLOCK_GETTIME=
4392             AC_SUBST([LIB_CLOCK_GETTIME])
4393
4394         This change also increments these serial numbers.
4395         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
4396         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
4397         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
4398
4399 2009-10-18  Bruno Haible  <bruno@clisp.org>
4400
4401         Don't let environment variables perturb build.
4402         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
4403         (gl_PREREQ_GETHRXTIME): ... not here.
4404
4405 2009-10-18  Bruno Haible  <bruno@clisp.org>
4406
4407         Avoid symlink attack in localcharset module.
4408         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
4409         (O_NOFOLLOW): Define fallback.
4410         (get_charset_aliases): Don't open the file if it is a symbolic link.
4411         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
4412         gl_FCNTL_H.
4413         (gl_FCNTL_H): Require it.
4414         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
4415         * modules/localcharset (Files): Add m4/fcntl_h.m4.
4416         Reported by Fergal Glynn <fglynn@veracode.com>.
4417
4418 2009-10-18  Bruno Haible  <bruno@clisp.org>
4419
4420         Implement nproc for mingw.
4421         * lib/nproc.c: Include <windows.h>
4422         (num_processors): On native Windows platforms, try GetSystemInfo.
4423
4424 2009-10-18  Bruno Haible  <bruno@clisp.org>
4425
4426         Implement nproc for IRIX.
4427         * lib/nproc.c: Include <sys/sysmp.h>.
4428         (num_processors): On IRIX systems, try sysmp.
4429         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
4430
4431 2009-10-18  Bruno Haible  <bruno@clisp.org>
4432
4433         Implement nproc for HP-UX.
4434         * lib/nproc.c: Include <sys/pstat.h>
4435         (num_processors): On HP-UX systems, try pstat_getdynamic.
4436         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
4437         pstat_getdynamic.
4438
4439 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
4440             Bruno Haible  <bruno@clisp.org>
4441
4442         Implement nproc for NetBSD, OpenBSD.
4443         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
4444         (ARRAY_SIZE): New macro.
4445         (num_processors): On BSD systems, try sysctl of HW_NCPU.
4446         * m4/nproc.m4: New file.
4447         * modules/nproc (Files): Add m4/nproc.m4.
4448         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
4449         (Makefile.am): Instead, augment lib_SOURCES.
4450
4451 2009-10-18  Bruno Haible  <bruno@clisp.org>
4452
4453         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
4454         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
4455         sys/param.h.
4456
4457 2009-10-16  Eric Blake  <ebb9@byu.net>
4458
4459         utimensat: new module
4460         * modules/utimensat: New file.
4461         * lib/utimensat.c (utimensat): Likewise.
4462         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
4463         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
4464         so we can work around Linux bugs.
4465         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
4466         * modules/sys_stat (Makefile.am): Substitute them.
4467         * lib/sys_stat.in.h (utimensat): Declare it.
4468         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
4469         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
4470         * modules/utimensat-tests: New test.
4471         * tests/test-utimensat.c: Likewise.
4472
4473         utimens: let lutimens work on non-symlinks
4474         * lib/utimens.c (lutimens): Fall back to utimens rather than
4475         failing with ENOSYS, when file is not a symlink.
4476         (utimens): Reduce redirection.
4477         * tests/test-lutimens.h (test_lutimens): Update test to cover
4478         non-symlinks.
4479         * tests/test-utimens.h (test_utimens): Update test to cover
4480         symlinks.
4481         * tests/test-utimens.c (main): Update caller.
4482
4483         utimens: cache whether utimensat syscall works
4484         * lib/utimens.c (utimensat_works_really): New cache variable.
4485         (fdutimens, lutimens): Use it to avoid failing syscall.
4486
4487         test-stat-time, test-utimens: improve portability
4488         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
4489         ext4 on alpha, and for cygwin.
4490         * tests/test-utimens-common.h: New file.
4491         (nap): Factor delays into single function.
4492         * tests/test-lutimens.h (test_lutimens): Use new header.
4493         * tests/test-futimens.h (test_futimens): Likewise.
4494         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
4495         timestamps to occur from same machine, as was done previously for
4496         test_utimens.
4497         * modules/utimens-tests (Files): Ship new file.
4498         * modules/futimens-tests (Files): Likewise.
4499         Reported in part by Jim Meyering.
4500
4501         sys_stat: sort replacement declarations
4502         * lib/sys_stat.in.h: Sort declarations.
4503         * lib/futimens.c (futimens): Fix typo.
4504
4505 2009-10-15  Jim Meyering  <meyering@redhat.com>
4506
4507         don't let environment settings perturb build
4508         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
4509         could cause a configure-time and/or build-time malfunction.
4510         Typically, a configure-time function-in-library test is performed
4511         via code like this:
4512
4513           LIB_VAR=
4514           AC_SUBST([LIB_VAR])
4515           prefix_saved_LIBS=$LIBS
4516             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
4517                        [test "$ac_cv_search_FUNC" = "none required" ||
4518                         LIB_VAR=$ac_cv_search_FUNC])
4519           LIBS=$prefix_saved_LIBS
4520
4521         However, in each of the files affected by this change, the LIB_VAR=
4522         initialization was omitted.  Thus, when set in the environment, its
4523         value would propagate into generated Makefiles when FUNC is not found
4524         in LIB_NAME.
4525         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
4526         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
4527         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
4528
4529 2009-10-14  Eric Blake  <ebb9@byu.net>
4530
4531         fchdir: avoid infinite recursion in mingw
4532         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
4533         recursing.
4534
4535         test-stat-time: port to mingw
4536         * tests/test-stat-time.c (force_unlink): Return a value.
4537         (test_ctime) [W32]: Fix compilation error.
4538         (nap): Don't call usleep with too large an argument.  Use
4539         force_unlink.
4540         * doc/pastposix-functions/usleep.texi (usleep): Document the
4541         portability issue.
4542
4543 2009-10-13  Jim Meyering  <meyering@redhat.com>
4544
4545         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
4546         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
4547         * modules/pipe-filter-ii: Likewise.
4548         * modules/sys_socket-tests: Likewise.
4549         * modules/tsearch-tests: Likewise.
4550         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
4551         (check): Depend on it.
4552
4553 2009-10-12  Eric Blake  <ebb9@byu.net>
4554
4555         utimens-tests: port to NFS file systems
4556         * tests/test-utimens.h (test_utimens): Refactor utimecmp
4557         comparisons to avoid spurious failures from timestamp drift
4558         between NFS machines.
4559
4560 2009-10-12  Eric Blake  <ebb9@byu.net>
4561
4562         stat-time-tests: minor cleanups
4563         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
4564         * tests/test-stat-time.c (nap): Separate assignment from call.
4565         Suggested by Paolo Bonzini and Bruno Haible.
4566
4567         sys_stat: guarantee struct timespec
4568         * lib/sys_stat.in.h (includes): Always include <time.h>
4569         * modules/sys_stat (Depends-on): Add time.
4570         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
4571         mode_t permission values.
4572         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
4573         get at subsecond timestamps.
4574
4575 2009-10-10  Eric Blake  <ebb9@byu.net>
4576
4577         futimens: new module
4578         * modules/futimens: New file.
4579         * lib/futimens.c (futimens): Likewise.
4580         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
4581         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
4582         we can work around Linux bugs.
4583         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
4584         * modules/sys_stat (Makefile.am): Substitute them.
4585         * lib/sys_stat.in.h (futimens): Declare it.
4586         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
4587         * doc/posix-functions/futimens.texi (futimens): Likewise.
4588         * modules/futimens-tests: New test.
4589         * tests/test-futimens.c: Likewise.
4590
4591         utimens: introduce fdutimens
4592         * lib/utimens.h (fdutimens): New prototype.
4593         * lib/utimens.c (gl_futimens): Move guts...
4594         (fdutimens): ...to new interface.
4595         * tests/test-utimens.c (do_fdutimens): Use it.
4596
4597         utimens: add UTIME_NOW and UTIME_OMIT support
4598         * lib/utimens.c (validate_timespec, update_timespec): New helper
4599         functions.
4600         (gl_futimens, lutimens): Use them.
4601         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
4602         stdbool, sys_stat.
4603         (Link): Mention resulting library dependency.
4604         * modules/utimecmp (Link): Likewise.
4605         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
4606         (Makefile.am): Pick up library dependency.
4607         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
4608         definition.
4609         * tests/test-sys_stat.c: Test the definitions.
4610         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
4611         * NEWS: Document library dependency.
4612
4613         utimecmp: support symlink timestamps
4614         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
4615         hashing when possible.  Use pathconf when available.
4616         (SYSCALL_RESOLUTION): Recognize tighter resolution.
4617         * modules/utimecmp (Depends-on): Add lstat.
4618
4619         utimens: add lutimens interface
4620         * lib/utimens.c (lutimens): New function.
4621         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
4622         * lib/utimens.h (lutimens): Declare new interface.
4623         * tests/test-utimens.c (main): Enhance test.
4624         * tests/test-lutimens.h (test_lutimens): New file.
4625         * modules/utimens-tests (Files): Distribute it.
4626         (Depends-on): Add symlink.
4627         (configure.ac): Check for usleep.
4628
4629         utimens: validate futimens usage
4630         * lib/utimens.c (gl_futimens): Require valid fd up front, using
4631         fewer syscalls on failure later on.  Avoid compiler warning on
4632         mingw.
4633         * modules/utimens (Depends-on): Add dup2.
4634
4635         utimens: add test
4636         * modules/utimens-tests: New test.
4637         * tests/test-utimens.h: New file.
4638         * tests/test-futimens.h: Likewise.
4639         * tests/test-utimens.c: Likewise.
4640
4641         doc: mention timestamp portability issues
4642         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
4643         instead.
4644         * doc/posix-functions/utime.texi (utime): Likewise.
4645         * doc/posix-functions/utimes.texi (utimes): Likewise.
4646         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
4647         instead.
4648         * doc/posix-functions/futimens.texi (futimens): Mention utimens
4649         module.
4650         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
4651         Mention weakness with symlink timestamps.
4652         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
4653         to utimensat/futimens instead.
4654         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
4655
4656         test-dup2: enhance test
4657         * tests/test-dup2.c (main): Also check AT_FDCWD.
4658
4659         test-stat-time: avoid more spurious failures
4660         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
4661         xfs; and avoid race if the two timestamps cross quantization edge.
4662
4663         relocatable: prefer 'file system' over 'filesystem'
4664         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
4665         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
4666         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
4667         * doc/relocatable.texi (Enabling Relocatability): Likewise.
4668         * lib/relocatable.c (compute_curr_prefix): Likewise.
4669
4670 2009-10-10  Jim Meyering  <meyering@redhat.com>
4671
4672         stat-time-tests: check for the usleep function
4673         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
4674
4675 2009-10-10  Bruno Haible  <bruno@clisp.org>
4676
4677         * modules/xnanosleep: Put the Link section after the Include section.
4678
4679 2009-10-09  Eric Blake  <ebb9@byu.net>
4680
4681         dup2: work around FreeBSD 6.1 bug
4682         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
4683         * doc/posix-functions/dup2.texi (dup2): Document it.
4684         Reported by Nelson H. F. Beebe and Jim Meyering.
4685
4686         test-stat-time: port to buggy NFS clients
4687         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
4688         (test_ctime): Also skip test if mtime and ctime are skewed.
4689
4690         maint: prefer 'file system' over 'filesystem'
4691         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
4692         * doc/posix-functions/lstat.texi (lstat): Likewise.
4693         * lib/file-has-acl.c (file_has_acl): Likewise.
4694         * lib/fwriteerror.c [TEST]: Likewise.
4695         * tests/test-areadlink.h (test_areadlink): Likewise.
4696         * tests/test-areadlinkat-with-size.c (main): Likewise.
4697         * tests/test-areadlinkat.c (main): Likewise.
4698         * tests/test-canonicalize-lgpl.c (main): Likewise.
4699         * tests/test-canonicalize.c (main): Likewise.
4700         * tests/test-fstatat.c (main): Likewise.
4701         * tests/test-linkat.c (main): Likewise.
4702         * tests/test-lstat.h (test_lstat_func): Likewise.
4703         * tests/test-mkdir.h (test_mkdir): Likewise.
4704         * tests/test-readlink.h (test_readlink): Likewise.
4705         * tests/test-remove.c (main): Likewise.
4706         * tests/test-rename.h (test_rename): Likewise.
4707         * tests/test-renameat.c (main): Likewise.
4708         * tests/test-rmdir.h (test_rmdir_func): Likewise.
4709         * tests/test-symlink.h (test_symlink): Likewise.
4710         * tests/test-symlinkat.c (main): Likewise.
4711         * tests/test-unlink.h (test_unlink_func): Likewise.
4712         * tests/test-unlinkat.c (main): Likewise.
4713
4714         maint: make realtime library usage explicit
4715         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
4716         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
4717         * modules/settime (Link): Likewise.
4718         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
4719
4720         test-stat-time: speed up execution
4721         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
4722         warning on mingw.
4723         (nap): New helper function.
4724         (prepare_test): Use it to reduce sleep time.
4725         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
4726         execution.
4727         * modules/stat-time-tests (configure.ac): Check for usleep.
4728
4729 2009-10-09  Jim Meyering  <meyering@redhat.com>
4730
4731         selinux-h: always use getfilecon wrappers
4732         * lib/getfilecon.c: New file.
4733         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
4734         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
4735         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
4736         (fgetfilecon): Provide a stub.
4737         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
4738         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
4739         file unconditionally.
4740         When <selinux/selinux.h> is found, arrange to use wrappers.
4741         * modules/selinux-h (Files): Add getfilecon.c.
4742         (Makefile.am): Substitute include-next-related bits
4743         into the now-always-generated selinux/selinux.h file.
4744         * doc/glibc-functions/lgetfilecon.texi: New file.
4745         * doc/glibc-functions/fgetfilecon.texi: New file.
4746         * doc/glibc-functions/getfilecon.texi: New file.
4747         * doc/glibc-functions/getfilecon-desc.texi: New file.
4748         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
4749         which to pull in the new files.
4750         * MODULES.html.sh (Misc): Add selinux-h.
4751
4752 2009-10-08  Jim Meyering  <meyering@redhat.com>
4753
4754         unistd: fix comment typo
4755         * lib/unistd.in.h (euidaccess): Fix a comment typo.
4756
4757 2009-10-08  Eric Blake  <ebb9@byu.net>
4758
4759         areadlink: use SIZE_MAX consistently
4760         * modules/areadlink (Depends-on): Add stdint.
4761         * modules/areadlink-with-size (Depends-on): Likewise.
4762         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
4763         gives NULL; drop sys/types, since unistd gives size_t; and add
4764         stdint for SIZE_MAX.
4765         (SIZE_MAX): Rely on headers.
4766         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
4767         and add stdint.
4768         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
4769         (SIZE_MAX): Likewise.
4770         (INITIAL_BUF_SIZE): Turn into enum.
4771         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
4772
4773 2009-10-08  Jim Meyering  <meyering@redhat.com>
4774
4775         areadlinkat: avoid compilation failure
4776         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
4777         Fix typo in comment.
4778
4779 2009-10-07  Eric Blake  <ebb9@byu.net>
4780
4781         areadlinkat-with-size: new module
4782         * modules/areadlinkat-with-size: New module.
4783         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
4784         * lib/areadlink.h (areadlinkat): Declare it.
4785         * MODULES.html.sh (File system functions): Mention it.
4786         * modules/areadlinkat-with-size-tests: New test.
4787         * tests/test-areadlinkat-with-size.c: New file.
4788
4789         xreadlinkat: new module
4790         * modules/xreadlinkat: New module.
4791         * lib/xreadlinkat.c (xreadlinkat): New file.
4792         * lib/xreadlink.h (xreadlinkat): Declare it.
4793         * MODULES.html.sh (File system functions): Mention it.
4794
4795         areadlinkat: new module
4796         * lib/at-func.c (FUNC_FAIL): New define.
4797         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
4798         * modules/areadlinkat: New module.
4799         * lib/linkat.c (areadlinkat): Move...
4800         * lib/areadlinkat.c (areadlinkat): ...to new file.
4801         * lib/areadlink.h (areadlinkat): Declare it.
4802         * modules/linkat (Depends-on): Add areadlinkat.
4803         * MODULES.html.sh (File system functions): Mention it.
4804         * modules/areadlinkat-tests: New test.
4805         * tests/test-areadlinkat.c: New file.
4806
4807         areadlink, areadlink-with-size: add tests
4808         * modules/areadlink-tests: New test.
4809         * modules/areadlink-with-size-tests: Likewise.
4810         * tests/test-areadlink.h: New file.
4811         * tests/test-areadlink.c: Likewise.
4812         * tests/test-areadlink-with-size.c: Likewise.
4813
4814         maint: minor cleanups
4815         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
4816         _UNUSED_PARAMETER_ instead.
4817         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
4818         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
4819         * modules/linkat-tests (Files): Distribute test-link.h.
4820
4821         openat, utimens: whitespace cleanup
4822         * lib/openat.c: Prefer space throughout, rather than mix of 8
4823         spaces vs. tabs.
4824         * lib/at-func.c: Likewise.
4825         * lib/utimens.c: Likewise.
4826
4827         openat: avoid using wrong fd
4828         * lib/openat.c (openat_permissive): Reject user's fd if saving the
4829         working directory chooses same fd.
4830         * lib/at-func.c (AT_FUNC_NAME): Likewise.
4831
4832         mkdir, mkdirat: fix cygwin 1.5.x bug
4833         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
4834         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
4835         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
4836         bug.
4837         (gl_PREREQ_MKDIR): Delete unused macro.
4838         * modules/mkdir (Files): Track file rename.
4839         (configure.ac): Update macro name.
4840         * modules/openat (Depends-on): Add mkdir.
4841         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
4842
4843         mkdir, mkdirat: add tests
4844         * modules/mkdir-tests: New test.
4845         * tests/test-mkdir.h: New file.
4846         * tests/test-mkdir.c: Likewise.
4847         * tests/test-mkdirat.c: Likewise.
4848         * modules/openat-tests (Files): Add new files.
4849         (Makefile.am): Run new test.
4850
4851 2009-10-06  Eric Blake  <ebb9@byu.net>
4852
4853         doc: tweak *at function documentation
4854         * doc/posix-functions/faccessat.texi (faccessat): Mention
4855         known issue with replacement.
4856         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
4857         * doc/posix-functions/linkat.texi (linkat): Likewise.
4858         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
4859         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
4860         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
4861         * doc/posix-functions/renameat.texi (renameat): Likewise.
4862         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
4863
4864         openat: fix GNU/Hurd bug in unlinkat
4865         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
4866         broken.
4867         * doc/posix-functions/unlink.texi (unlink): Document this.
4868         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
4869
4870         fdopendir: fix GNU/Hurd bug
4871         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
4872         allowing non-directory fds.
4873         * lib/fdopendir.c (rpl_fdopendir): Work around it.
4874         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
4875         * modules/dirent (Makefile.am): Substitute it.
4876         * lib/dirent.in.h (fdopendir): Declare replacement.
4877         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
4878         * tests/test-fdopendir.c (main): Test something other than
4879         /dev/null, since on Hurd that behaves like a directory.
4880
4881         test-symlink: port to GNU/Hurd
4882         * tests/test-symlink.h (test_symlink): Relax expected errno.
4883
4884         doc: tweak more cygwin information
4885         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
4886         now compatible with glibc.
4887         * doc/posix-functions/getopt.texi (getopt): Likewise.
4888
4889         getopt-gnu: add another test
4890         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
4891         guarantee behavior relied on by m4.
4892         * tests/test-getopt.c (main): Use it.
4893         * modules/getopt-posix-tests (Depends-on): Add setenv.
4894         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
4895
4896         getopt: fix compilation on darwin
4897         * lib/getopt.in.h (includes): Leave breadcrumbs during system
4898         include.
4899         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
4900         Reported by Ludovic Courtès.
4901
4902 2009-10-06  Bruno Haible  <bruno@clisp.org>
4903
4904         * modules/size_max (Description): Discourage its use.
4905         Reported by Simon Josefsson.
4906
4907 2009-10-06  Jim Meyering  <meyering@redhat.com>
4908
4909         linkat: avoid compilation failure
4910         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
4911
4912 2009-10-05  Eric Blake  <ebb9@byu.net>
4913
4914         linkat: support Linux 2.6.17
4915         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
4916         linkat on Linux, but allow cache variable override.
4917         * lib/linkat.c (rpl_linkat): Define override.
4918         * modules/linkat (Depends-on): Add symlinkat.
4919         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
4920         * modules/unistd (Makefile.am): Substitute it.
4921         * lib/unistd.in.h (linkat): Declare replacement.
4922         Reported by Pádraig Brady.
4923
4924         quotearg: port test to systems with C.UTF-8 locale
4925         * tests/test-quotearg.c (struct result_strings): Add another
4926         member, differentiating between C.ASCII and C.UTF-8 handling.
4927         (compare_strings): Add parameter.
4928         (main): Adjust all callers.
4929
4930         getopt: avoid clash with FreeBSD _getopt_internal
4931         * lib/getopt.in.h (_getopt_internal): Override the name.
4932         * lib/getopt_int.h (includes): Pick up any overrides.
4933         Reported by Reuben Thomas.
4934
4935         hash: allow C89 compilation
4936         * lib/hash.c (check_tuning): Move declaration before statement.
4937         Reported by Reuben Thomas.
4938
4939 2009-10-05  Karl Berry  <karl@gnu.org>
4940
4941         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
4942
4943 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
4944             Bruno Haible  <bruno@clisp.org>
4945
4946         * lib/uname.c (uname): Use a table-driven algorithm to compute
4947         Windows NT versions.
4948
4949 2009-10-04  Bruno Haible  <bruno@clisp.org>
4950
4951         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
4952         program_invocation_short_name.
4953         * modules/progname (configure.ac): Test for presence of
4954         program_invocation_short_name.
4955         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
4956
4957 2009-10-04  Bruno Haible  <bruno@clisp.org>
4958
4959         * lib/progname.c (set_program_name): Fix comment.
4960         Reported by Jim Meyering.
4961
4962 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
4963             Bruno Haible  <bruno@clisp.org>
4964
4965         * lib/uname.c: Include <string.h>.
4966         (uname): Do only one call to GetVersionEx in the common case.
4967
4968 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
4969             Bruno Haible  <bruno@clisp.org>
4970
4971         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
4972         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
4973         (uname): Add support for Windows CE and various non-x86 CPU types.
4974
4975 2009-10-03  Bruno Haible  <bruno@clisp.org>
4976
4977         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
4978         invocation to tests/configure.ac.
4979         Reported by Ian Beckwith <ianb@erislabs.net>.
4980
4981 2009-10-02  Eric Blake  <ebb9@byu.net>
4982
4983         fchdir: avoid compiler warning
4984         * lib/fchdir.c (canonicalize_file_name)
4985         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
4986
4987         test-open: support mingw errno values
4988         * tests/test-open.h (test_open): Relax test.
4989         * tests/test-fopen.h (test_fopen): Likewise.
4990         * tests/test-openat-safer.c (main): Likewise.
4991
4992         open: fix opening directory on mingw
4993         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
4994
4995         test-open: on GNU/Hurd, /dev/null is a directory
4996         * tests/test-fopen.h (main): Rename...
4997         (test_fopen): ...to this.  Use a guaranteed non-directory when
4998         confirming open behavior on trailing slash.
4999         * tests/test-openat-safer.c (main): Likewise.
5000         * tests/test-open.h (main): Likewise....
5001         (test_open): ...to this.
5002         * tests/test-fopen.c (main): Adjust caller.
5003         * tests/test-fopen-safer.c (main): Likewise.
5004         * tests/test-open.c (main): Likewise.
5005         * tests/test-fcntl-safer.c (main): Likewise.
5006         Reported by Samuel Thibault.
5007
5008         rename, fchdir: don't ignore chdir failure
5009         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
5010         * lib/rename.c (rpl_rename) [W32]: Likewise.
5011         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
5012         an empty destination directory if source cannot be renamed,
5013         although there is still possibility for failure.
5014         * doc/posix-functions/rename.texi (rename): Document the race.
5015         Reported by Jim Meyering.
5016
5017         maint: cleanup whitespace in recent commits
5018         * lib/rename.c (rpl_rename): Remove tabs.
5019         * tests/test-link.h (test_link): Likewise.
5020         * lib/fchdir.c (get_name): Likewise.
5021         Reported by Jim Meyering.
5022
5023 2009-10-02  Ben Pfaff  <blp@gnu.org>
5024
5025         relocatable-prog-wrapper: Add missing dependency on
5026         double-slash-root.
5027         * modules/relocatable-prog-wrapper: Add dependency.
5028         Reported by Ian Beckwith <ianb@erislabs.net>.
5029
5030 2009-10-02  Eric Blake  <ebb9@byu.net>
5031
5032         renameat: fix Solaris bugs
5033         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
5034         needed fixing.
5035         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
5036         * modules/stdio (Makefile.am): Substitute it.
5037         * lib/stdio.in.h (renameat): Declare replacement.
5038         * lib/renameat.c (rpl_renameat): Implement fix.
5039
5040         renameat: new module
5041         * modules/renameat: New file.
5042         * lib/renameat.c (renameat): Likewise.
5043         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
5044         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
5045         * modules/stdio (Makefile.am): Substitute them.
5046         * lib/stdio.in.h (renameat): Declare it.
5047         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
5048         * doc/posix-functions/renameat.texi (renameat): Likewise.
5049         * modules/renameat-tests: New test.
5050         * tests/test-renameat.c: Likewise.
5051
5052         rename: fix mingw bugs
5053         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
5054         directory overwrite bugs.
5055
5056         rename: fix another cygwin 1.5 bug
5057         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
5058         checks.
5059         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
5060         unnecessary cygwin workarounds.  Also work around bug with moving
5061         full directory onto an empty one.
5062         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
5063
5064         rename-dest-slash: merge into rename module
5065         * modules/rename-dest-slash (Status): Mark obsolete.
5066         (Depends-on): Add rename.
5067         (Files): Let rename do it all.
5068         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
5069         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
5070         * m4/rename-dest-slash.m4: ...so this file can be deleted.
5071         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
5072         * lib/rename.c (rpl_rename): Update comments.
5073
5074         rename: fix cygwin 1.5.x bugs
5075         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
5076         * lib/rename.c (rpl_rename): Work around them.
5077         * modules/rename (Depends-on): Add same-inode.
5078
5079         rename: fix Solaris 10 bug
5080         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
5081         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
5082         was the only bug.
5083
5084         rename: fix Solaris 9 bug
5085         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
5086         on non-directory.  Avoid calling exit.
5087         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
5088         strdup.
5089         * modules/rename-tests (Depends-on): Drop lstat.
5090         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
5091         (gl_PREREQ_RENAME): Delete unused macro.
5092
5093         rename-dest-slash: fix NetBSD bug
5094         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
5095         links.
5096         * modules/rename-dest-slash (Depends-on): Add same-inode.
5097
5098         rename-tests: new test, exposes several platform bugs
5099         * modules/rename-tests: New file.
5100         * tests/test-rename.h: Likewise.
5101         * tests/test-rename.c: Likewise.
5102         * doc/posix-functions/rename.texi (rename): Improve documentation,
5103         including bugs that will eventually be fixed in gnulib.
5104
5105 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
5106
5107         * lib/uname.c: Include <stdlib.h>
5108         (uname): Assume version info is available.
5109
5110 2009-10-02  Jim Meyering  <meyering@redhat.com>
5111
5112         gnu-web-doc-update: correct --help output
5113         * build-aux/gnu-web-doc-update: Make --help output relevant.
5114
5115         gnu-web-doc-update: add standard options
5116         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
5117
5118         gnu-web-doc-update: New module.
5119         Use this script to automatically update the on-line web documentation
5120         for your GNU project at http://www.gnu.org/software/$pkg/manual/
5121         * modules/gnu-web-doc-update: New file, from coreutils.
5122         * build-aux/gnu-web-doc-update: New script.
5123
5124 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
5125
5126         link: LoadLibrary is not needed.
5127         * lib/link.c: Use GetModuleHandle.
5128
5129 2009-10-01  Eric Blake  <ebb9@byu.net>
5130
5131         getopt: bump serial number
5132         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
5133         change.
5134
5135         tests: tighten link, rmdir, and remove tests
5136         * tests/test-link.h (includes): No need to use <config.h> here.
5137         Clean up if directory hard link was created, otherwise test for
5138         trailing '.'.
5139         * tests/test-linkat.c (main): Simplify.
5140         * tests/test-remove.c (main): Enhance test for trailing '.'.
5141         * tests/test-rmdir.h (test_rmdir_func): Likewise.
5142
5143 2009-10-01  Jim Meyering  <meyering@redhat.com>
5144
5145         maint.mk: requiring "make major" was annoying, for a "minor" release.
5146         What is intended is "stable", to contrast with alpha and beta,
5147         so require "make stable", not "make major".
5148         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
5149         (get_tool_versions): Likewise.
5150         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
5151
5152 2009-09-30  Ben Pfaff  <blp@gnu.org>
5153
5154         Fix broken build of replacement for Windows tmpfile().
5155         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
5156         flags argument added along with the 'mkostemp' module.
5157
5158 2009-09-28  Bruno Haible  <bruno@clisp.org>
5159
5160         Avoid identifier clash with POSIX function 'remove' defined as a macro.
5161         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
5162         to 'remove_elt'.
5163         (gl_list_remove): Update.
5164         * lib/gl_list.c (gl_list_remove): Update.
5165         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
5166         to 'remove_elt'.
5167         (gl_oset_remove): Update.
5168         * lib/gl_list.c (gl_oset_remove): Update.
5169         Reported by Eric Blake.
5170
5171 2009-09-28  Eric Blake  <ebb9@byu.net>
5172
5173         doc: mention yet more cygwin 1.7 status
5174         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
5175         cygwin.
5176         * doc/glibc-functions/execvpe.texi (execvpe): New file.
5177         * doc/gnulib.texi (Glibc unistd.h): Mention it.
5178
5179         argp: fix test failure
5180         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
5181         that are not upper-case.  Pass correct range to tolower.
5182
5183 2009-09-27  Jim Meyering  <meyering@redhat.com>
5184
5185         test-yesno: work around sparc-dash here-document infelicity
5186         Without this change, the literal \177 byte in a here document
5187         would make dash 0.5.5.1-3 access uninitialized memory.
5188         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
5189         Instead, use a marker, "@", and filter through tr to create the desired
5190         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
5191
5192 2009-09-27  Bruno Haible  <bruno@clisp.org>
5193
5194         Disable untested support for new flavours of ACLs on AIX.
5195         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
5196         progress.
5197         * lib/set-mode-acl.c (qset_acl): Likewise.
5198
5199 2008-12-07  Bruno Haible  <bruno@clisp.org>
5200
5201         Add support for new flavours of ACLs on AIX. (Untested.)
5202         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
5203         (file_has_acl): Add support for newer AIX.
5204         * lib/set-mode-acl.c (qset_acl): Likewise.
5205         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
5206         Rainer Tammer <tammer@tammer.net>.
5207
5208 2009-09-26  Eric Blake  <ebb9@byu.net>
5209
5210         argp: fix compilation of getopt
5211         * lib/getopt.in.h (includes): Use different guard than glibc.
5212         Reported by Sergey Poznyakoff.
5213
5214         doc: mention more cygwin 1.7 status
5215         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
5216         bug.
5217         * doc/posix-functions/execl.texi (execl): Likewise.
5218         * doc/posix-functions/execle.texi (execle): Likewise.
5219         * doc/posix-functions/execlp.texi (execlp): Likewise.
5220         * doc/posix-functions/execv.texi (execv): Likewise.
5221         * doc/posix-functions/execve.texi (execve): Likewise.
5222         * doc/posix-functions/execvp.texi (execvp): Likewise.
5223         * doc/glibc-functions/canonicalize_file_name.texi
5224         (canonicalize_file_name): Cygwin 1.7 now provides this.
5225         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
5226         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
5227         on AT_SYMLINK_NOFOLLOW.
5228
5229 2009-09-24  Eric Blake  <ebb9@byu.net>
5230
5231         test-linkat: make test more robust
5232         * tests/test-linkat.c (main): Avoid collision with EEXIST.
5233
5234         getopt: fix inclusion guards for cygwin
5235         * modules/getopt-posix (Depends-on): Add include-next.
5236         (Makefile.am): Substitute more items in replacement header.
5237         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
5238         <getopt.h>.
5239         * lib/getopt.in.h (includes): Use split inclusion guard, and
5240         prefer <getopt.h> over include <unistd.h> when one is present.
5241         (option): Also override name of 'struct option'.
5242
5243         same-inode: revert prior change; it is not yet ready
5244         * NEWS: Undo mention of this change.
5245         * lib/same-inode.h (same-inode.h): Undo tri-state change.
5246         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
5247         * lib/cycle-check.c (cycle_check): Likewise.
5248         * lib/same.c (same_name): Likewise.
5249         * lib/at-func2.c (at_func2): Likewise.
5250
5251 2009-09-23  Eric Blake  <ebb9@byu.net>
5252
5253         linkat: new module
5254         * modules/linkat: New file.
5255         * lib/at-func2.c (at_func2): Likewise.
5256         * lib/linkat.c (linkat): Likewise.
5257         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
5258         * lib/openat-priv.h (at_func2): Add declaration.
5259         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
5260         * modules/unistd (Makefile.am): Substitute them.
5261         * lib/unistd.in.h (linkat): Declare it.
5262         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
5263         * doc/posix-functions/linkat.texi (linkat): Likewise.
5264         * doc/posix-functions/link.texi (link): Tweak wording.
5265         * tests/test-link.c (main): Move guts...
5266         * tests/test-link.h (test_link): ...into new file.
5267         * modules/linkat-tests: New test.
5268         * tests/test-linkat.c: Likewise.
5269         * modules/link-tests (Files): Ship new file.
5270         (Depends-on): Add stdbool.
5271
5272         dirname: add library-safe mdir_name
5273         * lib/dirname.h (mdir_name): New prototype.
5274         * lib/dirname.c (dir_name): Move guts...
5275         (mdir_name): ...to new function that avoids xalloc_die.
5276
5277         fchdir: another mingw fix
5278         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
5279         * lib/fchdir.c (get_name): New helper method; skips canonicalize
5280         on mingw (where it has not yet been ported), and make it optional
5281         elsewhere.
5282         (_gl_register_fd): Use it.
5283
5284         same-inode: make SAME_INODE tri-state, to port to mingw
5285         * NEWS: Mention this change.
5286         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
5287         st_ino always being 0.
5288         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
5289         * lib/cycle-check.c (cycle_check): Likewise.
5290         * lib/same.c (same_name): Likewise.
5291
5292         lstat: avoid mingw compilation error
5293         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
5294         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
5295         lstat ourselves.
5296         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
5297         was adequate.
5298         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
5299         the checks for lstat.
5300         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
5301
5302         link: fix test failure on Solaris 9
5303         * lib/link.c (rpl_link): Don't assume link will catch bogus
5304         trailing slash on source.
5305
5306         test-symlinkat: enhance test
5307         * tests/test-readlink.c (main): Move guts...
5308         * tests/test-readlink.h (test_readlink): ...into new file.
5309         * tests/test-symlink.c (main): Move guts...
5310         * tests/test-symlink.h (test_symlink): ...into new file.
5311         * tests/test-symlinkat.c (main): Use new files for further
5312         coverage.
5313         (do_symlink, do_readlink): New helper functions.
5314         * modules/symlink-tests (Files): Ship new file.
5315         (Depends-on): Add stdbool.
5316         * modules/readlink-tests (Files): Ship new file.
5317         (Depends-on): Add stdbool.
5318         * modules/symlinkat-tests (Files): Use new files.
5319
5320 2009-09-23  Eric Blake  <ebb9@byu.net>
5321
5322         readlink: document portability issue with symlink length
5323         * doc/posix-functions/lstat.texi (lstat): Mention that some file
5324         systems have bogus st_size on symlinks, and mention the
5325         areadlink-with-size module.
5326         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
5327         * doc/posix-functions/readlink.texi (readlink): Mention the
5328         areadlink module, and ERANGE failure.
5329         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
5330         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
5331
5332         readlink: fix Solaris 9 bug with trailing slash
5333         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
5334         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
5335         * doc/posix-functions/readlink.texi (readlink): Document this.
5336         * modules/readlink-tests: New test.
5337         * tests/test-readlink.c: Likewise.
5338
5339         readlink: fix cygwin 1.5.x bug with return type
5340         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
5341         * lib/unistd.in.h (readlink): Use ssize_t.
5342         * lib/readlink.c (readlink): Likewise.
5343         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
5344         * modules/unistd (Makefile.am): Substitute it.
5345         * lib/unistd.in.h (readlink): Declare replacement.
5346         * doc/posix-functions/readlink.texi (readlink): Document this.
5347
5348         symlink: use throughout gnulib
5349         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
5350         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
5351         symlink is not used.
5352         * modules/symlinkat (Depends-on): Add symlink.
5353         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
5354         * modules/canonicalize-tests (Depends-on): Likewise.
5355         * modules/lstat-tests (Depends-on): Likewise.
5356         * modules/openat-tests (Depends-on): Likewise.
5357         * modules/remove-tests (Depends-on): Likewise.
5358         * modules/rmdir-tests (Depends-on): Likewise.
5359         * modules/unlink-tests (Depends-on): Likewise.
5360         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
5361         * tests/test-canonicalize.c (symlink): Likewise.
5362         * tests/test-fstatat.c (symlink): Likewise.
5363         * tests/test-lstat.c (symlink): Likewise.
5364         * tests/test-remove.c (symlink): Likewise.
5365         * tests/test-rmdir.c (symlink): Likewise.
5366         * tests/test-unlink.c (symlink): Likewise.
5367         * tests/test-unlinkat.c (symlink): Likewise.
5368
5369         symlink: new module, for Solaris 9 bug
5370         * modules/symlink: New file.
5371         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
5372         * lib/symlink.c: Likewise.
5373         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
5374         * modules/unistd (Makefile.am): Substitute them.
5375         * lib/unistd.in.h (symlink): Declare replacement.
5376         * MODULES.html.sh (File system functions): Mention it.
5377         * doc/posix-functions/symlink.texi (symlink): Likewise.
5378         * modules/symlink-tests: New test.
5379         * tests/test-symlink.c: Likewise.
5380
5381 2009-09-23  Bruno Haible  <bruno@clisp.org>
5382
5383         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
5384         when needed.
5385         Test case: gnulib-tool --import --with-tests atexit inttypes.
5386         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
5387
5388 2009-09-23  Bruno Haible  <bruno@clisp.org>
5389
5390         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
5391         subcommand, not in a subshell.
5392
5393 2009-09-22  Eric Blake  <ebb9@byu.net>
5394
5395         unistd: sort replacement declarations
5396         * lib/unistd.in.h: Sort declarations.
5397
5398         open, openat: minor optimization
5399         * lib/open.c (open): If open succeeded, len is non-zero.
5400         * lib/openat.c (rpl_openat): Likewise.
5401
5402         link-follow: ensure correct result
5403         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
5404         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
5405         distinguish between possible failures.
5406
5407 2009-09-21  Eric Blake  <ebb9@byu.net>
5408
5409         fts: avoid compiler warning
5410         * lib/fts.c (dirent_inode_sort_may_be_useful)
5411         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
5412
5413 2009-09-19  Bruno Haible  <bruno@clisp.org>
5414
5415         * lib/progreloc.c (canonicalize_file_name): New declaration.
5416
5417 2009-09-19  Eric Blake  <ebb9@byu.net>
5418
5419         link: fix quoting
5420         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
5421
5422         openat: fix openat bugs on Solaris 9
5423         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
5424         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
5425         * modules/openat (Depends-on): Add open.
5426         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
5427         * modules/fcntl-h (Makefile.am): Substitute it.
5428         * lib/fcntl.in.h (openat): Declare replacement.
5429         * doc/posix-functions/openat.texi (openat): Document this.
5430
5431         openat: move fstatat and unlinkat into correct files
5432         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
5433         compiled.
5434         * lib/openat.c (fstatat, unlinkat): Move...
5435         * lib/fstatat.c (fstatat): ...into correct files.
5436         * lib/unlinkat.c (unlinkat): Likewise.
5437
5438         openat: fix unlinkat bugs on Solaris 9
5439         * lib/unlinkat.c (unlinkat): New file.
5440         * modules/openat (Depends-on): Add unlink.
5441         (Files): Distribute it.
5442         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
5443         trailing slash behavior is broken.
5444         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
5445         * modules/unistd (Makefile.am): Substitute it.
5446         * lib/unistd.in.h (unlinkat): Declare replacement.
5447         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
5448
5449         openat: fix fstatat bugs on Solaris 9
5450         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
5451         stat.
5452         * doc/posix-functions/fstatat.texi (fstatat): Document this.
5453
5454         test-unlinkat: enhance test, to expose Solaris 9 bug
5455         * tests/test-unlink.c (main): Factor guts...
5456         * tests/test-unlink.h (test_rmdir_func): ...into new file.
5457         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
5458         * tests/test-rmdir.c (main): Adjust caller.
5459         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
5460         (unlinker): New helper function.
5461         (rmdirat): Enhance check.
5462         * modules/rmdir-tests (Depends-on): Add stdbool.
5463         * modules/unlink-tests (Depends-on): Likewise.
5464         (Files): Add test-unlink.h.
5465         * modules/openat-tests (Files): Likewise.
5466         (Depends-on): Add unlinkdir.
5467
5468         test-fstatat: new test, to expose Solaris 9 bugs
5469         * tests/test-stat.c (main): Factor guts...
5470         * tests/test-stat.h (test_stat_func): ...into new file.
5471         * tests/test-lstat.c (main): Factor guts...
5472         * tests/test-lstat.h (test_lstat_func): ...into new file.
5473         * tests/test-fstatat.c: New file.
5474         * modules/stat-tests (Files): Add test-stat.h.
5475         * modules/lstat-tests (Files): Add test-lstat.h.
5476         (Depends-on): Add stdbool.
5477         * modules/openat-tests (Depends-on): Add pathmax.
5478         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
5479         (Makefile.am): Run new test.
5480
5481         remove: new module, for mingw and Solaris 9 bugs
5482         * modules/remove: New file.
5483         * lib/remove.c: Likewise.
5484         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
5485         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
5486         * modules/stdio (Makefile.am): Use them.
5487         * lib/stdio.in.h (remove): Declare replacement.
5488         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
5489         * doc/posix-functions/remove.texi (remove): Likewise.
5490         * modules/remove-tests: New test.
5491         * tests/test-remove.c: Likewise.
5492
5493         unlink: new module, for Solaris 9 bug
5494         * modules/unlink: New file.
5495         * lib/unlink.c: Likewise.
5496         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
5497         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
5498         * modules/unistd (Makefile.am): Use them.
5499         * lib/unistd.in.h (stat): Declare replacement.
5500         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
5501         * doc/posix-functions/unlink.texi (unlink): Likewise.
5502         * modules/unlink-tests: New test.
5503         * tests/test-unlink.c: Likewise.
5504
5505         lstat: fix Solaris 9 bug
5506         * lib/lstat.c (lstat): Also check for trailing slash on
5507         non-symlink, non-directories.  Use stat module to simplify logic.
5508         * doc/posix-functions/lstat.texi (lstat): Document it.
5509         * modules/lstat-tests (Depends-on): Add errno, same-inode.
5510         (configure.ac): Check for symlink.
5511         * tests/test-lstat.c (main): Add more tests.
5512
5513         stat: add as dependency to other modules
5514         * modules/chown (Depends-on): Add stat.
5515         * modules/euidaccess (Depends-on): Likewise.
5516         * modules/fchdir (Depends-on): Likewise.
5517         * modules/isdir (Depends-on): Likewise.
5518         * modules/link (Depends-on): Likewise.
5519         * modules/lstat (Depends-on): Likewise.
5520         * modules/mkdir-p (Depends-on): Likewise.
5521         * modules/modechange (Depends-on): Likewise.
5522         * modules/open (Depends-on): Likewise.
5523         * modules/readlink (Depends-on): Likewise.
5524         * modules/same (Depends-on): Likewise.
5525
5526         stat: fix Solaris 9 bug
5527         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
5528         slash.
5529         * lib/stat.c (rpl_stat): Work around it.
5530         * doc/posix-functions/stat.texi (stat): Update documentation.
5531
5532         stat: new module, for mingw bug
5533         * modules/stat: New file.
5534         * lib/stat.c: Likewise.
5535         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
5536         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
5537         * modules/sys_stat (Makefile.am): Use them.
5538         * lib/sys_stat.in.h (stat): Declare replacement.
5539         * lib/openat.c (fstatat): Deal with lstat and stat being function
5540         macros.
5541         * modules/openat (Depends-on): Add inline.
5542         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
5543         * doc/posix-functions/stat.texi (stat): Likewise.
5544         * modules/stat-tests: New test.
5545         * tests/test-stat.c: Likewise.
5546
5547 2009-09-19  Jim Meyering  <meyering@redhat.com>
5548
5549         syntax-check: detect unnecessary inclusion of canonicalize.h
5550         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
5551
5552 2009-09-19  Eric Blake  <ebb9@byu.net>
5553
5554         canonicalize-lgpl: adjust clients to use correct header
5555         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
5556         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
5557         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
5558         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
5559         * lib/progreloc.c (includes): Likewise.
5560
5561 2009-09-19  Jim Meyering  <meyering@redhat.com>
5562
5563         test-posixtm.c: correct a comment
5564         * tests/test-posixtm.c: Correct first-line comment.
5565         Spotted by Eric Blake.
5566
5567 2009-09-16  Jim Meyering  <meyering@redhat.com>
5568
5569         posixtm-tests: make T const-correct; add a test case
5570         * tests/test-posixtm.c (T): Declare const.
5571         Add a test for -(2^31+1).
5572         Remove useless can-succeed-only-in-2002 test.
5573
5574         posixtm-tests: adjust the sole failing test
5575         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
5576         expected output matches what mktime now produces.  Cross-checked via
5577         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
5578
5579         posixtm: move #ifdef'd tests into a new module
5580         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
5581         * tests/test-posixtm.c: ... this new file.
5582         * modules/posixtm-tests: New module.
5583
5584 2009-09-19  Eric Blake  <ebb9@byu.net>
5585
5586         openat: simplify use of at-func.c
5587         * lib/at-func.c (includes): Include prerequisites here, to
5588         simplify requirements on client files.
5589         * lib/openat-priv.h: Add double-inclusion guard.
5590         * lib/faccessat.c (includes): Simplify.
5591         * lib/fchmodat.c (includes): Likewise.
5592         * lib/fchownat.c (includes): Likewise.
5593         * lib/mkdirat.c (includes): Likewise.
5594         * lib/mkfifoat.c (includes): Likewise.
5595         * lib/symlinkat.c (includes): Likewise.
5596
5597         openat: allow return of fd 0
5598         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
5599         * modules/save-cwd (Depends-on): Replace fcntl-safer with
5600         unistd-safer.
5601         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
5602         <fcntl.h>; this module does not leak fds.
5603         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
5604         must be allowed to return 0, leaving openat_safer to add the
5605         safety.
5606         (openat_permissive): Avoid writing to just-opened fd 2 if
5607         restoring the current directory fails.
5608         * lib/openat-die.c (openat_restore_fail): Add comment.
5609         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
5610         (save_cwd): Guarantee safe fd, but without use of open_safer.
5611         * tests/test-openat.c: New test.
5612         * modules/openat-tests (Files, Makefile.am): Distribute and build
5613         new file.
5614
5615         relocatable-prog-wrapper: fix build
5616         * modules/relocatable-prog-wrapper (Files): Update name of
5617         canonicalize m4 file, broken on 2009-09-17.
5618         Reported by emad hajjar <aleppos@hotmail.com>.
5619
5620 2009-09-19  Bruno Haible  <bruno@clisp.org>
5621
5622         * lib/safe-alloc.h: Use the standard header with GPL copyright.
5623         * lib/safe-alloc.c: Likewise.
5624         Reported by Ian Beckwith <ianb@erislabs.net>.
5625
5626 2009-09-18  Bruno Haible  <bruno@clisp.org>
5627
5628         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
5629         Reported by <erobles@sensacd.com.mx>.
5630
5631 2009-09-17  Eric Blake  <ebb9@byu.net>
5632
5633         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
5634         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
5635         slashes when checking if last component is missing.
5636         * tests/test-canonicalize.c (main): Test this.
5637
5638         canonicalize, canonicalize-lgpl: honor // if distinct from /
5639         * modules/canonicalize (Files): Add double-slash-root.m4.
5640         * modules/canonicalize-lgpl (Files): Likewise.
5641         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
5642         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
5643         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
5644         fallback definition.
5645         (canonicalize_filename_mode): Use it to protect //.
5646         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
5647         (__realpath): Likewise.
5648         * tests/test-canonicalize.c (main): Test this.
5649         * tests/test-canonicalize-lgpl.c (main): Likewise.
5650         * modules/canonicalize-tests (Depends-on): Add same-inode.
5651         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
5652
5653         canonicalize-lgpl: fix glibc bug with trailing slash
5654         * m4/canonicalize-lgpl.m4: Move contents...
5655         * m4/canonicalize.m4: ...here.
5656         (gl_CANONICALIZE_LGPL): Factor realpath check...
5657         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
5658         glibc 2.3.5 bug, fixed 2005-04-27.
5659         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
5660         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
5661         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
5662         * modules/canonicalize-lgpl (Files): Manage file rename.
5663         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
5664         * modules/stdlib (Makefile.am): Substitute witness.
5665         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
5666         is needed.
5667         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
5668         replacement is required.
5669         * lib/canonicalize.c (canonicalize_file_name): Likewise.
5670         * doc/glibc-functions/canonicalize_file_name.texi
5671         (canonicalize_file_name): Document this.
5672         * doc/posix-functions/realpath.texi (realpath): Likewise.
5673
5674         canonicalize-lgpl: reject non-directory with trailing slash
5675         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
5676         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
5677         catches failures in glibc 2.3.5.
5678         * tests/test-canonicalize.c (main): Likewise.
5679
5680         canonicalize-lgpl: use native realpath if it works
5681         * lib/canonicalize-lgpl.c (realpath): Guard with
5682         FUNC_REALPATH_WORKS.
5683         * lib/stdlib.in.h (realpath): Make declaration optional based on
5684         HAVE_REALPATH.
5685         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
5686         native realpath works.
5687         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
5688         * modules/stdlib (Makefile.am): Substitute witness.
5689
5690         canonicalize, canonicalize-lgpl: use <stdlib.h>
5691         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
5692         (Include): Mention <stdlib.h>.
5693         (configure.ac): Mention functions we provide.
5694         * modules/canonicalize (configure.ac): Likewise.
5695         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
5696         realpath if canonicalize_file_name is missing.
5697         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
5698         * modules/stdlib (Makefile.am): Substitute witnesses.
5699         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
5700         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
5701         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
5702         * NEWS: Document this.
5703         * doc/glibc-functions/canonicalize_file_name.texi
5704         (canonicalize_file_name): Likewise.
5705         * doc/posix-functions/realpath.texi (realpath): Likewise.
5706         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
5707
5708         test-canonicalize: consolidate into single C program
5709         * tests/test-canonicalize.sh: Delete; move setup into...
5710         * tests/test-canonicalize.c (main): ...the program, making it
5711         easier to run in debugger.  Add some tests.
5712         * modules/canonicalize-tests (Files): Remove unused file.
5713         (Depends-on): Add progname.
5714         (configure.ac, Makefile.am): Simplify.
5715
5716         test-canonicalize-lgpl: consolidate into single C program
5717         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
5718         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
5719         easier to run in debugger.  Add some tests.
5720         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
5721         (configure.ac, Makefile.am): Simplify.
5722
5723         canonicalize: avoid resolvepath
5724         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
5725         unnecessary checks.
5726         * lib/canonicalize.c (includes): Simplify.
5727         (canonicalize_file_name): Drop resolvepath implementation.
5728         * modules/canonicalize (Depends-on): Drop filenamecat.
5729
5730         canonicalize: don't lose errno
5731         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
5732         over calls to free.
5733
5734         canonicalize: simplify errno handling
5735         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
5736         assignment.
5737
5738         canonicalize, canonicalize-lgpl: update module dependencies
5739         * modules/canonicalize (Depends-on): Add extensions, lstat,
5740         pathmax, stdlib.
5741         (Files): Drop pathmax.h.
5742         (configure.ac): Adjust macro name.
5743         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
5744         lstat, stdlib, sys_stat.
5745         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
5746         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
5747         extensions.
5748         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
5749         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
5750         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
5751         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
5752         declaration, if available.
5753         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
5754         we can rely on the readlink module.
5755         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
5756         (includes): Use <unistd.h> unconditionally.
5757
5758 2009-09-17  Eric Blake  <ebb9@byu.net>
5759
5760         maint: make Include sections of modules consistent
5761         * modules/alloca: Use only header name; no need to list #include.
5762         * modules/alloca-opt: Likewise.
5763         * modules/arpa_inet: Likewise.
5764         * modules/canon-host: Likewise.
5765         * modules/configmake: Likewise.
5766         * modules/dirent: Likewise.
5767         * modules/eealloc: Likewise.
5768         * modules/environ: Likewise.
5769         * modules/fchdir: Likewise.
5770         * modules/fcntl: Likewise.
5771         * modules/fcntl-h: Likewise.
5772         * modules/gethrxtime: Likewise.
5773         * modules/gettime: Likewise.
5774         * modules/ignore-value: Likewise.
5775         * modules/inet_ntop: Likewise.
5776         * modules/inet_pton: Likewise.
5777         * modules/inttypes: Likewise.
5778         * modules/isnand-nolibm: Likewise.
5779         * modules/isnanf-nolibm: Likewise.
5780         * modules/mbchar: Likewise.
5781         * modules/mbfile: Likewise.
5782         * modules/mbiter: Likewise.
5783         * modules/mbuiter: Likewise.
5784         * modules/netdb: Likewise.
5785         * modules/netinet_in: Likewise.
5786         * modules/nproc: Likewise.
5787         * modules/pagealign_alloc: Likewise.
5788         * modules/poll: Likewise.
5789         * modules/printf-frexp: Likewise.
5790         * modules/pthread: Likewise.
5791         * modules/putenv: Likewise.
5792         * modules/random_r: Likewise.
5793         * modules/relocatable-prog: Likewise.
5794         * modules/search: Likewise.
5795         * modules/select: Likewise.
5796         * modules/selinux-h: Likewise.
5797         * modules/settime: Likewise.
5798         * modules/signal: Likewise.
5799         * modules/size_max: Likewise.
5800         * modules/socklen: Likewise.
5801         * modules/ssize_t: Likewise.
5802         * modules/stdarg: Likewise.
5803         * modules/stdbool: Likewise.
5804         * modules/stddef: Likewise.
5805         * modules/stdint: Likewise.
5806         * modules/stdio: Likewise.
5807         * modules/stdlib: Likewise.
5808         * modules/string: Likewise.
5809         * modules/strings: Likewise.
5810         * modules/sys_file: Likewise.
5811         * modules/sys_ioctl: Likewise.
5812         * modules/sys_select: Likewise.
5813         * modules/sys_socket: Likewise.
5814         * modules/sys_stat: Likewise.
5815         * modules/sys_time: Likewise.
5816         * modules/sys_times: Likewise.
5817         * modules/sys_utsname: Likewise.
5818         * modules/sys_wait: Likewise.
5819         * modules/sysexits: Likewise.
5820         * modules/time: Likewise.
5821         * modules/times: Likewise.
5822         * modules/tmpfile: Likewise.
5823         * modules/trim: Likewise.
5824         * modules/unistd: Likewise.
5825         * modules/wchar: Likewise.
5826         * modules/wctype: Likewise.
5827
5828 2009-09-17  Bruno Haible  <bruno@clisp.org>
5829
5830         Make getdate.y compile on QNX and NetBSD 5 / i386.
5831         * m4/getdate.m4 (gl_GETDATE): Conditionally define
5832         TIME_T_FITS_IN_LONG_INT.
5833         * lib/getdate.y (long_time_t): New type.
5834         (relative_time): Change type of 'seconds' field to long_time_t.
5835         (get_date): Update types of local variables. Check against overflow
5836         during conversion from long_time_t to time_t.
5837         Reported by Matt Kraai <kraai@ftbfs.org>
5838         and Hasso Tepper <hasso@netbsd.org>.
5839
5840 2009-09-17  Bruno Haible  <bruno@clisp.org>
5841
5842         * modules/COPYING: Update copyright years.
5843         * modules/README: Likeiwse.
5844         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
5845         Reported by Ian Beckwith <ianb@erislabs.net>.
5846
5847 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
5848
5849         * users.txt: Update references for gnuit package.
5850
5851 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
5852
5853         * m4/getdelim.m4: Fix typo in copyright line.
5854
5855 2009-09-17  Bruno Haible  <bruno@clisp.org>
5856
5857         * lib/atoll.c: Use the standard header with GPL copyright.
5858         * lib/argz.in.h: Likewise.
5859         * lib/glob.c: Likewise.
5860         * lib/glob-libc.h: Likewise.
5861         * lib/random_r.c: Likewise.
5862         * lib/siglist.h: Likewise.
5863         * lib/strsignal.c: Likewise.
5864         Reported by Ian Beckwith <ianb@erislabs.net>.
5865
5866 2009-09-17  Eric Blake  <ebb9@byu.net>
5867
5868         rmdir: ensure correct dependency order
5869         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
5870
5871 2009-09-17  Bruno Haible  <bruno@clisp.org>
5872
5873         Disable assertion that fails on NetBSD 5 / i386.
5874         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
5875         Reported by Sam Steingold <sds@gnu.org>
5876         and Hasso Tepper <hasso@netbsd.org>.
5877
5878 2009-09-16  Eric Blake  <ebb9@byu.net>
5879
5880         unlinkdir: port to mingw
5881         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
5882         on which no one can unlink a directory.
5883
5884         stdlib: sort witness names
5885         * modules/stdlib (Makefile.am): Sort replacements.
5886         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
5887         * lib/stdlib.in.h: Likewise.
5888
5889         parse-duration-tests: avoid link failure
5890         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
5891         LIBINTL.
5892         Reported by Tom G. Christensen.
5893
5894         openat-tests: ensure unlinkat behaves like rmdir
5895         * tests/test-rmdir.c (main): Factor guts...
5896         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
5897         * modules/rmdir-tests (Files): Ship new file.
5898         * modules/openat-tests: New test.
5899         * tests/test-unlinkat.c: Likewise.
5900
5901         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
5902         * modules/rmdir-errno (Status, Notice): Now obsolete.
5903
5904         rmdir: work around cygwin 1.5.x and mingw bugs
5905         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
5906         * lib/rmdir.c (rmdir): Work around it.
5907         * modules/rmdir (Status, Notice): No longer obsolete.
5908         (Files): Add dos.m4.
5909         (Depends-on): Add unistd.
5910         (configure.ac): Set witnesses.
5911         (License): Relax to LGPLv2+.
5912         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
5913         * modules/unistd (Makefile.am): Substitute witnesses.
5914         * lib/unistd.in.h (rmdir): Declare replacement.
5915         * doc/posix-functions/rmdir.texi (rmdir): Document this.
5916         * modules/rmdir-tests: New tests.
5917         * tests/test-rmdir.c: Likewise.
5918
5919 2009-09-15  Eric Blake  <ebb9@byu.net>
5920
5921         fchdir: improve use of replacement functions
5922         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
5923         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
5924         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
5925         REPLACE_CLOSEDIR.
5926         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
5927         * modules/sys_stat (Makefile.am): Substitute correct witness.
5928         * modules/dirent (Makefile.am): Likewise.
5929         * modules/unistd (Makefile.am): Likewise.
5930         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
5931         * lib/unistd.in.h (dup): Likewise.
5932         * lib/sys_stat.in.h (fstat): Likewise.
5933
5934         maint: ignore gnulib-tool temp files
5935         * .gitignore: Ignore files created during gnulib-tool --test.
5936
5937 2009-09-13  Jim Meyering  <meyering@redhat.com>
5938
5939         posixtm: don't reject a time that specify "60" as the number of seconds
5940         * lib/posixtm.c (posixtime): The code to reject invalid dates
5941         would also reject a time specified with the .60 suffix.
5942         But POSIX allows that, in order to accommodate leap seconds.
5943         So don't reject it.
5944         (main): Adjust tests accordingly.
5945         * modules/posixtm (Depends-on): Add stpcpy.
5946
5947 2009-09-11  Jim Meyering  <meyering@redhat.com>
5948
5949         announce-gen: include [$release_type] in emitted Subject:
5950         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
5951         e.g., [stable] in the emitted Subject: line.
5952
5953 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5954
5955         Remove obsolete macros from several modules.
5956         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
5957         obsolete Autoconf macros with their modern counterparts.
5958         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
5959         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
5960         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
5961         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
5962         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
5963         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
5964         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
5965         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
5966         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
5967         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
5968         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
5969         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
5970         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
5971         * m4/sockets.m4 (gl_SOCKETS): Likewise.
5972         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
5973         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
5974         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
5975         * m4/time_r.m4 (gl_TIME_R): Likewise.
5976         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
5977         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
5978         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
5979
5980         Fix copyright header in build-aux scripts.
5981         * build-aux/git-version-gen: Fix copyright header to match GPLv3
5982         recommendation.
5983         * build-aux/ncftpput-ftp: Likewise.
5984         * build-aux/update-copyright: Likewise.
5985
5986 2009-09-09  Eric Blake  <ebb9@byu.net>
5987
5988         test-link: allow Linux choice of errno
5989         * tests/test-link.c (main): Relax test for alternate error.
5990
5991         strndup: fix improper m4 caching
5992         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
5993         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
5994         (gl_PREREQ_STRNDUP): Delete.
5995         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
5996         * modules/string (Makefile.am): Substitute it.
5997         * lib/string.in.h (strndup): Modernize prototype.
5998
5999         getcwd: port to mingw
6000         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
6001         different from the POSIX assumptions made throughout the getcwd
6002         module; fortunately, the mingw getcwd does not need replacement.
6003         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
6004         * modules/getcwd-tests: New test.
6005         * tests/test-getcwd.c: Likewise.
6006
6007         link: fix platform bugs
6008         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
6009         * lib/link.c (link): Work around them.  Fix related mingw bug.
6010         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
6011         * modules/unistd (Makefile.am): Substitute it.
6012         * lib/unistd.in.h (link): Declare replacement.
6013         * doc/posix-functions/link.texi (link): Document this.
6014         * modules/link (Depends-on): Add strdup-posix, sys_stat.
6015
6016         test-link: consolidate into single C program, test more cases
6017         * tests/test-link.sh: Delete.
6018         * tests/test-link.c: Test more error conditions.  Exposes bugs on
6019         at least Cygwin and Solaris.
6020         * modules/link-tests (Files): Remove unused file.
6021         (Depends-on): Add errno, sys_stat.
6022         (Makefile.am): Simplify.
6023
6024 2009-09-08  Bruno Haible  <bruno@clisp.org>
6025
6026         Work around towlower, towupper bug on mingw.
6027         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
6028         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
6029         * doc/posix-functions/towlower.texi: Mention the mingw bug.
6030         * doc/posix-functions/towupper.texi: Likewise.
6031         Reported by Eric Blake.
6032
6033 2009-09-08  Jim Meyering  <meyering@redhat.com>
6034
6035         build: don't try to run autoheader if we don't use it
6036         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
6037         is not used in configure.ac.
6038
6039 2009-09-08  Eric Blake  <ebb9@byu.net>
6040
6041         euidaccess: fix compilation error
6042         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
6043
6044         rawmemchr: relax license
6045         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
6046         okay.
6047         Reported by Jim Meyering.
6048
6049         mkfifoat: new module
6050         * modules/mkfifoat: New file.
6051         * lib/mkfifoat.c: Likewise.
6052         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
6053         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
6054         * modules/sys_stat (Makefile.am): Use them.
6055         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
6056         * MODULES.html.sh (File system functions): Mention module.
6057         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
6058         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
6059         * modules/mkfifoat-tests: New test.
6060         * tests/test-mkfifoat.c: Likewise.
6061
6062         strchrnul: relax license
6063         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
6064         okay.
6065         Reported by Jim Meyering.
6066
6067 2009-09-08  Eric Blake  <ebb9@byu.net>
6068
6069         fstatat: fix compilation on Solaris
6070         * lib/fstatat.c (includes): Add fcntl.h.
6071         Reported by Pádraig Brady.
6072
6073 2009-09-07  Eric Blake  <ebb9@byu.net>
6074
6075         rename: modernize replacement
6076         * modules/rename (Depends-on): Add stdio.
6077         (configure.ac): Declare witness.
6078         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
6079         stdio take care of replacement.
6080         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
6081         * modules/stdio (Makefile.am): Substitute them.
6082         * lib/stdio.in.h (rename): Declare replacement.
6083         * lib/rename.c (includes): Allow cross-compilation to non-windows
6084         machines.
6085         * doc/posix-functions/rename.texi (rename): Improve
6086         documentation.
6087
6088         stdio: sort witness names
6089         * modules/stdio (Makefile.am): Sort replacements.
6090         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
6091         * lib/stdio.in.h: Likewise.
6092
6093         getcwd: minor cleanups
6094         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
6095         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
6096
6097         openat: provide more convenience names
6098         * modules/faccessat (configure.ac): Add C witness.
6099         * lib/unistd.in.h (readlinkat): Fix typo.
6100         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
6101         convenience wrappers.
6102         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
6103         wrappers in syntax checks.
6104
6105 2009-09-06  Eric Blake  <ebb9@byu.net>
6106
6107         doc: fix comments in recent patches
6108         * lib/faccessat.c: Mention correct function.
6109         * lib/fchmodat.c: Likewise.
6110         * lib/fchownat.c: Likewise.
6111         * lib/symlinkat.c: Likewise.
6112         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
6113         constants.
6114
6115         faccessat, symlinkat: continue cleanup of previous patch
6116         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
6117         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
6118         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
6119         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
6120         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
6121         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
6122         set.
6123
6124 2009-09-06  Bruno Haible  <bruno@clisp.org>
6125
6126         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
6127         (fstatat): Declare if GNULIB_FSTATAT is set.
6128         (mkdirat): Declare if GNULIB_MKDIRAT is set.
6129         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
6130         (unlinkat): Declare if GNULIB_UNLINKAT is set.
6131         * modules/fcntl-h (Files): Remove m4/openat.m4.
6132         * modules/sys_stat (Files): Remove m4/openat.m4.
6133         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
6134         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
6135         * modules/unistd (Files): Remove m4/openat.m4.
6136         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
6137         GNULIB_OPENAT.
6138         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
6139         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
6140         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
6141         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
6142         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
6143         gl_OPENAT_DEFAULTS.
6144         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
6145         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
6146         Don't require gl_OPENAT_DEFAULTS.
6147         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
6148         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
6149         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
6150         (gl_OPENAT_DEFAULTS): Remove macro.
6151
6152 2009-09-06  Bruno Haible  <bruno@clisp.org>
6153
6154         * modules/openat (configure.ac): Remove unneeded witness.
6155
6156 2009-09-06  Bruno Haible  <bruno@clisp.org>
6157
6158         Set errno to ENOSYS when a function is entirely unsupported.
6159         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
6160         EOPNOTSUPP.
6161         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
6162         * modules/chown (Depends-on): Remove errno.
6163
6164 2009-09-06  Bruno Haible  <bruno@clisp.org>
6165
6166         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
6167
6168 2009-09-06  Bruno Haible  <bruno@clisp.org>
6169
6170         * lib/sys_stat.in.h: Fix preprocessor command indentation.
6171
6172 2009-09-06  Ben Pfaff  <blp@gnu.org>
6173             Bruno Haible  <bruno@clisp.org>
6174
6175         Work around a glibc bug in strtok_r.
6176         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
6177         Undefine if UNDEFINE_STRTOK_R is set.
6178         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
6179         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
6180         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
6181         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
6182         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
6183         UNDEFINE_STRTOK_R.
6184         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
6185
6186 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
6187
6188         exclude: minor fix
6189         * lib/exclude.c: Include wctype.h
6190
6191 2009-09-06  Akim Demaille  <demaille@gostai.com>
6192
6193         bootstrap: improve error message
6194         * build-aux/bootstrap (find_tool): Upon failure, report the list
6195         of candidates.
6196         Honor the initial value of the envvar.
6197
6198 2009-09-05  Eric Blake  <ebb9@byu.net>
6199
6200         symlinkat: new module
6201         * modules/symlinkat: New file.
6202         * lib/symlinkat.c: Likewise.
6203         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
6204         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
6205         * modules/unistd (Makefile.am): Use them.
6206         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
6207         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
6208         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
6209         * MODULES.html.sh (File system functions): Mention module.
6210         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
6211         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
6212         * modules/symlinkat-tests: New test.
6213         * tests/test-symlinkat.c: Likewise.
6214
6215         test-openat-safer: add more checks
6216         * tests/test-openat-safer.c (main): Check more code paths.
6217
6218 2009-09-05  Jim Meyering  <meyering@redhat.com>
6219
6220         syntax-check: detect unnecessary inclusion of openat.h
6221         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
6222
6223 2009-09-05  Bruno Haible  <bruno@clisp.org>
6224
6225         Support towlower, towupper.
6226         * doc/posix-functions/towlower.texi: Mention module wctype.
6227         * doc/posix-functions/towupper.texi: Likewise.
6228         * lib/wctype.in.h (towlower, towupper): New functions.
6229         * tests/test-wctype.c: Include stdio.h, stdlib.h.
6230         (ASSERT): New macro.
6231         (e): New variable.
6232         (main): Test also towlower, towupper. Test WEOF argument.
6233         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
6234
6235 2009-09-05  Bruno Haible  <bruno@clisp.org>
6236
6237         Fix conversion behaviour when the input is invalid.
6238         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
6239         mark occurring in first pass of indirect conversion.
6240         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
6241         input.
6242         Found by clang's static analyzer.
6243
6244 2009-09-05  Bruno Haible  <bruno@clisp.org>
6245
6246         * tests/test-striconveh.c (main): Test indirect conversion on platforms
6247         where direct conversion is possible.
6248
6249 2009-09-04  Eric Blake  <ebb9@byu.net>
6250
6251         openat: fail with ENOENT on empty name
6252         * lib/openat-proc.c (openat_proc_name): Special-case the empty
6253         buffer.
6254
6255         link-follow: fix logic bug in prior patch
6256         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
6257         reversed sense of yes and no in prior patch.  Avoid confusing
6258         compilation failure with desired semantics.
6259
6260         link-follow: accomodate mingw and cross-compilation
6261         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
6262         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
6263         cross-compilation results to -1, to make linkat easier to
6264         implement when cross-compiling.  Trivially support mingw.
6265         * modules/link-follow (configure.ac): Call new name.
6266         * NEWS: Mention this.
6267
6268 2009-09-03  Eric Blake  <ebb9@byu.net>
6269
6270         faccessat: compile replacement
6271         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
6272         needed.
6273
6274         fts: fix compilation error
6275         * lib/fts.c (includes): Re-add "openat.h", for
6276         openat_needs_fchdir.
6277
6278         faccessat: new module
6279         * modules/faccessat: New file.
6280         * lib/faccessat.c: Likewise.
6281         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
6282         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
6283         * modules/unistd (Makefile.am): Use it.
6284         * lib/unistd.in.h (faccessat): Declare it.
6285         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
6286         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
6287         * MODULES.html.sh (File system functions): Mention it.
6288         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
6289         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
6290
6291         euidaccess: prefer POSIX over non-standard implementation
6292         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
6293         * lib/euidaccess.c (euidaccess): Use it if available.
6294
6295         openat: make template easier to use
6296         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
6297         AT_FUNC_F2 to be undefined.
6298         (VALIDATE_FLAG): New macro; use it to reject bad flags.
6299         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
6300         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
6301         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
6302         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
6303         Likewise.
6304         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
6305         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
6306         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
6307         Likewise.
6308
6309         openat: declare in POSIX headers
6310         * NEWS: Mention this.
6311         * modules/openat (configure.ac): Declare witnesses.
6312         (Depends-on): Add fcntl-h, sys_stat, unistd.
6313         (Include): Mention correct headers.
6314         * modules/fcntl-h (Depends-on): Add link-warning.
6315         (Files): Add openat.m4.
6316         (Makefile.am): Substitute witnesses.
6317         * modules/sys_stat (Files, Makefile.am): Likewise.
6318         * modules/unistd (Files, Makefile.am): Likewise.
6319         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
6320         (gl_OPENAT_DEFAULTS): New macro.
6321         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
6322         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
6323         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
6324         (SYS_STAT_H): Remove unused variable.
6325         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
6326         * lib/fcntl--.h (includes): Remove unneeded header.
6327         * lib/openat-safer.c (includes): Likewise.
6328         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
6329         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
6330         appropriate headers.
6331         (__OPENAT_PREFIX): Delete.
6332         * lib/fcntl.in.h (openat): Provide declaration.
6333         (AT_FDCWD): Fix Solaris bug.
6334         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
6335         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
6336         * lib/fchmodat.c (includes):  Adjust to find declaration.
6337         * lib/fchownat.c (includes): Likewise.
6338         * lib/mkdirat.c (includes): Likewise.
6339         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
6340         still visible.
6341
6342 2009-09-02  Eric Blake  <ebb9@byu.net>
6343
6344         errno: use consistently
6345         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
6346         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
6347         * lib/canonicalize.c (ELOOP): Likewise.
6348         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
6349         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
6350         * lib/lchown.c (EOPNOTSUPP): Likewise.
6351         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
6352         * lib/savewd.c (ESTALE): Likewise.
6353         * lib/settime.c (ENOSYS): Likewise.
6354         * lib/utimens.c (ENOSYS): Likewise.
6355         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
6356         * lib/chdir-safer.c (ELOOP): Likewise.
6357         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
6358         * modules/c-stack (Depends-on): Add errno.
6359         * modules/canonicalize (Depends-on): Likewise.
6360         * modules/chdir-safer (Depends-on): Likewise.
6361         * modules/fdopendir (Depends-on): Likewise.
6362         * modules/inet_ntop (Depends-on): Likewise.
6363         * modules/inet_pton (Depends-on): Likewise.
6364         * modules/lchown (Depends-on): Likewise.
6365         * modules/openat (Depends-on): Likewise.
6366         * modules/savewd (Depends-on): Likewise.
6367         * modules/settime (Depends-on): Likewise.
6368         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
6369
6370         fts: avoid leaking fds
6371         * modules/fts (Depends-on): Add cloexec.
6372         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
6373         flag.
6374
6375         fts: make directory fds more robust
6376         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
6377         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
6378
6379         backupfile, chdir-long, fts, savedir: make safer
6380         * lib/backupfile.c (includes): Use "dirent--.h", since
6381         numbered_backup can write to stderr during readdir.
6382         * lib/savedir.c (includes): Likewise.
6383         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
6384         emulation can write to stderr on failure.
6385         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
6386         * lib/getcwd.c: Document why opendir_safer is unused.
6387         * lib/glob.c: Likewise.
6388         * lib/scandir.c: Likewise.
6389         * lib/openat-proc.c: Likewise, for open_safer.
6390         * modules/backupfile (Depends-on): Add dirent-safer.
6391         * modules/savedir (Depends-on): Likewise.
6392         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
6393         * modules/chdir-long (Depends-on): Add openat-safer.
6394
6395         openat-safer: new module
6396         * modules/openat-safer: New file.
6397         * lib/openat-safer.c: Likewise.
6398         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
6399         * lib/fcntl-safer.h (openat_safer): Declare.
6400         * lib/fcntl--.h (openat): Override.
6401         * MODULES.html.sh (File descriptor based I/O): Mention it.
6402         * lib/openat.h: Add double-inclusion guards.
6403         * lib/openat.c (includes): Only include "fcntl-safer.h", not
6404         "fcntl--.h", so we can implement openat.
6405         * modules/openat-safer-tests: New test.
6406         * tests/test-openat-safer.c: New file.
6407
6408         dirent-safer: new module
6409         * modules/dirent-safer: New file.
6410         * lib/dirent--.h: Likewise.
6411         * lib/dirent-safer.h: Likewise.
6412         * lib/opendir-safer.c: Likewise.
6413         * m4/dirent-safer.m4: Likewise.
6414         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
6415         * modules/dirent-safer-tests: New test.
6416         * tests/test-dirent-safer.c: New file.
6417         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
6418
6419         fdopendir: optimize on mingw
6420         * lib/unistd.in.h (_gl_directory_name): New prototype.
6421         * lib/fchdir.c (_gl_directory_name): Implement it.
6422         (fchdir): Use it to simplify implementation.
6423         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
6424         fchdir, when available, to avoid calling [f]chdir().
6425
6426         fdopendir: split into its own module
6427         * lib/openat.c (fdopendir): Move...
6428         * lib/fdopendir.c: ...into new file.
6429         * modules/fdopendir: New module.
6430         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
6431         * modules/openat (Depends-on): Add fdopendir.
6432         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
6433         fdopendir here.
6434         * modules/savedir (Depends-on): Only need fdopendir, not full
6435         openat.
6436         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
6437         * lib/openat.h (fdopendir): Drop prototype.
6438         * lib/dirent.in.h (fdopendir): Provide prototype.
6439         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
6440         * modules/dirent (Makefile.am): Substitute them.
6441         * MODULES.html.sh (File system functions): Mention it.
6442         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
6443         * modules/fdopendir-tests: New file.
6444         * tests/test-fdopendir.c: Likewise.
6445
6446         fchdir: use more consistent macro convention
6447         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
6448         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
6449         REPLACE_FCHDIR, rather than relying on config.h macros.
6450         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
6451         inside a single make-time REPLACE_FCHDIR block, rather than using
6452         the config.h FCHDIR_REPLACEMENT.
6453         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
6454         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
6455         Manage fstat replacement.
6456         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
6457         REPLACE_FCHDIR.
6458         * modules/sys_stat (Files): Add m4/unistd_h.m4.
6459         (Makefile.am): Substitute REPLACE_FCHDIR.
6460         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
6461         FCHDIR_REPLACEMENT.
6462         * lib/dup-safer.c (dup_safer): Likewise.
6463         * lib/dup2.c (rpl_dup2): Likewise.
6464         * lib/dup3.c (rpl_dup3): Likewise.
6465         * lib/open.c (rpl_open): Likewise.
6466
6467         fchdir: simplify error handling, and support dup3
6468         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
6469         stdbool, malloc-posix, realloc-posix.
6470         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
6471         (ensure_dirs_slot): Return false on allocation failure.
6472         (rpl_dup2): Delete.
6473         (_gl_register_dup): New function.
6474         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
6475         (_gl_register_fd): Close fd on allocation failure.
6476         * lib/fcntl.in.h (_gl_register_fd): Update signature.
6477         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
6478         prototype.
6479         (rpl_dup2_fchdir): Delete prototype.
6480         * lib/open.c (open): Update caller.
6481         * lib/dup2.c (dup2): Track fchdir metadata.
6482         * lib/dup3.c (dup3): Likewise.
6483         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
6484         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
6485
6486 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6487
6488         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
6489         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
6490         don't pass arguments to AC_OUTPUT.
6491
6492 2009-09-02  Bruno Haible  <bruno@clisp.org>
6493
6494         * modules/mkdtemp (License): Relicense under LGPLv2+.
6495         Reported by Paolo Bonzini.
6496
6497 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6498
6499         Replace uses of obsolete autoconf macros in Jim's modules.
6500         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
6501         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
6502         can evoke a warning from autoconf when run with -Wobsolete
6503         enabled.  They were declared obsolete for good reasons (see
6504         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
6505         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
6506         should not continue using the deprecated macros.
6507         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
6508         obsolete Autoconf macros with modern counterparts.
6509         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
6510         * m4/dos.m4 (gl_AC_DOS): Likewise.
6511         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
6512         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
6513         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
6514         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
6515         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
6516         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
6517         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
6518         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
6519         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
6520         Likewise.
6521         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
6522         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
6523         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
6524         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
6525         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
6526         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
6527
6528 2009-09-01  Eric Blake  <ebb9@byu.net>
6529
6530         fchdir: fix off-by-one bug in previous patch
6531         * lib/fchdir.c (rpl_fstat): Use correct bounds.
6532         (_gl_unregister_fd): Delete useless if.
6533
6534 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
6535
6536         maint.mk: sort the list of syntax-check rules
6537         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
6538         easier to get a sense of progress when the rules are run sequentially
6539         and take a long time.
6540
6541 2009-09-01  Simon Josefsson  <simon@josefsson.org>
6542
6543         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
6544         * modules/netinet_in: Likewise.
6545         * modules/sys_file: Likewise.
6546         * modules/sys_ioctl: Likewise.
6547         * modules/sys_select: Likewise.
6548         * modules/sys_socket: Likewise.
6549         * modules/sys_stat: Likewise.
6550         * modules/sys_time: Likewise.
6551         * modules/sys_times: Likewise.
6552         * modules/sys_utsname: Likewise.
6553         * modules/sys_wait: Likewise.
6554
6555 2009-09-01  Jim Meyering  <meyering@redhat.com>
6556
6557         fts: help ensure that return values are not ignored
6558         * lib/fts_.h (__GNUC_PREREQ): Define.
6559         (__attribute_warn_unused_result__): Define.
6560         (fts_children, fts_close, fts_open, fts_read): Declare with
6561         __attribute_warn_unused_result__.
6562
6563         fts: fts_close now fails also when closing a dir file descriptor fails
6564         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
6565         and propagate to caller, along with errno.
6566
6567         announce-gen: correct formatting in --help output
6568         * build-aux/announce-gen (usage): Move the one-line description in
6569         --help output "up", to where it belongs, just after Usage:.
6570
6571 2009-08-31  Eric Blake  <ebb9@byu.net>
6572
6573         fchdir: port to mingw
6574         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
6575         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
6576         opened, then use a substitute.
6577         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
6578         replacement.
6579         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
6580         (_gl_register_fd): No need to check stat if open already filters
6581         all directories.
6582         (fchdir): Fix error condition to match POSIX.
6583         * modules/fchdir (Depends-on): Add sys_stat.
6584         * doc/posix-functions/open.texi (open): Document the limitation.
6585         * modules/fchdir-tests: New file.
6586         * tests/test-fchdir.c: Likewise.
6587
6588         canonicalize: allow cross-testing from cygwin to mingw
6589         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
6590         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
6591         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
6592         Likewise.
6593         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
6594         target does not support symlinks.
6595         * tests/test-canonicalize-lgpl.sh: Likewise.
6596
6597         chown: avoid compilation warning on mingw
6598         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
6599         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
6600         mingw.
6601         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
6602         * modules/chown (Depends-on): Add errno.
6603
6604 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
6605
6606         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
6607         command.
6608
6609 2009-08-31  Jim Meyering  <meyering@redhat.com>
6610
6611         canonicalize: remove useless initialization
6612         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
6613         initialization of local, "end".
6614
6615 2009-08-30  Bruno Haible  <bruno@clisp.org>
6616
6617         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
6618         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
6619         ENOSYS.
6620
6621 2009-08-30  Bruno Haible  <bruno@clisp.org>
6622
6623         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
6624         /usr/xpg4/bin/tr when it exists.
6625         * tests/test-pipe-filter-gi1.sh: Likewise.
6626
6627 2009-08-30  Bruno Haible  <bruno@clisp.org>
6628
6629         Work around deficient /usr/bin/id program on Solaris.
6630         * tests/test-file-has-acl.sh (ID): New variable.
6631         * tests/test-set-mode-acl.sh (ID): Likewise.
6632         * tests/test-copy-acl.sh (ID): Likewise.
6633         * tests/test-copy-file.sh (ID): Likewise.
6634
6635 2009-08-30  Bruno Haible  <bruno@clisp.org>
6636
6637         New module 'xstriconveh'.
6638         * lib/xstriconveh.h: New file.
6639         * lib/xstriconveh.c: New file.
6640         * modules/xstriconveh: New file.
6641
6642 2009-08-30  Bruno Haible  <bruno@clisp.org>
6643
6644         Make it easier to use mem_cd_iconveh.
6645         * lib/striconveh.h (iconveh_t): New type.
6646         (iconveh_open, iconveh_close): New declarations.
6647         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
6648         with a single 'const iconveh_t *' argument.
6649         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
6650         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
6651         with a single 'const iconveh_t *' argument.
6652         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
6653         * tests/test-striconveh.c (main): Update.
6654         * NEWS: Mention the change.
6655
6656 2009-08-30  Bruno Haible  <bruno@clisp.org>
6657
6658         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
6659         problem.
6660
6661 2009-08-30  Bruno Haible  <bruno@clisp.org>
6662
6663         Work around iconv_open problem on Solaris.
6664         * lib/iconv_open-solaris.gperf: New file.
6665         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
6666         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
6667         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
6668         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
6669         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
6670         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
6671
6672 2009-08-29  Jim Meyering  <meyering@redhat.com>
6673
6674         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
6675         * top/maint.mk (cvs-check): Remove target; it was just an alias
6676         to the better-named vc-diff-check.
6677         (maintainer-distcheck): Remove rule.  It was used only from
6678         the (alpha/beta/major) target, and all of its commands but one
6679         were coreutils-specific.
6680         (vc-dist): Remove rule.
6681         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
6682         Run vc-diff-check, not vc-dist.
6683         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
6684
6685 2009-08-27  Bruno Haible  <bruno@clisp.org>
6686
6687         * tests/test-bitrotate.c (main): Remove test that uses a shift count
6688         of 0.
6689
6690 2009-08-27  Bruno Haible  <bruno@clisp.org>
6691
6692         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
6693         compilers.
6694         * doc/func.texi: Document the SunPRO C bug.
6695
6696 2009-08-27  Bruno Haible  <bruno@clisp.org>
6697
6698         Fix link error on Solaris.
6699         * tests/test-parse-duration.c (xstrdup): Remove function.
6700
6701 2009-08-26  Pádraig Brady  <P@draigbrady.com>
6702
6703         ignore-value: handle pointer types, too
6704         * lib/ignore-value.h (__attribute__): Remove definition.
6705         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
6706         of a more concise and more-often effective "(void) i" statement.
6707         (ignore_ptr): New function to suppress warnings from functions that
6708         return pointers, and to make it explicit that one function doesn't
6709         handle all cases.
6710
6711 2009-08-25  Bruno Haible  <bruno@clisp.org>
6712
6713         dup2: work around a Linux bug.
6714         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
6715         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
6716         * doc/posix-functions/dup2.texi: Mention the Linux bug.
6717         Reported by Simon Josefsson.
6718
6719 2009-08-25  Jim Meyering  <meyering@redhat.com>
6720
6721         libguestfs uses gnulib
6722         * users.txt: Add libguestfs.
6723
6724 2009-08-24  Eric Blake  <ebb9@byu.net>
6725
6726         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
6727         * lib/pipe2.c (includes): Add binary-io.h.
6728         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
6729
6730 2009-08-24  Bruno Haible  <bruno@clisp.org>
6731
6732         Tolerate declared but missing accept4 syscall.
6733         * lib/accept4.c (accept4): Invoke original accept4 function first, if
6734         available.
6735         * lib/sys_socket.in.h (accept4): If the function is already present,
6736         override it.
6737         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
6738         * modules/accept4 (Makefile.am): Compile accept4.c always.
6739         Reported by Paolo Bonzini and Eric Blake.
6740
6741 2009-08-23  Bruno Haible  <bruno@clisp.org>
6742
6743         New module 'accept4'.
6744         * lib/sys_socket.in.h (accept4): New declaration.
6745         * lib/accept4.c: New file.
6746         * m4/accept4.m4: New file.
6747         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
6748         GNULIB_ACCEPT4, HAVE_ACCEPT4.
6749         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
6750         HAVE_ACCEPT4.
6751         * modules/accept4: New file.
6752         * doc/glibc-functions/accept4.texi: Mention the new module.
6753
6754 2009-08-24  Jim Meyering  <meyering@redhat.com>
6755
6756         progname: also set global program_invocation_name, when possible
6757         Before this change, a libtool-enabled program that calls glibc's
6758         error function would report the program name as
6759         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
6760         * modules/progname (configure.ac): Check for a declaration of
6761         program_invocation_name.
6762         * lib/progname.c:  Include <errno.h>.
6763         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
6764         Set program_invocation_name.
6765
6766 2009-08-23  Bruno Haible  <bruno@clisp.org>
6767
6768         * lib/dup3.c: Include <string.h>.
6769
6770 2009-08-23  Bruno Haible  <bruno@clisp.org>
6771
6772         * lib/dup3.c (dup3): Test only once whether the system actually exists.
6773         * lib/pipe2.c (pipe2): Likewise.
6774         Suggested by Eric Blake.
6775
6776 2009-08-23  Bruno Haible  <bruno@clisp.org>
6777
6778         Tolerate declared but missing dup3 syscall.
6779         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
6780         * lib/unistd.in.h (dup3): If the function is already present,
6781         override it.
6782         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
6783         * modules/dup3 (Makefile.am): Compile dup3.c always.
6784         Reported by Paolo Bonzini.
6785
6786 2009-08-23  Bruno Haible  <bruno@clisp.org>
6787
6788         Tolerate declared but missing pipe2 syscall.
6789         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
6790         available.
6791         * lib/unistd.in.h (pipe2): If the function is already present,
6792         override it.
6793         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
6794         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
6795         Reported by Paolo Bonzini.
6796
6797 2009-08-23  Bruno Haible  <bruno@clisp.org>
6798
6799         * lib/pipe2.c (pipe2): Move #ifs inside function.
6800
6801 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
6802
6803         quotearg: document limitations of quote_these_too
6804         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
6805         those limitations are created.
6806         * lib/quotearg.h (set_char_quoting): Document that digits and
6807         letters that are special after backslash are not permitted.
6808         (quotearg_char): Cross-reference set_char_quoting documentation.
6809
6810 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
6811
6812         quotearg: implement custom_quoting_style
6813         * lib/quotearg.c: (struct quoting_options): Add left_quote and
6814         right_quote fields.
6815         (set_custom_quoting): New public function.
6816         (quotearg_buffer_restyled): Add left_quote and right_quote
6817         arguments, handle them very much like locale quoting, and update
6818         all uses.
6819         (quotearg_n_custom): New public function.
6820         (quotearg_n_custom_mem): New public function.
6821         (quotearg_custom): New public function.
6822         (quotearg_custom_mem): New public function.
6823         * lib/quotearg.h: Prototype and document new public functions.
6824         (enum quoting_style): For escape_quoting_style and
6825         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
6826         ignored even though they're otherwise like c_quoting_style.
6827         Add custom_quoting_style member and document with comparison to
6828         clocale_quoting_style.
6829         * tests/test-quotearg.c (custom_quotes): New array.
6830         (custom_results): New array.
6831         (main): Extend to test custom quoting.
6832
6833 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
6834
6835         quotearg: fix right quote escaping when it's in quote_these_too
6836         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
6837         quote, be sure to prepend only one backslash.
6838         * tests/test-quotearg.c (use_quote_double_quotes): New function.
6839         (main): Test it.
6840
6841 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
6842
6843         quotearg-tests: test escaping of embedded locale quotes
6844         * tests/test-quotearg.c (struct result_strings): Add member for
6845         new input.
6846         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
6847         (inputs): Add new input.
6848         (results_g): Add expected results.
6849         (flag_results): Likewise.
6850         (locale_results): Likewise.
6851         (compare_strings): Check those.
6852
6853 2009-08-23  Bruno Haible  <bruno@clisp.org>
6854
6855         Tests for module 'dup3'.
6856         * modules/dup3-tests: New file.
6857         * tests/test-dup3.c: New file.
6858
6859         New module 'dup3'.
6860         * lib/unistd.in.h (dup3): New declaration.
6861         * lib/dup3.c: New file.
6862         * m4/dup3.m4: New file.
6863         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
6864         HAVE_DUP3.
6865         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
6866         * modules/dup3: New file.
6867         * doc/glibc-functions/dup3.texi: Mention the new module.
6868
6869 2009-08-23  Bruno Haible  <bruno@clisp.org>
6870
6871         Tweak the dup2 test.
6872         * tests/test-dup2.c (main): Create the test file empty. Verify that an
6873         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
6874         the test file is still empty. Fix argument order of lseek.
6875
6876 2009-08-23  Bruno Haible  <bruno@clisp.org>
6877
6878         Avoid test link errors when the modules getopt-gnu, gettext are used.
6879         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
6880         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6881
6882 2009-08-23  Bruno Haible  <bruno@clisp.org>
6883
6884         Fix getdtablesize() on mingw.
6885         * lib/getdtablesize.c (getdtablesize): Implement differently.
6886         * lib/unistd.in.h (getdtablesize): Improve comment.
6887
6888 2009-08-23  Bruno Haible  <bruno@clisp.org>
6889
6890         New module 'mkostemp'.
6891         Based on Ulrich Drepper's 2007-08-10 change in glibc.
6892         * lib/stdlib.in.h (mksotemp): New declaration.
6893         * lib/mkostemp.c: New file, from glibc with modifications.
6894         * lib/tempname.h (GT_FILE): Remove outdated comment.
6895         (gen_tempname): Add flags argument.
6896         * lib/tempname.c (__GT_BIGFILE): Remove macro.
6897         (__GT_FILE): Map to 1.
6898         (small_open, large_open): Remove macros.
6899         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
6900         * lib/mkstemp.c (mkstemp): Update.
6901         * lib/mkdtemp.c (mkdtemp): Likewise.
6902         * m4/mkostemp.m4: New file.
6903         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
6904         HAVE_MKOSTEMP.
6905         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
6906         HAVE_MKOSTEMP.
6907         * modules/mkostemp: New file, based on modules/mkstemp.
6908         * doc/glibc-functions/mkostemp.texi: Mention the new module.
6909         * NEWS: Mention the change.
6910
6911 2009-08-23  Bruno Haible  <bruno@clisp.org>
6912
6913         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
6914         Reported by Eric Blake.
6915
6916 2009-08-23  Bruno Haible  <bruno@clisp.org>
6917
6918         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
6919         Reported by Eric Blake.
6920
6921 2009-08-23  Bruno Haible  <bruno@clisp.org>
6922
6923         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
6924         * modules/pipe2 (Depends-on): Likewise.
6925
6926 2009-08-23  Eric Blake  <ebb9@byu.net>
6927
6928         fcntl-h: add O_TTY_INIT support
6929         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
6930         * tests/test-fcntl-h.c (o): Test it.
6931         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
6932
6933         fcntl-h: rename from fcntl, in preparation for fcntl(2)
6934         * modules/fcntl: Move <fcntl.h> header replacement...
6935         * modules/fcntl-h: ...to new name, so as not to collide with
6936         like-named function.
6937         * tests/test-fcntl.c: Rename...
6938         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
6939         * modules/fcntl-tests: Rename...
6940         * modules/fcntl-h-tests: ...to this.  Update test file name.
6941         * modules/chdir-long (Depends-on): Update clients.
6942         * modules/chdir-safer (Depends-on): Likewise.
6943         * modules/fcntl-safer (Depends-on): Likewise.
6944         * modules/fts (Depends-on): Likewise.
6945         * modules/mkancesdirs (Depends-on): Likewise.
6946         * modules/mkdir-p (Depends-on): Likewise.
6947         * modules/open (Depends-on): Likewise.
6948         * modules/savewd (Depends-on): Likewise.
6949         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
6950         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
6951
6952 2009-08-22  Bruno Haible  <bruno@clisp.org>
6953
6954         * modules/binary-io (License): Relicense under LGPL.
6955         * modules/pipe2 (License): Likewise.
6956
6957 2009-08-22  Bruno Haible  <bruno@clisp.org>
6958
6959         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
6960         return value.
6961         * lib/pipe-filter-gi.c (filter_init): Likewise.
6962         Reported by Eric Blake.
6963
6964 2009-08-22  Bruno Haible  <bruno@clisp.org>
6965
6966         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
6967         * modules/pipe (Depends-on): Add pipe2.
6968
6969 2009-08-22  Bruno Haible  <bruno@clisp.org>
6970
6971         Tests for module 'pipe2'.
6972         * modules/pipe2-tests: New file.
6973         * tests/test-pipe2.c: New file.
6974
6975         New module 'pipe2'.
6976         * lib/unistd.in.h (pipe2): New declaration.
6977         * lib/pipe2.c: New file.
6978         * m4/pipe2.m4: New file.
6979         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
6980         HAVE_PIPE2.
6981         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
6982         * modules/pipe2: New file.
6983         * doc/glibc-functions/pipe2.texi: Mention the new module.
6984
6985 2009-08-22  Bruno Haible  <bruno@clisp.org>
6986
6987         Reference some new glibc functions.
6988         * doc/glibc-functions/accept4.texi: New file.
6989         * doc/glibc-functions/dup3.texi: New file.
6990         * doc/glibc-functions/mkostemp.texi: New file.
6991         * doc/glibc-functions/pipe2.texi: New file.
6992         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
6993         (Glibc sys/socket.h): Refer to accept4.
6994         (Glibc unistd.h): Refer to dup3, pipe2.
6995         Reported by Eric Blake.
6996
6997 2009-08-22  Jim Meyering  <meyering@redhat.com>
6998             Bruno Haible  <bruno@clisp.org>
6999
7000         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
7001         This makes it so packages using automake-1.11's silent-rules option
7002         can print e.g., a single "GEN    configmake.h" line, rather than
7003         the 30+ statements that perform the job.  If you want to see the
7004         actual commands, you can still run "make V=1".
7005         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
7006         so that make output is abbreviated when those variables are defined
7007         appropriately.
7008         * modules/argz: Likewise.
7009         * modules/arpa_inet: Likewise.
7010         * modules/byteswap: Likewise.
7011         * modules/configmake: Likewise.
7012         * modules/dirent: Likewise.
7013         * modules/errno: Likewise.
7014         * modules/fcntl: Likewise.
7015         * modules/float: Likewise.
7016         * modules/fnmatch: Likewise.
7017         * modules/getopt-posix: Likewise.
7018         * modules/glob: Likewise.
7019         * modules/iconv_open: Likewise.
7020         * modules/inttypes: Likewise.
7021         * modules/localcharset: Likewise.
7022         * modules/locale: Likewise.
7023         * modules/math: Likewise.
7024         * modules/netdb: Likewise.
7025         * modules/netinet_in: Likewise.
7026         * modules/poll: Likewise.
7027         * modules/posix_spawnp-tests: Likewise.
7028         * modules/sched: Likewise.
7029         * modules/search: Likewise.
7030         * modules/selinux-h: Likewise.
7031         * modules/signal: Likewise.
7032         * modules/spawn: Likewise.
7033         * modules/stdarg: Likewise.
7034         * modules/stdbool: Likewise.
7035         * modules/stddef: Likewise.
7036         * modules/stdint: Likewise.
7037         * modules/stdio: Likewise.
7038         * modules/stdlib: Likewise.
7039         * modules/string: Likewise.
7040         * modules/strings: Likewise.
7041         * modules/sys_file: Likewise.
7042         * modules/sys_ioctl: Likewise.
7043         * modules/sys_select: Likewise.
7044         * modules/sys_socket: Likewise.
7045         * modules/sys_stat: Likewise.
7046         * modules/sys_time: Likewise.
7047         * modules/sys_times: Likewise.
7048         * modules/sys_utsname: Likewise.
7049         * modules/sys_wait: Likewise.
7050         * modules/sysexits: Likewise.
7051         * modules/time: Likewise.
7052         * modules/unistd: Likewise.
7053         * modules/wchar: Likewise.
7054         * modules/wctype: Likewise.
7055
7056 2009-08-22  Jim Meyering  <meyering@redhat.com>
7057
7058         announce-gen: detect write failure
7059         * build-aux/announce-gen: Add Coda at end.
7060         Remove equivalent-but-more-verbose block at top.
7061
7062 2009-08-19  Akim Demaille  <demaille@gostai.com>
7063
7064         bootstrap: --help to stdout.
7065         * bootstrap (usage): Don't send --help to stderr.
7066         Use a here doc instead of a long string.
7067
7068 2009-08-21  Eric Blake  <ebb9@byu.net>
7069
7070         test-popen-safer: split from test-popen
7071         * tests/test-popen.c (main): Move...
7072         * tests/test-popen.h: ...into new file.
7073         * tests/test-popen-safer2.c: New file.
7074         * modules/popen-tests (Files): Add test-popen.h.
7075         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
7076         Suggested by Bruno Haible.
7077
7078         test-fcntl-safer: split from test-open
7079         * tests/test-open.c (main): Move...
7080         * tests/test-open.h: ...into new file.
7081         * tests/test-fcntl-safer.c: New file.
7082         * modules/open-tests (Files): Add test-open.h.
7083         * modules/fcntl-safer-tests: New file.
7084         Suggested by Bruno Haible.
7085
7086         test-fopen-safer: split from test-fopen
7087         * tests/test-fopen.c (main): Move...
7088         * tests/test-fopen.h: ...into new file.
7089         * tests/test-fopen-safer.c: New file.
7090         * modules/fopen-tests (Files): Add test-fopen.h.
7091         * modules/fopen-safer-tests: New file.
7092         Suggested by Bruno Haible.
7093
7094 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
7095
7096         popen-safer: test O_CLOEXEC at run-time.
7097         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
7098
7099 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
7100
7101         fcntl: move more flags to the header
7102         * lib/cloexec.c: Do not define FD_CLOEXEC here.
7103         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
7104         * lib/fcntl.in.h: Do both things here.
7105
7106 2009-08-21  Jim Meyering  <meyering@redhat.com>
7107
7108         consistently remove $@-t before redirecting to it
7109         * modules/argz: Remove $@-t and $@ before redirecting to the former.
7110         * modules/alloca-opt: Likewise.
7111         * modules/byteswap: Likewise.
7112         * modules/fnmatch: Likewise.
7113         * modules/getopt-posix: Likewise.
7114         * modules/glob: Likewise.
7115         * modules/poll: Likewise.
7116         * modules/posix_spawnp-tests: Likewise.
7117         * modules/sys_socket: Likewise.
7118         * modules/sysexits: Likewise.
7119
7120 2009-08-21  Eric Blake  <ebb9@byu.net>
7121
7122         popen: simplify access to original popen
7123         * lib/popen.c (rpl_popen): No need to worry about popen being a
7124         macro.
7125         Reported by Bruno Haible.
7126
7127 2009-08-20  Eric Blake  <ebb9@byu.net>
7128
7129         build: avoid some compiler warnings
7130         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
7131         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
7132         type.
7133         (new_exclude_segment, excluded_file_pattern_p)
7134         (excluded_file_name_p): Reduce scope.
7135         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
7136         old-style declaration.
7137
7138 2009-08-20  Simon Josefsson  <simon@josefsson.org>
7139
7140         * tests/test-exclude1.sh: Handle Windows EOL.
7141         * tests/test-exclude2.sh: Likewise.
7142         * tests/test-exclude3.sh: Likewise.
7143         * tests/test-exclude4.sh: Likewise.
7144         * tests/test-exclude5.sh: Likewise.
7145         * tests/test-exclude6.sh: Likewise.
7146         * tests/test-exclude7.sh: Likewise.
7147
7148 2009-08-19  Akim Demaille  <demaille@gostai.com>
7149
7150         bootstrap: find sha1sum when named gsha1sum.
7151         * bootstrap (find_tool): New.
7152         ($SHA1SUM): New.
7153         Use it.
7154
7155 2009-08-20  Jim Meyering  <meyering@redhat.com>
7156
7157         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
7158         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
7159         expression that converts "." in a file name to "\." in the resulting
7160         regexp.  Start with a dummy statement, so that prior shell variable
7161         definitions are expanded portably.  Reported by Simon Josefsson.
7162
7163 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
7164
7165         Fix polling for writeability of a screen buffer.
7166         * lib/poll.c: Distinguish input and screen buffers for the
7167         Win32 implementation.
7168         * lib/select.c: Likewise.
7169
7170 2009-08-19  Eric Blake  <ebb9@byu.net>
7171
7172         popen-safer: prevent popen from clobbering std descriptors
7173         * modules/popen-safer: New file.
7174         * lib/popen-safer.c: Likewise.
7175         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
7176         * lib/stdio--.h (popen): Provide override.
7177         * lib/stdio-safer.h (popen_safer): Provide declaration.
7178         * tests/test-popen.c (includes): Partially test this.
7179         * modules/popen-safer-tests: New file, for more tests.
7180         * tests/test-popen-safer.c: Likewise.
7181         * MODULES.html.sh (file stream based Input/Output): Mention it.
7182
7183         tests: test some of the *-safer modules
7184         * modules/fopen-safer (Depends-on): Add fopen.
7185         * modules/fcntl-safer (Depends-on): Add fcntl.
7186         * modules/stdlib-safer (Depends-on): Add stdlib.
7187         (configure.ac): Set indicator.
7188         * modules/unistd-safer (configure.ac): Likewise.
7189         * modules/tmpfile-safer (configure.ac): Likewise.
7190         (Depends-on): Add tmpfile.
7191         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
7192         active.
7193         * tests/test-fopen.c (includes): Test safer versions when they are
7194         in use.
7195         * tests/test-open.c (includes): Likewise.
7196
7197         popen: fix cygwin 1.5 bug when stdin closed
7198         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
7199         * modules/popen: New file.
7200         * modules/popen-tests: Likewise.
7201         * tests/test-popen.c: Likewise.
7202         * m4/popen.m4: Likewise.
7203         * lib/popen.c: Likewise.
7204         * lib/stdio.in.h (popen): New declaration.
7205         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
7206         * modules/stdio (Makefile.am): Likewise.
7207         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
7208
7209 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
7210
7211         maint.mk: give full control over update-copyright exclusions
7212         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
7213         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
7214         (update-copyright): Don't force inclusion of top-level
7215         ChangeLog.  Don't force exclusion of all COPYING files, but make
7216         them the default exclusion instead.
7217
7218 2009-08-16  Bruno Haible  <bruno@clisp.org>
7219
7220         Fix test failures on Solaris 10.
7221         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
7222         tests when Solaris iconv() is used.
7223         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
7224         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
7225         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
7226         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
7227         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
7228
7229 2009-08-16  Bruno Haible  <bruno@clisp.org>
7230
7231         Fix test failures on Solaris 10.
7232         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
7233         'tr' program and pass it as first argument.
7234         * tests/test-pipe-filter-gi1.sh: Likewise.
7235         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
7236         program as first argument.
7237         * tests/test-pipe-filter-gi1.c (main): Likewise.
7238
7239 2009-08-16  Eric Blake  <ebb9@byu.net>
7240
7241         fpurge: fix previous commits
7242         * modules/fpurge (Makefile.am): Make replacement conditional,
7243         partially reverting 2007-04-29 change; missed in previous
7244         attempt.
7245         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
7246         is missing.
7247
7248 2009-08-16  Bruno Haible  <bruno@clisp.org>
7249
7250         Clarify fpurge's effect on the file position.
7251         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
7252         * tests/test-fpurge.c (main): Make a second pass for checking the file
7253         position.
7254
7255 2009-08-16  Bruno Haible  <bruno@clisp.org>
7256
7257         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
7258         declaration of fpurge is missing.
7259         * tests/test-fpurge.c (main): Check that the file has not more contents
7260         than expected. Close the file before removing it.
7261
7262 2009-08-15  Eric Blake  <ebb9@byu.net>
7263
7264         fpurge: don't wrap working cygwin implementation
7265         * lib/fpurge.c (fpurge): Fix comment typo.
7266         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
7267         1.7 to avoid replacement.
7268         * tests/test-fpurge.c (main): Enhance test.
7269
7270 2009-08-15  Eric Blake  <ebb9@byu.net>
7271         and Jim Meyering  <meyering@redhat.com>
7272
7273         test-update-copyright: skip if perl is insufficient
7274         * tests/test-update-copyright.sh: Failure to run maintainer tool
7275         should not cause testsuite failure on cygwin 1.5.
7276
7277 2009-08-14  Eric Blake  <ebb9@byu.net>
7278
7279         doc: mention more functions added in cygwin 1.7.0
7280         * doc/posix-headers/limits.texi (limits.h): Update for recent
7281         cygwin additions.
7282         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
7283         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
7284         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
7285         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
7286         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
7287
7288 2009-08-14  Eric Blake  <ebb9@byu.net>
7289
7290         maint.mk: simplify update-copyright rule
7291         * top/maint.mk (update-copyright-local): Delete, and document how
7292         to do it in cfg.mk instead.
7293         (update-copyright-exclude-regexp): Delete, and document how to do
7294         it in .x-update-copyright instead.
7295         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
7296         exclude ChangeLog.
7297
7298 2009-08-14  Bruno Haible  <bruno@clisp.org>
7299
7300         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
7301
7302 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
7303
7304         maint.mk: support update-copyright-env
7305         * top/maint.mk (update-copyright-env): Define place-holder.
7306         (update-copyright): Expand $(update-copyright-env) before
7307         invoking update-copyright.
7308
7309 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
7310
7311         update-copyright: implement forced reformatting
7312         * build-aux/update-copyright: Implement and document
7313         UPDATE_COPYRIGHT_FORCE.
7314         * tests/test-update-copyright.sh: Test it.
7315
7316 2009-08-14  Eric Blake  <ebb9@byu.net>
7317         and Bruno Haible  <bruno@clisp.org>
7318
7319         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
7320         * tests/test-locale.c: Revert previous patch related to NULL.
7321         * tests/test-stdio.c: Likewise.
7322         * tests/test-stdlib.c: Likewise.
7323         * tests/test-string.c: Likewise.
7324         * tests/test-unistd.c: Likewise.
7325         * modules/time-tests (Depends-on): Add verify.
7326         * modules/wchar-tests (Depends-on): Likewise.
7327         * tests/test-time.c: Test for NULL compliance.
7328         * tests/test-wchar.c: Likewise.
7329         * modules/locale (Depends-on): Add stddef.
7330         * modules/stdio (Depends-on): Likewise.
7331         * modules/stdlib (Depends-on): Likewise.
7332         * modules/string (Depends-on): Likewise.
7333         * modules/time (Depends-on): Likewise.
7334         * modules/unistd (Depends-on): Likewise.
7335         * modules/wchar (Depends-on): Likewise.
7336         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
7337         * lib/stdlib.in.h (includes): Likewise.
7338         * lib/string.in.h (includes): Likewise.
7339         * lib/time.in.h (includes): Likewise.
7340         * lib/unistd.in.h (includes): Likewise.
7341         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
7342         replaced.
7343         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
7344         * m4/stddef_h.m4: New file.
7345         * modules/stddef: Likewise.
7346         * lib/stddef.in.h: Likewise.
7347         * modules/stddef-tests: Likewise.
7348         * tests/test-stddef.c: Likewise.
7349         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
7350         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
7351         * doc/posix-headers/locale.texi (locale.h): Likewise.
7352         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
7353         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
7354         * doc/posix-headers/string.texi (string.h): Likewise.
7355         * doc/posix-headers/time.texi (time.h): Likewise.
7356         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
7357         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
7358
7359 2009-08-14  Eric Blake  <ebb9@byu.net>
7360
7361         doc: improve git diff of texinfo files
7362         * .gitattributes: Add rule for *.texi files, with hint on how to
7363         use it.
7364         Copied from m4, and based on a report by Bruno Haible.
7365
7366 2009-08-14  Bruno Haible  <bruno@clisp.org>
7367
7368         Disable multithread support by default on Cygwin 1.5.x for real.
7369         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
7370
7371 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
7372
7373         update-copyright: much ado about intervals
7374         * build-aux/update-copyright: Implement and document
7375         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
7376         of copyright year intervals.
7377         Also, document UPDATE_COPYRIGHT_YEAR.
7378         * tests/test-update-copyright.sh: Test it.
7379
7380         update-copyright: convert 2-digit to 4-digit years
7381         * build-aux/update-copyright: Implement and document.
7382         * tests/test-update-copyright.sh: Update.
7383
7384 2009-08-14  Jim Meyering  <meyering@redhat.com>
7385
7386         test-exclude: avoid coreutils "make check" failure
7387         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
7388         just as in test-argmatch.c.
7389
7390 2009-08-13  Eric Blake  <ebb9@byu.net>
7391
7392         test-dup2: fix bad assumption
7393         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
7394         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
7395
7396         test-version-etc: fix CRLF portability issue
7397         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
7398         recognize \r.
7399         * tests/test-argp-version-etc-1.sh: Likewise.
7400
7401         getopt: update client modules
7402         * modules/argp (Depends-on): Use getopt-gnu.
7403         * modules/git-merge-changelog (Depends-on): Likewise.
7404         * modules/long-options (Depends-on): Likewise.
7405         * modules/xstrtol (Depends-on): Likewise.
7406
7407 2009-08-13  Simon Josefsson  <simon@josefsson.org>
7408
7409         * tests/test-version-etc.sh: Don't fail on different
7410         project/version.  Don't fail on CRLF differences.  Rewrite to use
7411         multiple -e instead of multiple sed forks, suggested by Eric Blake
7412         <ebb9@byu.net>.
7413         * tests/test-argp-version-etc-1.sh: Likewise.
7414
7415 2009-08-13  Simon Josefsson  <simon@josefsson.org>
7416
7417         * tests/test-version-etc.sh: Don't fail on different
7418         project/version.
7419
7420 2009-08-12  Bruno Haible  <bruno@clisp.org>
7421
7422         Tests for modules 'getopt-posix', 'getopt-gnu'.
7423         * modules/getopt-posix-tests: New file.
7424         * tests/test-getopt.c: New file.
7425         * tests/test-getopt.h: New file.
7426         * tests/test-getopt_long.h: New file.
7427
7428         New modules 'getopt-posix', 'getopt-gnu'.
7429         * modules/getopt-gnu: New file, renamed from modules/getopt.
7430         * modules/getopt-posix: New file.
7431         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
7432         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
7433         (gl_GETOPT): Remove macro.
7434         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
7435         Disable the test against BSD systems that declare optreset. Test
7436         against mingw bug. Test against lack of support of optional arguments
7437         on many platforms.
7438         * doc/glibc-headers/getopt.texi: Update module name and list of
7439         relevant platforms.
7440         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
7441         'getopt-gnu' and more portability problems.
7442         * NEWS: Mention the changes.
7443
7444 2009-08-12  Bruno Haible  <bruno@clisp.org>
7445
7446         Ensure that optarg etc. get declared by <unistd.h>.
7447         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
7448         AC_USE_SYSTEM_EXTENSIONS.
7449         * modules/getopt (Depends-on): Add 'extensions'.
7450
7451 2009-08-12  Bruno Haible  <bruno@clisp.org>
7452
7453         Avoid test link errors.
7454         * modules/pipe-filter-ii-tests (Makefile.am): Define
7455         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
7456         * modules/pipe-filter-gi-tests (Makefile.am): Define
7457         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
7458         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7459
7460 2009-08-12  Bruno Haible  <bruno@clisp.org>
7461
7462         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
7463         gl_GETOPT_SUBSTITUTE before.
7464         (gl_GETOPT): Use it.
7465         * m4/argp.m4 (gl_ARGP): Update.
7466         Reported by Sergey Poznyakoff.
7467
7468         * m4/getopt.m4: Reorder macros.
7469         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
7470         (gl_GETOPT_SUBSTITUTE): Remove macro.
7471
7472 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
7473
7474         Minor improvement in gitlog-to-changelog
7475
7476         * build-aux/gitlog-to-changelog: New option `--format' makes
7477         output format string configurable.
7478
7479 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
7480
7481         Optimize exclude: use hash tables for non-wildcard patterns.
7482
7483         * lib/exclude.c: Include hash.h and mbuiter.h
7484         (struct exclude_pattern, exclude_segment): New data types.
7485         (struct exclude): Rewrite.
7486         (fnmatch_pattern_has_wildcards): New function.
7487         (new_exclude_segment, free_exclude_segment): New functions.
7488         (excluded_file_pattern_p, excluded_file_name_p): New functions.
7489         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
7490         * lib/exclude.h (is_fnmatch_pattern): New prototype.
7491         * modules/exclude: Depend on hash and mbuiter.
7492
7493         * modules/exclude-tests: New file.
7494         * tests/test-exclude.c: New file.
7495         * tests/test-exclude1.sh: New file.
7496         * tests/test-exclude2.sh: New file.
7497         * tests/test-exclude3.sh: New file.
7498         * tests/test-exclude4.sh: New file.
7499         * tests/test-exclude5.sh: New file.
7500         * tests/test-exclude6.sh: New file.
7501         * tests/test-exclude7.sh: New file.
7502
7503 2009-08-12  Bruno Haible  <bruno@clisp.org>
7504
7505         Ensure that getopt() gets declared by <unistd.h>.
7506         * lib/unistd.in.h: Conditionally include getopt.h.
7507         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
7508         Set GNULIB_UNISTD_H_GETOPT.
7509         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
7510         GNULIB_UNISTD_H_GETOPT.
7511         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
7512
7513 2009-08-12  Bruno Haible  <bruno@clisp.org>
7514
7515         Clarify logic.
7516         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
7517         gl_replace_getopt instead of GETOPT_H.
7518
7519 2009-08-12  Bruno Haible  <bruno@clisp.org>
7520
7521         * m4/getopt.m4: Add comments.
7522
7523 2009-08-12  Bruno Haible  <bruno@clisp.org>
7524
7525         Disable multithread support by default on Cygwin 1.5.x.
7526         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
7527         set gl_use_threads=no if not specified otherwise.
7528
7529 2009-08-11  Bruno Haible  <bruno@clisp.org>
7530
7531         Avoid compilation error on NetBSD 5.0.
7532         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
7533         * tests/test-stdio.c: Likewise.
7534         * tests/test-stdlib.c: Likewise.
7535         * tests/test-string.c: Likewise.
7536         * tests/test-unistd.c: Likewise.
7537         Reported by Greg Troxel <gdt@ir.bbn.com>
7538         at <https://savannah.gnu.org/support/?106973>.
7539
7540 2009-08-11  Bruno Haible  <bruno@clisp.org>
7541
7542         * modules/dup2-tests (Depends-on): Remove close.
7543
7544         Undo 2009-07-19 commit.
7545         * modules/acl-tests (Depends-on): Remove close.
7546         * modules/binary-io-tests (Depends-on): Likewise.
7547         * modules/closein-tests (Depends-on): Likewise.
7548         * modules/flock-tests (Depends-on): Likewise.
7549         * modules/fsync-tests (Depends-on): Likewise.
7550         * modules/lseek-tests (Depends-on): Likewise.
7551         * modules/pipe-tests (Depends-on): Likewise.
7552         * modules/posix_spawn-tests (Depends-on): Likewise.
7553         * modules/posix_spawnp-tests (Depends-on): Likewise.
7554         * modules/stat-time-tests (Depends-on): Likewise.
7555         * modules/yesno-tests (Depends-on): Likewise.
7556
7557 2009-08-10  Bruno Haible  <bruno@clisp.org>
7558
7559         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
7560
7561 2009-08-10  Bruno Haible  <bruno@clisp.org>
7562
7563         Fix a gcc warning.
7564         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
7565
7566 2009-08-10  Bruno Haible  <bruno@clisp.org>
7567
7568         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
7569         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
7570         not only the first time.
7571         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
7572         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
7573         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
7574         is 1, not only the the first time.
7575
7576 2009-08-10  Bruno Haible  <bruno@clisp.org>
7577
7578         Make it possible to use module 'gethostname' without module 'close'.
7579         * lib/unistd.in.h (close): Evoke a link error only if
7580         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
7581         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
7582         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
7583         * modules/unistd (Makefile.am): Substitute
7584         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
7585         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
7586         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
7587         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
7588         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
7589         * modules/sys_ioctl (Makefile.am): Substitute
7590         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
7591         * modules/socket (configure.ac): On native Windows, set
7592         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
7593         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
7594         Reported by Sam Steingold <sds@gnu.org>.
7595
7596 2009-08-10  Bruno Haible  <bruno@clisp.org>
7597
7598         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
7599         * modules/ioctl (configure.ac): Likewise.
7600
7601 2009-08-10  Bruno Haible  <bruno@clisp.org>
7602
7603         Avoid collision between gnulib wrapper and libintl wrapper.
7604         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
7605         already defined in intl/printf.c.
7606         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
7607         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
7608
7609 2009-08-09  Bruno Haible  <bruno@clisp.org>
7610
7611         Make <sys/select.h> really self-contained, also on Solaris 10.
7612         * lib/sys_select.in.h: Include <string.h>.
7613         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
7614         Solaris 10 problem.
7615         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
7616         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
7617         Reported by Jim Meyering.
7618
7619 2009-08-09  Bruno Haible  <bruno@clisp.org>
7620
7621         Avoid warnings from 'aclocal' that are due to a use of macro name
7622         AM_XGETTEXT_OPTION that is not defined in automake.
7623         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
7624         automake.
7625         * modules/error (configure.ac): Likewise.
7626         * modules/propername (configure.ac): Likewise.
7627         * modules/vasprintf (configure.ac): Likewise.
7628         * modules/verror (configure.ac): Likewise.
7629         * modules/xprintf (configure.ac): Likewise.
7630         * modules/xvasprintf (configure.ac): Likewise.
7631
7632 2009-08-08  Bruno Haible  <bruno@clisp.org>
7633
7634         Avoid compilation error in C++ mode.
7635         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
7636         Reported by Sam Steingold <sds@gnu.org>.
7637
7638 2009-08-08  Bruno Haible  <bruno@clisp.org>
7639
7640         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
7641         for the various Unix platforms.
7642         * doc/posix-headers/limits.texi: Update platforms list regarding
7643         HOST_NAME_MAX.
7644         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7645
7646 2009-08-07  Jim Meyering  <meyering@redhat.com>
7647
7648         selinux-at: fix typo in a comment
7649         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
7650         Spotted by Paolo Bonzini.
7651
7652         selinux-at: remove redundant m4 code, add documentation
7653         * modules/selinux-at (configure.ac): Remove redundant code.
7654         LIB_SELINUX is already set via the dependent module, selinux-h.
7655         (Include): Add quotes around selinux-at.h.
7656         * lib/selinux-at.h: Add documentation.
7657         Reported by Bruno Haible in
7658         http://marc.info/?l=gnulib-bug&m=124958988300749
7659
7660 2009-08-07  Bruno Haible  <bruno@clisp.org>
7661
7662         Avoid link error on MacOS X 10.3 and 10.4.
7663         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
7664         on non-ELF systems.
7665         * lib/argp-pv.c (argp_program_version): Likewise.
7666         Reported by Simon Josefsson.
7667
7668 2009-08-07  Simon Josefsson  <simon@josefsson.org>
7669
7670         * tests/test-version-etc.sh: Use $EXEEXT.
7671
7672 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
7673
7674         update-copyright: update documentation to point to maint.mk
7675         * build-aux/update-copyright: Here.
7676
7677 2009-08-06  Jim Meyering  <meyering@redhat.com>
7678
7679         maint.mk: support update-copyright-local
7680         * top/maint.mk (update-copyright-local): Define place-holder.
7681         (update-copyright): Depend on $(update-copyright-local).
7682
7683 2009-08-06  Jim Meyering  <meyering@redhat.com>
7684
7685         selinux-at: new module
7686         Initially written for coreutils, this module will soon be
7687         used by findutils, too.
7688         * MODULES.html.sh [Misc]: Add selinux-at.
7689         * lib/selinux-at.h: New file, from coreutils.
7690         * lib/selinux-at.c: Likewise.
7691         * modules/selinux-at: Likewise.
7692         (License): Change from LGPL to GPL, since it depends
7693         on the GPL'd openat module.
7694
7695         doc: update README
7696         * README: Remove references to cogito.
7697         Remove cvs-repo-updating instructions from 2007.
7698         Don't imply that CVS is better if you have limited disk space.
7699
7700 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
7701
7702         update-copyright: support C-style comments
7703         * build-aux/update-copyright: Implement and document.
7704         * tests/test-update-copyright.sh: Test.
7705
7706 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
7707
7708         update-copyright: support omitted "(C)"
7709         * build-aux/update-copyright: Implement and document.  Also,
7710         allow variable whitespace before "(C)".
7711         * tests/test-update-copyright.sh: Test.
7712
7713 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
7714
7715         update-copyright: don't trip on non-FSF copyright statements
7716         * build-aux/update-copyright: Fix so that the first correctly
7717         formatted FSF copyright statement is recognized no matter what
7718         appears before it.  Update documentation.
7719         * tests/test-update-copyright.sh: Test that.
7720
7721 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
7722
7723         update-copyright: clean up code a little
7724         * build-aux/update-copyright: Append "_re" to the name of any
7725         variable holding a regular expression.
7726         Replace "old" and "new" with "stmt" in variable names.
7727         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
7728         handled correctly.
7729         Format code more consistently.
7730
7731 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
7732
7733         update-copyright-tests: improve portability
7734         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
7735         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
7736
7737 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
7738
7739         update-copyright: support @copyright{} and &copy;
7740         * build-aux/update-copyright: Implement and document.
7741         * tests/test-update-copyright.sh: Test.
7742
7743 2009-08-04  Jim Meyering  <meyering@redhat.com>
7744
7745         update-copyright-tests: correctly test EOL=\r\n handling
7746         * tests/test-update-copyright.sh: Put \r at the end of some lines
7747         for the dos-eol tests.  Based on a patch by Joel E. Denny.
7748
7749         maint.mk: make update-copyright exclusion list more configurable
7750         * top/maint.mk (update-copyright): Default to excluding COPYING,
7751         but allow an override, in case someone does want to update that file.
7752
7753         maint.mk: don't update copyright date in COPYING
7754         * top/maint.mk (update-copyright): Exclude COPYING.
7755
7756         maint.mk: add a copyright-updating rule
7757         * top/maint.mk (update-copyright): New rule.
7758         Derived from coreutils/Makefile.am.
7759
7760         update-copyright: rename some variables
7761         * build-aux/update-copyright: Rename a few variables for clarity.
7762         Tweak syntax.  List Joel E. Denny as coauthor.
7763
7764 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
7765
7766         update-copyright: fix bug for 2-digit last year and add tests
7767         * build-aux/update-copyright: Fix bug.
7768         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
7769         specified.
7770         * modules/update-copyright-tests: New
7771         * tests/test-update-copyright.sh: New.
7772
7773 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
7774
7775         update-copyright: handle leading tabs in line prefix
7776         * build-aux/update-copyright: Count leading tabs as 8 spaces
7777         when computing margin.  This helps with the formatting of
7778         ChangeLogs, for example.
7779         Fix documentation a little.
7780
7781 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
7782
7783         update-copyright: support EOL=\r\n
7784         * build-aux/update-copyright: Implement that.
7785
7786 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
7787
7788         update-copyright: automatically format copyright statements
7789         * build-aux/update-copyright: Implement that.
7790         Also, be a little more predictable and safer by always failing
7791         when the full copyright format is not perfectly recognized as an
7792         unbroken whole.  Discussed at
7793         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
7794         Rewrite documentation.
7795
7796 2009-08-03  Bruno Haible  <bruno@clisp.org>
7797
7798         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
7799
7800 2009-08-02  Bruno Haible  <bruno@clisp.org>
7801
7802         Tests for module 'uname'.
7803         * modules/uname-tests: New file.
7804         * tests/test-uname.c: New file.
7805
7806         New module 'uname'.
7807         * lib/uname.c: New file.
7808         * m4/uname.m4: New file.
7809         * modules/uname: New file.
7810         * doc/posix-functions/uname.texi: Mention the new module.
7811
7812 2009-08-02  Bruno Haible  <bruno@clisp.org>
7813
7814         Tests for module 'sys_utsname'.
7815         * modules/sys_utsname-tests: New file.
7816         * tests/test-sys_utsname.c: New file.
7817
7818         New module 'sys_utsname'.
7819         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
7820         * m4/sys_utsname_h.m4: New file.
7821         * modules/sys_utsname: New file.
7822         * doc/posix-headers/sys_utsname.texi: Mention the new module.
7823
7824 2009-08-02  Bruno Haible  <bruno@clisp.org>
7825
7826         Implicitly initialize the sockets library.
7827         * lib/gethostname.c: Include sockets.h.
7828         (rpl_gethostname): Invoke gl_sockets_startup.
7829         * lib/socket.c: Include sockets.h.
7830         (rpl_socket): Invoke gl_sockets_startup.
7831         * modules/gethostname (Depends-on): Add sockets.
7832         * modules/socket (Depends-on): Likewise.
7833         * tests/test-poll.c: Don't include sockets.h.
7834         (main): Don't invoke gl_sockets_startup.
7835         * tests/test-select.c: Don't include sockets.h.
7836         (main): Don't invoke gl_sockets_startup.
7837
7838 2009-08-02  Bruno Haible  <bruno@clisp.org>
7839
7840         Allow multiple calls to gl_sockets_startup.
7841         * lib/sockets.c (initialized_sockets_version): New variable.
7842         (gl_sockets_startup): Do nothing if already called for this or a higher
7843         version.
7844         (gl_sockets_cleanup): Reset initialized_sockets_version.
7845
7846 2009-08-03  Simon Josefsson  <simon@josefsson.org>
7847
7848         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
7849         different project/version.
7850
7851 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
7852             Bruno Haible  <bruno@clisp.org>
7853
7854         Tests for module 'pipe-filter-gi'.
7855         * modules/pipe-filter-gi-tests: New file.
7856         * tests/test-pipe-filter-gi1.sh: New file.
7857         * tests/test-pipe-filter-gi1.c: New file.
7858         * tests/test-pipe-filter-gi2.sh: New file.
7859         * tests/test-pipe-filter-gi2-main.c: New file.
7860         * tests/test-pipe-filter-gi2-child.c: New file.
7861
7862         New module 'pipe-filter-gi'.
7863         * lib/pipe-filter-gi.c: New file.
7864         * modules/pipe-filter-gi: New file.
7865
7866 2009-08-02  Bruno Haible  <bruno@clisp.org>
7867             Paolo Bonzini  <bonzini@gnu.org>
7868
7869         Tests for module 'pipe-filter-ii'.
7870         * modules/pipe-filter-ii-tests: New file.
7871         * tests/test-pipe-filter-ii1.sh: New file.
7872         * tests/test-pipe-filter-ii1.c: New file.
7873         * tests/test-pipe-filter-ii2.sh: New file.
7874         * tests/test-pipe-filter-ii2-main.c: New file.
7875         * tests/test-pipe-filter-ii2-child.c: New file.
7876
7877         New module 'pipe-filter-ii'.
7878         * lib/pipe-filter.h: New file.
7879         * lib/pipe-filter-ii.c: New file.
7880         * lib/pipe-filter-aux.h: New file.
7881         * modules/pipe-filter-ii: New file.
7882
7883 2009-08-02  Simon Josefsson  <simon@josefsson.org>
7884
7885         * lib/gc-libgcrypt.c: Change copyright to FSF.
7886         * lib/gc-gnulib.c: Likewise.
7887
7888 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
7889
7890         * lib/gethostname.c: Include limits.h.
7891
7892 2009-08-02  Simon Josefsson  <simon@josefsson.org>
7893             Bruno Haible  <bruno@clisp.org>
7894
7895         Ensure HOST_NAME_MAX as part of the gethostname module.
7896         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
7897         define also HOST_NAME_MAX.
7898         * tests/test-gethostname.c: Include <limits.h>.
7899         (main): Check also HOST_NAME_MAX.
7900         * doc/posix-headers/limits.texi: Document the mingw problem.
7901
7902 2009-08-02  Bruno Haible  <bruno@clisp.org>
7903
7904         * lib/gethostname.c (gethostname): Fix handling of large len argument.
7905         Add comments.
7906
7907 2009-03-31  Simon Josefsson  <simon@josefsson.org>
7908
7909         * lib/gethostname.c: Add Windows wrapper.
7910         * m4/gethostname.m4: Look for gethostname in -lws2_32.
7911         * modules/gethostname: Depend on sys_socket & errno, for also
7912         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
7913         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
7914
7915 2009-07-31  Jim Meyering  <meyering@redhat.com>
7916
7917         getloadavg: fix symbol name in comment
7918         * lib/getloadavg.c: Correct a typo I introduced when adding
7919         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
7920         Matt Kraai spotted the problem.
7921
7922 2009-07-29  Matt Kraai  <mkraai@beckman.com>
7923
7924         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
7925         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
7926         code also if ! defined N_NAME_POINTER.
7927         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
7928         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
7929         but the n_name member is a 12-byte array.
7930
7931 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
7932
7933         update-copyright: generalize comment handling
7934         * build-aux/update-copyright: Handle copyright statements
7935         within more comment styles.
7936         Document usage.
7937         Report any file with an external copyright holder or parse failure.
7938
7939 2009-07-29  Jim Meyering  <meyering@redhat.com>
7940
7941         mktime: correct setting of REPLACE_MKTIME
7942         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
7943
7944         update-copyright: new module
7945         * modules/update-copyright: New file.
7946         * build-aux/update-copyright: New file.
7947         * MODULES.html.sh (maint+release support): Add update-copyright.
7948
7949 2009-07-27  Bruno Haible  <bruno@clisp.org>
7950
7951         Fix compilation error when <ctime> is used and mktime is replaced.
7952         * lib/time.in.h (mktime): New declaration.
7953         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
7954         REPLACE_MKTIME instead of defining mktime in config.h.
7955         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
7956         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
7957         Reported by Ross McFarland <rwmcfa1@neces.com>.
7958
7959 2009-07-27  Bruno Haible  <bruno@clisp.org>
7960
7961         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
7962         Reported by Matt Kraai <mkraai@beckman.com>.
7963
7964 2009-07-25  Jim Meyering  <meyering@redhat.com>
7965
7966         maint.mk: avoid warnings about missing files
7967         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
7968         diagnostic when .prev-version does not exist.
7969         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
7970         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
7971         nonexistent cfg.mk.
7972         Suggestions from Simon Josefsson.
7973
7974 2009-07-25  Bruno Haible  <bruno@clisp.org>
7975
7976         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
7977         defined as macros. Needed on QNX 6.4.1.
7978         Reported by Matt Kraai <mkraai@beckman.com>.
7979
7980 2009-07-23  Jim Meyering  <meyering@redhat.com>
7981
7982         maint.mk: invoke "make dist" with a working value of XZ_OPT
7983         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
7984
7985 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
7986
7987         Make fseeko.c compile on QNX.
7988         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
7989
7990 2009-07-22  Peter Simons  <simons@cryp.to>
7991
7992         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
7993         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
7994         * lib/md4.h: Likewise.
7995         * lib/md5.h: Likewise.
7996         * lib/sha1.h: Likewise.
7997         * lib/sha256.h: Likewise.
7998         * lib/sha512.h: Likewise.
7999
8000         tests-sha1: don't assign literal string to 'char *' variable
8001         * tests/test-sha1.c (main): Declare locals with "const" to match
8002         attributes of the right hand side.
8003
8004 2009-07-21  Eric Blake  <ebb9@byu.net>
8005
8006         dup2: fix more mingw problems
8007         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
8008         fd to itself.
8009         * doc/posix-functions/dup2.texi (dup2): Document the bug.
8010         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
8011         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
8012         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
8013         care of mingw bugs.
8014
8015 2009-07-21  Jim Meyering  <meyering@redhat.com>
8016
8017         vc-list-files: avoid failure when /bin/sh is dash
8018         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
8019         On some Debian based systems, /bin/sh is a symlink to dash, and running
8020         this command would omit the "/" following each 'tests' prefix:
8021           dash -x build-aux/vc-list-files -C . tests
8022         That is because bash and dash work differently:
8023           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
8024           bash ok
8025           dash odd
8026
8027 2009-07-21  Eric Blake  <ebb9@byu.net>
8028
8029         dup2-tests: test previous patch
8030         * modules/dup2-tests: New file.
8031         * tests/test-dup2.c: Likewise.
8032         * tests/test-open.c (main): Avoid unspecified behavior.
8033         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
8034         test.
8035
8036         dup2: work around mingw and cygwin 1.5 bug
8037         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
8038         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
8039         * modules/unistd (Makefile.am): Substitute it.
8040         * lib/unistd.in.h (dup2): Declare the replacement.
8041         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
8042         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
8043         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
8044         * modules/execute (Depends-on): Add dup2.
8045         * modules/fseterr (Depends-on): Likewise.
8046         * modules/pipe (Depends-on): Likewise.
8047         * modules/posix_spawn-internal (Depends-on): Likewise.
8048
8049 2009-07-21  Bruno Haible  <bruno@clisp.org>
8050
8051         * modules/.gitattributes: New file.
8052
8053 2009-07-20  Bruno Haible  <bruno@clisp.org>
8054
8055         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
8056         (main): Use it.
8057
8058 2009-07-20  Eric Blake  <ebb9@byu.net>
8059
8060         test-pipe: make a bit more robust.
8061         * tests/test-pipe.c (myerr): Allow error messages regardless of
8062         what we do to stderr.
8063         (test_pipe): Rearrange to avoid deadlock.
8064         (child_main): Try a larger read, to ensure we avoided deadlock.
8065         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
8066         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
8067         if misused.
8068
8069 2009-07-19  Jim Meyering  <meyering@redhat.com>
8070
8071         fts: avoid false-positive cycle-detection
8072         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
8073         for each new command line argument.
8074
8075 2009-07-19  Bruno Haible  <bruno@clisp.org>
8076
8077         Fix build error on mingw with the modules sys_select and unistd.
8078         * modules/acl-tests (Depends-on): Add close.
8079         * modules/binary-io-tests (Depends-on): Likewise.
8080         * modules/closein-tests (Depends-on): Likewise.
8081         * modules/flock-tests (Depends-on): Likewise.
8082         * modules/fsync-tests (Depends-on): Likewise.
8083         * modules/lseek-tests (Depends-on): Likewise.
8084         * modules/pipe-tests (Depends-on): Likewise.
8085         * modules/posix_spawn-tests (Depends-on): Likewise.
8086         * modules/posix_spawnp-tests (Depends-on): Likewise.
8087         * modules/stat-time-tests (Depends-on): Likewise.
8088         * modules/yesno-tests (Depends-on): Likewise.
8089
8090 2009-07-19  Bruno Haible  <bruno@clisp.org>
8091
8092         Unify conditionals.
8093         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
8094         macros, not at the compiler macros.
8095         * lib/pipe.c: Likewise.
8096         * lib/execute.c: Likewise.
8097         * lib/spawni.c: Likewise.
8098
8099 2009-07-19  Bruno Haible  <bruno@clisp.org>
8100
8101         Fix handling of closed stdin/stdout/stderr on mingw.
8102         * lib/w32spawn.h: Include unistd.h.
8103         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
8104         file descriptor with O_NOINHERIT flag.
8105         (fd_safer_noinherit): New function, based on fd-safer.c.
8106         (dup_safer_noinherit): New function, based on dup-safer.c.
8107         (undup_safer_noinherit): New function.
8108         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
8109         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
8110         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
8111         instead of fd_safer.
8112         * tests/test-pipe.c: Include <windows.h>.
8113         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
8114
8115         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
8116         from main.
8117         (test_pipe): Pass an extra argument for disambiguation.
8118         (main): Invoke parent_main or child_main.
8119
8120         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
8121         consistently.
8122
8123 2009-07-18  Eric Blake  <ebb9@byu.net>
8124
8125         test-pipe: fix mingw build
8126         * tests/test-pipe.c (main): Avoid fcntl on mingw.
8127
8128 2009-07-18  Bruno Haible  <bruno@clisp.org>
8129
8130         * modules/pipe-tests (Makefile.am): Fix typo.
8131
8132 2009-07-18  Eric Blake  <ebb9@byu.net>
8133
8134         error: fix mingw build
8135         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
8136         Reported by Bruno Haible.
8137
8138         error: avoid undefined use of stdout
8139         * lib/error.c (error, error_at_line): Check that fd 1 is open
8140         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
8141         is handling faults and the close_stdout module wants to report the
8142         detection of closed stdout as an error.
8143
8144 2009-07-17  Eric Blake  <ebb9@byu.net>
8145
8146         pipe: be robust in face of closed fds
8147         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
8148         should cause child to misbehave.
8149         * modules/pipe-tests: New module.
8150         * tests/test-pipe.c: New file.
8151         * tests/test-pipe.sh: New file.
8152         Reported by Akim Demaille.
8153
8154 2009-07-14  Bruno Haible  <bruno@clisp.org>
8155
8156         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
8157         Reported by anonymous kc.
8158
8159 2009-07-07  Jim Meyering  <meyering@redhat.com>
8160
8161         maint.mk: don't look for translatable strings in *.m4 or *.mk
8162         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
8163         when searching for translatable strings.
8164
8165 2009-07-05  Jim Meyering  <meyering@redhat.com>
8166
8167         remove superfluous parentheses in STREQ definition
8168         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
8169         * lib/getugroups.c (STREQ): Likewise.
8170         * lib/fnmatch.c (STREQ): Likewise.
8171         Spotted by Bruno Haible.
8172
8173 2009-07-04  Jim Meyering  <meyering@redhat.com>
8174
8175         argv-iter: new module
8176         * MODULES.html.sh: Add argv-iter.
8177         * lib/argv-iter.c, lib/argv-iter.h: New files.
8178         * modules/argv-iter: New file.
8179         * modules/argv-iter-tests: New file.
8180         * tests/test-argv-iter.c: Test it.
8181
8182 2009-07-04  Bruno Haible  <bruno@clisp.org>
8183
8184         Fix assertion.
8185         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
8186         contains more exact copies of a given entry than file2, leave the extra
8187         copies unpaired rather than aborting.
8188         Reported by Eric Blake.
8189
8190 2009-07-02  Bruno Haible  <bruno@clisp.org>
8191
8192         Speedup git-merge-changelog for git cherry-pick.
8193         * lib/git-merge-changelog.c (struct entries_mapping): New type.
8194         (entries_mapping_get): New function, extracted from compute_mapping.
8195         (entries_mapping_reverse_get): New function.
8196         (compute_mapping): Add a 'full' argument. Return the result in a
8197         'struct entries_mapping'.
8198         (main): Update. Access the mappings through entries_mapping_get.
8199         Reported by Eric Blake.
8200
8201 2009-07-02  Bruno Haible  <bruno@clisp.org>
8202
8203         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
8204         best_i.
8205
8206 2009-07-02  Bruno Haible  <bruno@clisp.org>
8207
8208         Speed up approximate search for matching ChangeLog entries.
8209         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
8210         argument. Call fstrcmp_bounded instead of fstrcmp.
8211         (compute_mapping, try_split_merged_entry, main): Update callers.
8212
8213 2009-07-02  Bruno Haible  <bruno@clisp.org>
8214
8215         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
8216
8217 2009-06-30  Bruno Haible  <bruno@clisp.org>
8218
8219         Reduce the number of uc_is_cased calls.
8220         * lib/unicase.h (casing_suffix_context_t): Add
8221         'first_char_except_ignorable' field.
8222         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
8223         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
8224         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
8225         Update initializer.
8226         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
8227         case-ignorable characters.
8228         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
8229         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
8230         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
8231         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
8232         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
8233
8234 2009-06-30  Bruno Haible  <bruno@clisp.org>
8235
8236         Tests for module 'unicase/ignorable'.
8237         * modules/unicase/ignorable-tests: New file.
8238         * tests/unicase/test-ignorable.c: New file, generated by
8239         gen-uni-tables.
8240
8241         Tests for module 'unicase/cased'.
8242         * modules/unicase/cased-tests: New file.
8243         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
8244         * tests/unicase/test-predicate-part1.h: New file, derived from
8245         tests/unictype/test-predicate-part1.h.
8246         * tests/unicase/test-predicate-part2.h: New file, same as
8247         tests/unictype/test-predicate-part2.h.
8248
8249         Fix evaluation of "Before C" condition of FINAL_SIGMA.
8250         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
8251         (output_casing_properties): New function.
8252         (main): Call it.
8253         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
8254         * lib/unicase/cased.c: Include unictype/bitmap.h.
8255         (uc_is_cased): Define through a bitmap lookup.
8256         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
8257         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
8258         (uc_is_case_ignorable): Define through a bitmap lookup.
8259         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
8260         lib/unictype/bitmap.h.
8261         (Depends-on): Add inline. Clean up.
8262         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
8263         lib/unictype/bitmap.h.
8264         (Depends-on): Add inline. Clean up.
8265         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
8266         recognition.
8267         * tests/unicase/test-u16-tolower.c (main): Likewise.
8268         * tests/unicase/test-u32-tolower.c (main): Likewise.
8269
8270 2009-06-30  Bruno Haible  <bruno@clisp.org>
8271
8272         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
8273         * lib/unicase/u16-casemap.c: Likewise.
8274         * lib/unicase/u32-casemap.c: Likewise.
8275
8276 2009-06-29  Bruno Haible  <bruno@clisp.org>
8277
8278         Define u32_casefold as a wrapper around u32_ct_casefold.
8279         * lib/unicase/u32-casefold.c: Update.
8280         * modules/unicase/u32-casefold (Depends-on): Add
8281         unicase/u32-ct-casefold, unicase/empty-prefix-context,
8282         unicase/empty-suffix-context. Clean up.
8283
8284         Define u16_casefold as a wrapper around u16_ct_casefold.
8285         * lib/unicase/u16-casefold.c: Update.
8286         * modules/unicase/u16-casefold (Depends-on): Add
8287         unicase/u16-ct-casefold, unicase/empty-prefix-context,
8288         unicase/empty-suffix-context. Clean up.
8289
8290         Define u8_casefold as a wrapper around u8_ct_casefold.
8291         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
8292         * lib/unicase/u8-casefold.c: Update.
8293         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
8294         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
8295
8296         Define u32_totitle as a wrapper around u32_ct_totitle.
8297         * lib/unicase/u32-totitle.c: Update.
8298         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
8299         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
8300
8301         Define u16_totitle as a wrapper around u16_ct_totitle.
8302         * lib/unicase/u16-totitle.c: Update.
8303         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
8304         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
8305
8306         Define u8_totitle as a wrapper around u8_ct_totitle.
8307         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
8308         functions.
8309         (FUNC): Delegate to U_CT_TOTITLE.
8310         * lib/unicase/u8-totitle.c: Update.
8311         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
8312         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
8313
8314         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
8315         invocation.
8316         * modules/unicase/u32-tolower (Depends-on): Add
8317         unicase/empty-prefix-context, unicase/empty-suffix-context.
8318
8319         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
8320         invocation.
8321         * modules/unicase/u16-tolower (Depends-on): Add
8322         unicase/empty-prefix-context, unicase/empty-suffix-context.
8323
8324         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
8325         * modules/unicase/u8-tolower (Depends-on): Add
8326         unicase/empty-prefix-context, unicase/empty-suffix-context.
8327
8328         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
8329         invocation.
8330         * modules/unicase/u32-toupper (Depends-on): Add
8331         unicase/empty-prefix-context, unicase/empty-suffix-context.
8332
8333         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
8334         invocation.
8335         * modules/unicase/u16-toupper (Depends-on): Add
8336         unicase/empty-prefix-context, unicase/empty-suffix-context.
8337
8338         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
8339         * modules/unicase/u8-toupper (Depends-on): Add
8340         unicase/empty-prefix-context, unicase/empty-suffix-context.
8341
8342         New module 'unicase/u32-ct-casefold'.
8343         * lib/unicase/u32-ct-casefold.c: New file.
8344         * modules/unicase/u32-ct-casefold: New file.
8345
8346         New module 'unicase/u16-ct-casefold'.
8347         * lib/unicase/u16-ct-casefold.c: New file.
8348         * modules/unicase/u16-ct-casefold: New file.
8349
8350         New module 'unicase/u8-ct-casefold'.
8351         * lib/unicase/u8-ct-casefold.c: New file.
8352         * lib/unicase/u-ct-casefold.h: New file, derived from
8353         lib/unicase/u-casefold.h.
8354         * modules/unicase/u8-ct-casefold: New file.
8355
8356         New module 'unicase/u32-ct-totitle'.
8357         * lib/unicase/u32-ct-totitle.c: New file.
8358         * modules/unicase/u32-ct-totitle: New file.
8359
8360         New module 'unicase/u16-ct-totitle'.
8361         * lib/unicase/u16-ct-totitle.c: New file.
8362         * modules/unicase/u16-ct-totitle: New file.
8363
8364         New module 'unicase/u8-ct-totitle'.
8365         * lib/unicase/u8-ct-totitle.c: New file.
8366         * lib/unicase/u-ct-totitle.h: New file, derived from
8367         lib/unicase/u-totitle.h.
8368         * modules/unicase/u8-ct-totitle: New file.
8369
8370         New module 'unicase/u32-ct-tolower'.
8371         * lib/unicase/u32-ct-tolower.c: New file.
8372         * modules/unicase/u32-ct-tolower: New file.
8373
8374         New module 'unicase/u16-ct-tolower'.
8375         * lib/unicase/u16-ct-tolower.c: New file.
8376         * modules/unicase/u16-ct-tolower: New file.
8377
8378         New module 'unicase/u8-ct-tolower'.
8379         * lib/unicase/u8-ct-tolower.c: New file.
8380         * modules/unicase/u8-ct-tolower: New file.
8381
8382         New module 'unicase/u32-ct-toupper'.
8383         * lib/unicase/u32-ct-toupper.c: New file.
8384         * modules/unicase/u32-ct-toupper: New file.
8385
8386         New module 'unicase/u16-ct-toupper'.
8387         * lib/unicase/u16-ct-toupper.c: New file.
8388         * modules/unicase/u16-ct-toupper: New file.
8389
8390         New module 'unicase/u8-ct-toupper'.
8391         * lib/unicase/u8-ct-toupper.c: New file.
8392         * modules/unicase/u8-ct-toupper: New file.
8393
8394         Add context arguments to u*_casemap functions.
8395         * lib/unicase/unicasemap.h: Include unicase.h.
8396         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
8397         suffix_context arguments.
8398         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
8399         functions.
8400         (FUNC): Add prefix_context and suffix_context arguments. Use
8401         uc_is_cased and uc_is_case_ignorable.
8402         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
8403         * lib/unicase/u16-casemap.c: Likewise.
8404         * lib/unicase/u32-casemap.c: Likewise.
8405         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
8406         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
8407         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
8408         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
8409         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
8410         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
8411
8412         New module 'unicase/u32-suffix-context'.
8413         * lib/unicase/u32-suffix-context.c: New file.
8414         * modules/unicase/u32-suffix-context: New file.
8415
8416         New module 'unicase/u16-suffix-context'.
8417         * lib/unicase/u16-suffix-context.c: New file.
8418         * modules/unicase/u16-suffix-context: New file.
8419
8420         New module 'unicase/u8-suffix-context'.
8421         * lib/unicase/u8-suffix-context.c: New file.
8422         * lib/unicase/u-suffix-context.h: New file.
8423         * modules/unicase/u8-suffix-context: New file.
8424
8425         New module 'unicase/empty-suffix-context'.
8426         * lib/unicase/empty-suffix-context.c: New file.
8427         * modules/unicase/empty-suffix-context: New file.
8428
8429         New module 'unicase/u32-prefix-context'.
8430         * lib/unicase/u32-prefix-context.c: New file.
8431         * modules/unicase/u32-prefix-context: New file.
8432
8433         New module 'unicase/u16-prefix-context'.
8434         * lib/unicase/u16-prefix-context.c: New file.
8435         * modules/unicase/u16-prefix-context: New file.
8436
8437         New module 'unicase/u8-prefix-context'.
8438         * lib/unicase/u8-prefix-context.c: New file.
8439         * lib/unicase/u-prefix-context.h: New file.
8440         * lib/unicase/context.h: New file.
8441         * modules/unicase/u8-prefix-context: New file.
8442
8443         New module 'unicase/empty-prefix-context'.
8444         * lib/unicase/empty-prefix-context.c: New file.
8445         * modules/unicase/empty-prefix-context: New file.
8446
8447         New module 'unicase/ignorable'.
8448         * lib/unicase/ignorable.c: New file.
8449         * modules/unicase/ignorable: New file.
8450
8451         New module 'unicase/cased'.
8452         * lib/unicase/caseprop.h: New file.
8453         * lib/unicase/cased.c: New file.
8454         * modules/unicase/cased: New file.
8455
8456         New functions for case mapping of substrings.
8457         * lib/unicase.h (casing_prefix_context_t): New type.
8458         (unicase_empty_prefix_context): New variable.
8459         (u8_casing_prefix_context, u16_casing_prefix_context,
8460         u32_casing_prefix_context, u8_casing_prefixes_context,
8461         u16_casing_prefixes_context, u32_casing_prefixes_context): New
8462         declarations.
8463         (casing_suffix_context_t): New type.
8464         (unicase_empty_suffix_context): New variable.
8465         (u8_casing_suffix_context, u16_casing_suffix_context,
8466         u32_casing_suffix_context, u8_casing_suffixes_context,
8467         u16_casing_suffixes_context, u32_casing_suffixes_context,
8468         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
8469         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
8470         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
8471         declarations.
8472
8473 2009-06-28  Jim Meyering  <meyering@redhat.com>
8474
8475         boostrap: indent only with spaces
8476         * build-aux/bootstrap: Indent only with spaces, never TABs.
8477
8478         bootstrap: split long lines
8479         * build-aux/bootstrap: Keep line length < 80.
8480
8481         bootstrap: sync from coreutils
8482         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
8483         just as autoreconf does.  Verify a list of prerequisite
8484         package-name,version-number pairs if defined in bootstrap.conf.
8485         Refer to README-prereq, if prerequisites are not satisfied.
8486
8487 2009-06-27  Eric Blake  <ebb9@byu.net>
8488
8489         tests: add test for bogus NULL definition
8490         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
8491         * tests/test-stdlib.c: Likewise.
8492         * tests/test-string.c: Likewise.
8493         * tests/test-locale.c: Likewise.
8494         * tests/test-unistd.c: Likewise.
8495         * modules/stdio-tests (Depends-on): Add verify.
8496         * modules/stdlib-tests (Depends-on): Likewise.
8497         * modules/string-tests (Depends-on): Likewise.
8498         * modules/locale-tests (Depends-on): Likewise.
8499         * modules/unistd-tests (Depends-on): Likewise.
8500
8501 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
8502
8503         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
8504         self-explaining comment.
8505         * m4/selinux-selinux-h: Update serial.
8506         (gl_LIBSELINUX): New macro, adding a warning for missing development
8507         packages to code extracted from...
8508         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
8509         Add warning for missing development packages here, too.
8510
8511 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
8512
8513         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
8514
8515 2009-06-25  Eric Blake  <ebb9@byu.net>
8516
8517         version-etc: fix regression
8518         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
8519         gcc.
8520         (version_etc): Use it, to catch bugs with trailing NULL.
8521         * lib/version-etc.c (version_etc_arn): Delete unused argument.
8522         (version_etc_va): Fix logic bug.
8523         * modules/version-etc-tests: Add test.
8524         * tests/test-version-etc.c: New file.
8525         * tests/test-version-etc.sh: Likewise.
8526
8527 2009-06-25  Sam Steingold  <sds@gnu.org>
8528
8529         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
8530         mbtowc declaration.
8531
8532 2009-06-25  Eric Blake  <ebb9@byu.net>
8533
8534         fpurge: migrate into <stdio.h>
8535         * lib/fpurge.h: Delete...
8536         * lib/stdio.in.h (fpurge): ...and declare here, instead.
8537         * lib/fpurge.c (fpurge): Change declaring header.
8538         * modules/fpurge (Files): Drop deleted file.
8539         (Depends-on): Add stdio.
8540         (configure.ac): Set witness.
8541         * modules/stdio (Makefile.am): Support fpurge macros.
8542         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
8543         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
8544         * lib/fflush.c: Update client.
8545         * tests/test-fpurge.c: Likewise.
8546         * NEWS: Mention the change.
8547
8548 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
8549
8550         * lib/argp-version-etc.c (program_authors): Add const
8551         qualifier.
8552         * lib/version-etc.c: Fix typos in the comments.
8553         * modules/argp-version-etc: Depends on version-etc.
8554
8555 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
8556
8557         argp-version-etc: new module.
8558
8559         * lib/argp-version-etc.c: New file.
8560         * lib/argp-version-etc.h: New file.
8561         * modules/argp-version-etc: New file.
8562         * modules/argp-version-etc-tests: New file.
8563         * tests/test-argp-version-etc.c: New test.
8564         * tests/test-argp-version-etc-1.sh: New test.
8565
8566 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
8567
8568         Provide additional interfaces and documentation for version-etc
8569         module.
8570
8571         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
8572         interfaces.
8573         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
8574         prototypes.
8575
8576 2009-06-24  Bruno Haible  <bruno@clisp.org>
8577
8578         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
8579         HAVE_LIB${NAME} macro.
8580         Reported by Sam Steingold <sds@gnu.org>.
8581
8582 2009-06-23  Simon Josefsson  <simon@josefsson.org>
8583
8584         * modules/hash-tests (test_hash_LDADD): Link to libintl when
8585         needed.
8586
8587 2009-06-21  Bruno Haible  <bruno@clisp.org>
8588
8589         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
8590         work.
8591         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
8592         together with LIB${NAME}, LTLIB${NAME}.
8593         Reported by Sam Steingold <sds@gnu.org>.
8594
8595 2009-06-20  Jim Meyering  <meyering@redhat.com>
8596
8597         tests: make sc_require_test_exit_idiom more generic
8598         * top/maint.mk (Exit_witness_file): New overridable variable.
8599         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
8600         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
8601
8602 2009-06-19  Jim Meyering  <meyering@redhat.com>
8603
8604         hash: reverse order of src/dst parameters in an internal interface
8605         * lib/hash.c (transfer_entries): Reverse order of parameters to
8606         put DST before SRC.  Adjust callers.
8607
8608         tests: test-hash: avoid wholesale duplication
8609         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
8610         Instead, use a loop and add a single conditional.
8611
8612         tests: test-hash: allow seed selection via a command line argument
8613         * tests/test-hash.c (get_seed): New function.
8614         (main): Use it.
8615
8616 2009-06-19  Eric Blake  <ebb9@byu.net>
8617
8618         hash: avoid memory leak on allocation failure
8619         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
8620         failure.  Factor repeated algorithm...
8621         (transfer_entries): ...into new helper routine.
8622         (hash_delete): React to hash_rehash return value.
8623
8624         hash: reduce memory pressure in hash_rehash no-op case
8625         * lib/hash.c (next_prime): Avoid overflow.
8626         (hash_initialize): Factor bucket size computation...
8627         (compute_bucket_size): ...into new helper function.
8628         (hash_rehash): Use new function and open coding to reduce memory
8629         pressure, and avoid a memory leak in USE_OBSTACK code.
8630         Reported by Jim Meyering.
8631
8632 2009-06-18  Eric Blake  <ebb9@byu.net>
8633
8634         hash: make rotation more obvious
8635         * modules/hash (Depends-on): Add bitrotate and stdint.
8636         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
8637         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
8638         (SIZE_MAX): Rely on headers for definition.
8639         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
8640         (raw_hasher): Use rotr_sz.
8641         Suggested by Jim Meyering.
8642
8643         hash: fix memory leak in last patch
8644         * lib/hash.c (hash_rehash): Avoid memory leak.
8645
8646         hash: avoid no-op rehashing
8647         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
8648
8649         hash: provide default callback functions
8650         * lib/hash.c (raw_hasher, raw_comparator): New functions.
8651         (hash_initialize): Use them as defaults.
8652         * tests/test-hash.c (main): Test this.
8653
8654         hash: minor optimization
8655         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
8656         when possible.
8657         (hash_initialize): Document this promise.
8658         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
8659         * tests/test-hash.c (hash_compare_strings): Test this.
8660
8661 2009-06-18  Bruno Haible  <bruno@clisp.org>
8662
8663         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
8664         going to be replaced anyway.
8665
8666 2009-06-18  Bruno Haible  <bruno@clisp.org>
8667
8668         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
8669         in one place.
8670         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
8671         be replaced anyway.
8672
8673 2009-06-18  Eric Blake  <ebb9@byu.net>
8674
8675         hash: check for resize before insertion
8676         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
8677         threshold before insertion, so that a pathological hash_rehash
8678         that fills every bucket can still trigger another rehash.
8679
8680 2009-06-18  Jim Meyering  <meyering@redhat.com>
8681
8682         hash-tests: add a loop around the small tests
8683         * tests/test-hash.c (main): Repeat small tests with selected
8684         small initial table sizes.
8685
8686 2009-06-17  Eric Blake  <ebb9@byu.net>
8687
8688         hash: minor cleanups
8689         * lib/hash.h (hash_entry): Make opaque, by moving...
8690         * lib/hash.c (hash_entry): ...here.
8691         (hash_insert): Clarify restrictions on what can be inserted.
8692         (hash_get_next): Clarify when it is safe to remove an element
8693         during traversal.
8694         (check_tuning): Skip verification when tuning is known safe.
8695         (hash_initialize): Clarify restrictions on tuning.
8696
8697 2009-06-17  Jim Meyering  <jim@meyering.net>
8698         and Eric Blake  <ebb9@byu.net>
8699
8700         hash-tests: new module
8701         * modules/hash-tests: New file.
8702         * tests/test-hash.c: New file.
8703
8704 2009-06-17  Eric Blake  <ebb9@byu.net>
8705
8706         strstr-simple: document new module
8707         * MODULES.html.sh: Document new module.
8708
8709         strstr, strcasestr: replace on platforms with broken memchr
8710         * modules/strstr: Split into...
8711         * modules/strstr-simple: ...new module that does not care about
8712         performance, but does care about glibc bug.
8713         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
8714         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
8715         if platform memchr is broken, per Debian bug 521737.
8716         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
8717         memchr.
8718         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
8719         * doc/posix-functions/strstr.texi (strstr): Document the fix.
8720         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
8721         * modules/mountlist (Depends-on): Add strstr-simple.
8722         * modules/gen-uni-tables (Depends-on): Likewise.
8723         * modules/argz (Depends-on): Add strstr.
8724
8725 2009-06-17  Bruno Haible  <bruno@clisp.org>
8726
8727         * modules/posix_spawn-internal (Depends-on): Add errno.
8728
8729 2009-06-17  Bruno Haible  <bruno@clisp.org>
8730
8731         Define missing ESTALE on Interix 3.5.
8732         * lib/errno.in.h (ESTALE): Assign a value if missing.
8733         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
8734         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
8735         missing.
8736         * doc/posix-headers/errno.texi: Mention the Interix bug.
8737         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
8738
8739 2009-06-15  Eric Blake  <ebb9@byu.net>
8740
8741         memchr, memchr2: add valgrind exception
8742         * lib/memchr.valgrind: New file.
8743         * lib/memchr2.valgrind: New file.
8744         * modules/memchr (Files): Distribute valgrind file.
8745         * modules/memchr2 (Files): Likewise.
8746
8747         docs: memchr is no longer obsolete
8748         * MODULES.html.sh: Move memchr from obsolete to string.h section.
8749         * lib/string.in.h (memchr): Simplify logic.
8750
8751 2009-06-14  Jim Meyering  <meyering@redhat.com>
8752
8753         link-follow: fix the "checking..." message to not mention trailing slash
8754         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
8755         never considered trailing slashes.
8756
8757 2009-06-14  Bruno Haible  <bruno@clisp.org>
8758
8759         * m4/memchr.m4: Mention also the bug on IA-64.
8760         * doc/posix-functions/memchr.texi: Likewise.
8761
8762 2009-06-12  Eric Blake  <ebb9@byu.net>
8763
8764         memchr: detect broken x86_64 and alpha implementations
8765         * modules/memchr-tests (Depends-on): Move mmap detection...
8766         * modules/memchr (Depends-on): ...here.
8767         (configure.ac): Set indicator.
8768         * lib/string.in.h (memchr): Declare replacement.
8769         * modules/string (Makefile.am): Trigger replacement.
8770         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
8771         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
8772         bugs.
8773         * doc/posix-functions/memchr.texi (memchr): Document the bug.
8774         * modules/getpagesize (License): Relax license.
8775
8776 2009-06-11  Bruno Haible  <bruno@clisp.org>
8777
8778         * lib/idpriv.h: Add more references.
8779
8780 2009-06-08  Bruno Haible  <bruno@clisp.org>
8781
8782         Tests for module 'idpriv-droptemp'.
8783         * modules/idpriv-droptemp-tests: New file.
8784         * tests/test-idpriv-droptemp.sh: New file.
8785         * tests/test-idpriv-droptemp.su.sh: New file.
8786         * tests/test-idpriv-droptemp.c: New file.
8787
8788         New module 'idpriv-droptemp'.
8789         * lib/idpriv-droptemp.c: New file.
8790         * modules/idpriv-droptemp: New file.
8791
8792 2009-06-08  Bruno Haible  <bruno@clisp.org>
8793
8794         Tests for module 'idpriv-drop'.
8795         * modules/idpriv-drop-tests: New file.
8796         * tests/test-idpriv-drop.sh: New file.
8797         * tests/test-idpriv-drop.su.sh: New file.
8798         * tests/test-idpriv-drop.c: New file.
8799
8800         New module 'idpriv-drop'.
8801         * lib/idpriv.h: New file.
8802         * lib-idpriv-drop.c: New file.
8803         * m4/idpriv.m4: New file.
8804         * modules/idpriv-drop: New file.
8805
8806 2009-06-08  Bruno Haible  <bruno@clisp.org>
8807
8808         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
8809         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
8810         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
8811         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
8812         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
8813         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
8814         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
8815
8816 2009-06-08  Eric Blake  <ebb9@byu.net>
8817
8818         test-strstr: use memory fence, when possible
8819         * tests/test-strstr.c (main): Use memory fence, in order to be
8820         more likely to trigger Debian bug 521737.
8821         * modules/strstr-tests (Files): Pull in additional files.
8822
8823         memchr: no longer obsolete, for wider field testing
8824         * modules/memchr (Status, Notice): Delete, this module is no
8825         longer obsolete.
8826         * modules/vasnprintf (Depends-on): Add memchr.
8827
8828 2009-06-07  Jim Meyering  <meyering@redhat.com>
8829
8830         hash: declare some functions with the warn_unused_result attribute
8831         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
8832
8833 2009-06-07  Bruno Haible  <bruno@clisp.org>
8834
8835         * tests/test-alignof.c: Don't test int64_t if it does not exist.
8836         Reported by Eric Blake.
8837
8838 2009-06-06  Eric Blake  <ebb9@byu.net>
8839
8840         test-alignof: fix typo with long double
8841         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
8842         compiler error.
8843
8844 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
8845
8846         Escape non-texinfo { and }s.
8847         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
8848         markup error.
8849
8850 2009-06-04  Jim Meyering  <meyering@redhat.com>
8851
8852         gitlog-to-changelog: don't infloop on an empty commit log
8853         * build-aux/gitlog-to-changelog: Warn about an empty log message.
8854         Reported by Boris Petersen <transacid@centerim.org>.
8855
8856 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
8857
8858         version-etc: extend for packagers
8859         Add three new configure options, intended for packagers:
8860           --with-packager="packager name"
8861           --with-packager-version="packager-specific version"
8862           --with-packager-bug-reports="packager bug reporting"
8863         An example with coreutils:
8864           $ ./configure \
8865             --with-packager=Gentoo \
8866             --with-packager-bug-report=http://bugs.gentoo.org/ \
8867             --with-packager-version="patchset 1.6"
8868           $ ./src/ls --version | head -n3
8869           ls (GNU coreutils) 7.1-dirty
8870           Packaged by Gentoo (patchset 1.6)
8871           Copyright (C) 2009 Free Software Foundation, Inc.
8872         Note that the bug reporting info via --help doesn't show up because
8873         coreutils uses its own custom emit_bug_reporting_address() implementation
8874         in src/system.h.  If it didn't, it'd look like:
8875           $ ./src/ls --help | tail -n4
8876           Report bugs to <bug-coreutils@gnu.org>.
8877           Report Gentoo bugs to <http://bugs.gentoo.org/>.
8878           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
8879           General help using GNU software: <http://www.gnu.org/gethelp/>.
8880         * lib/version-etc.c: Print new information, if provided.
8881         * m4/version-etc.m4: New file.
8882         * modules/version-etc (Files): Add m4/version-etc.m4.
8883         (configure.ac): Add gl_VERSION_ETC.
8884
8885 2009-05-31  Bruno Haible  <bruno@clisp.org>
8886
8887         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
8888         and 'int64_t'.
8889         * modules/alignof-tests (Dependencies): Add stdint.
8890         Reported by Eric Blake.
8891
8892 2009-05-31  Bruno Haible  <bruno@clisp.org>
8893
8894         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
8895         restriction due to compiler bugs.
8896         Reported by Eric Blake.
8897
8898 2009-05-31  Simon Josefsson  <simon@josefsson.org>
8899             Bruno Haible  <bruno@clisp.org>
8900
8901         Fix test-alignof failure.
8902         * lib/alignof.h (alignof_slot): New macro.
8903         (alignof_type): New macro, with the same semantics as the previous
8904         'alignof'.
8905         (alignof): Alias to alignof_slot.
8906         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
8907         check that the results are usable as constant expressions.
8908
8909 2009-05-31  Bruno Haible  <bruno@clisp.org>
8910
8911         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
8912         * tests/test-memchr.c (main): Check that memchr does not read past the
8913         first occurrence of the byte.
8914         * tests/test-strstr.c (main): Update comment.
8915         Suggested by Eric Blake.
8916
8917 2009-05-30  Bruno Haible  <bruno@clisp.org>
8918
8919         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
8920         detail how to use dumpbin.
8921         Reported by David Byron <dbyron@dbyron.com>.
8922
8923 2009-06-02  Simon Josefsson  <simon@josefsson.org>
8924
8925         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
8926
8927 2009-06-02  Simon Josefsson  <simon@josefsson.org>
8928
8929         * m4/manywarnings.m4: Add GCC 4.4 warnings.
8930
8931 2009-05-28  Bruno Haible  <bruno@clisp.org>
8932
8933         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
8934         build-aux/ files.
8935
8936 2009-05-28  Simon Josefsson  <simon@josefsson.org>
8937
8938         * gnulib-tool (func_import): Transform license on build-aux/ files too.
8939
8940 2009-05-27  Simon Josefsson  <simon@josefsson.org>
8941
8942         * gnulib-tool (sed_transform_main_lib_file)
8943         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
8944         regexps.
8945
8946 2009-05-26  Simon Josefsson  <simon@josefsson.org>
8947
8948         * tests/test-strstr.c: Add another self-test.
8949         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
8950         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
8951
8952 2009-05-23  Bruno Haible  <bruno@clisp.org>
8953
8954         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
8955         change.
8956
8957 2009-05-21  Bruno Haible  <bruno@clisp.org>
8958
8959         Simplify use of mode_t varargs.
8960         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
8961         uses 'mode_t' or 'int'.
8962         * lib/openat.c (openat): Likewise.
8963         * lib/open-safer.c (open_safer): Likewise.
8964         * m4/mode_t.m4: New file.
8965         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
8966         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
8967         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
8968         * modules/open (Files): Add m4/mode_t.m4.
8969         * modules/openat (Files): Likewise.
8970         * modules/fcntl-safer (Files): Likewise.
8971         Suggested by Eric Blake.
8972
8973 2009-05-21  Pádraig Brady  <P@draigbrady.com>
8974
8975         * doc/glibc-functions/fallocate.texi: New file.
8976         * doc/gnulib.texi: Include it.
8977
8978 2009-05-21  Eric Blake  <ebb9@byu.net>
8979             Bruno Haible  <bruno@clisp.org>
8980
8981         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
8982         invocations.
8983         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
8984
8985 2009-05-21  Eric Blake  <ebb9@byu.net>
8986             Bruno Haible  <bruno@clisp.org>
8987
8988         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
8989         include_next. Fix of 2008-11-20 commit.
8990         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
8991         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
8992         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
8993         NEXT_MATH_H.
8994         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
8995         instead of NEXT_MATH_H.
8996
8997 2009-05-21  Bruno Haible  <bruno@clisp.org>
8998
8999         Avoid redefinition warnings for SIZE_MAX.
9000         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
9001         Reported by Simon Josefsson.
9002
9003 2009-05-21  Bruno Haible  <bruno@clisp.org>
9004
9005         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
9006         AC_CACHE_VAL.
9007
9008 2009-05-20  Bruno Haible  <bruno@clisp.org>
9009
9010         Make zeroptr.h work on mingw.
9011         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
9012         mprotect.
9013         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
9014         * modules/memchr2-tests (configure.ac): Likewise.
9015         * modules/memcmp-tests (configure.ac): Likewise.
9016         * modules/memmem-tests (configure.ac): Likewise.
9017         * modules/memrchr-tests (configure.ac): Likewise.
9018         Reported by Simon Josefsson.
9019
9020 2009-05-20  Simon Josefsson  <simon@josefsson.org>
9021
9022         * tests/test-glob.c: Include string.h for strcmp prototype.
9023
9024 2009-05-20  Simon Josefsson  <simon@josefsson.org>
9025
9026         * modules/getdelim (Depends-on): Add explicit stdint, although it
9027         was implicitly already pulled in via realloc-posix.
9028         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
9029
9030 2009-05-20  Simon Josefsson  <simon@josefsson.org>
9031
9032         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
9033         G. Christensen" <tgc@jupiterrise.com>.
9034         * m4/sys_socket_h.m4: Check for sa_family_t.
9035         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
9036         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
9037         * tests/test-sys_socket.c: Check that sa_family_t works.
9038
9039 2009-05-18  Eric Blake  <ebb9@byu.net>
9040
9041         maint.mk: allow gnulib_dir in VPATH build
9042         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
9043
9044 2009-05-15  Jim Meyering  <meyering@redhat.com>
9045
9046         maint.mk: Give gnulib_dir a default definition.
9047         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
9048         Thus, most packages no longer need to specify this variable in cfg.mk
9049
9050 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
9051
9052         rename.m4: fix typos that would make non-mingw cross-configure fail
9053         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
9054
9055 2009-05-13  Eric Blake  <ebb9@byu.net>
9056
9057         mmap-anon: avoid out-of-order autoconf expansion
9058         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
9059         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
9060         * modules/memchr-tests (Depends-on): Add extensions.
9061         * modules/memchr2-tests (Depends-on): Add extensions.
9062         * modules/memcmp-tests (Depends-on): Add extensions.
9063         * modules/memmem-tests (Depends-on): Add extensions.
9064         * modules/memrchr-tests (Depends-on): Add extensions.
9065
9066 2009-05-13  Bruno Haible  <bruno@clisp.org>
9067
9068         Make some tests ISO C 99 compliant.
9069         * tests/zerosize-ptr.h: New file.
9070         * tests/test-memchr.c: Include zerosize-ptr.h.
9071         (main): Use a zero-size object pointer instead of NULL.
9072         * tests/test-memchr2.c: Include zerosize-ptr.h.
9073         (main): Use a zero-size object pointer instead of NULL.
9074         * tests/test-memcmp.c: Include zerosize-ptr.h.
9075         (main): Use a zero-size object pointer instead of NULL.
9076         * tests/test-memmem.c: Include zerosize-ptr.h.
9077         (main): Use a zero-size object pointer instead of NULL.
9078         * tests/test-memrchr.c: Include zerosize-ptr.h.
9079         (main): Use a zero-size object pointer instead of NULL.
9080         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
9081         m4/mmap-anon.m4.
9082         (Depends-on): Add getpagesize.
9083         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
9084         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
9085         m4/mmap-anon.m4.
9086         (Depends-on): Add getpagesize.
9087         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
9088         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
9089         m4/mmap-anon.m4.
9090         (Depends-on): Add getpagesize.
9091         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
9092         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
9093         m4/mmap-anon.m4.
9094         (Depends-on): Add getpagesize.
9095         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
9096         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
9097         m4/mmap-anon.m4.
9098         (Depends-on): Add getpagesize.
9099         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
9100
9101 2009-05-12  Bruno Haible  <bruno@clisp.org>
9102
9103         Tests for module 'alignof'.
9104         * modules/alignof-tests: New file.
9105         * tests/test-alignof.c: New file.
9106
9107 2009-05-12  Bruno Haible  <bruno@clisp.org>
9108
9109         Fix alignof macro.
9110         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
9111         vendor compilers that are always correct.
9112
9113 2009-05-12  Bruno Haible  <bruno@clisp.org>
9114
9115         Make the MAP_ANONYMOUS detection work on HP-UX 11.
9116         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
9117         not whether its fully works.
9118
9119 2009-05-12  Bruno Haible  <bruno@clisp.org>
9120
9121         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
9122
9123 2009-05-12  Jim Meyering  <meyering@redhat.com>
9124
9125         * top/maint.mk: Adjust backslash alignment.
9126
9127 2009-05-11  Simon Josefsson  <simon@josefsson.org>
9128
9129         * top/maint.mk: Make $(srcdir)/build-aux configurable.
9130
9131 2009-05-11  Eric Blake  <ebb9@byu.net>
9132
9133         argp: avoid undefined behavior
9134         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
9135         macros.
9136
9137 2009-05-08  Simon Josefsson  <simon@josefsson.org>
9138
9139         * tests/test-vc-list-files-git.sh: Do git config of user.email and
9140         user.name to prevent git commit from complaining.
9141
9142 2009-05-10  Bruno Haible  <bruno@clisp.org>
9143
9144         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
9145         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
9146         it rewrites every file name only once.
9147         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
9148
9149 2009-05-08  Bruno Haible  <bruno@clisp.org>
9150
9151         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
9152         instead of 'max'.
9153
9154 2009-05-08  Simon Josefsson  <simon@josefsson.org>
9155
9156         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
9157         sockaddr_storage test.
9158
9159 2009-05-07  Simon Josefsson  <simon@josefsson.org>
9160
9161         * modules/sys_socket (Makefile.am): Substitute
9162         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
9163         * m4/sys_socket_h.m4: Check for sockaddr_storage.
9164         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
9165         * tests/test-sys_socket.c: Check sockaddr_storage.
9166
9167 2009-05-08  Bruno Haible  <bruno@clisp.org>
9168
9169         New module 'alignof'.
9170         * lib/alignof.h: New file.
9171         * modules/alignof: New file.
9172
9173 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
9174             Bruno Haible  <bruno@clisp.org>
9175
9176         Fix test-file-has-acl on FreeBSD.
9177         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
9178         mask is implicitly added.
9179         * tests/test-file-has-acl.c: Include <signal.h>.
9180         (main): Terminate the test after 5 seconds.
9181         * modules/acl-tests (configure.ac): Check for alarm function.
9182
9183 2009-05-04  Bruno Haible  <bruno@clisp.org>
9184
9185         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
9186         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
9187         * modules/errno (configure.ac): Drop AC_REQUIRE.
9188         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
9189         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
9190
9191 2009-05-04  Simon Josefsson  <simon@josefsson.org>
9192
9193         * modules/glob-tests: New module.
9194         * tests/test-glob.c: Add.
9195
9196 2009-05-04  Simon Josefsson  <simon@josefsson.org>
9197
9198         * modules/fnmatch-tests: New module.
9199         * tests/test-fnmatch.c: Add.
9200
9201 2009-05-04  Eric Blake  <ebb9@byu.net>
9202
9203         maint: make the new no-submodule-changes rule VPATH-safe
9204         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
9205
9206 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
9207             Bruno Haible  <bruno@clisp.org>
9208
9209         acl: Fix infinite loop on FreeBSD.
9210         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
9211         of return value from acl_get_entry.
9212         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
9213         Likewise.
9214
9215 2009-05-03  Bruno Haible  <bruno@clisp.org>
9216
9217         * lib/acl-internal.h (acl_entries): Clarify return value.
9218         * lib/acl_entries.c (acl_entries): Likewise.
9219
9220 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
9221
9222         Bug fix in acl module.
9223         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
9224
9225 2009-05-03  Bruno Haible  <bruno@clisp.org>
9226
9227         Create gperf-generated file in the source dir, not in the build dir.
9228         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
9229         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
9230         * modules/unicase/locale-language (unicase/locale-languages.h):
9231         Likewise.
9232         * modules/unicase/special-casing (unicase/special-casing-table.h):
9233         Likewise.
9234         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
9235         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
9236         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
9237         Reported by Ralf Wildenhues.
9238
9239 2009-05-03  Bruno Haible  <bruno@clisp.org>
9240
9241         * modules/fnmatch (Description, configure.ac): Taken from
9242         fnmatch-posix.
9243         * modules/fnmatch-posix: Turn into a symbolic reference to the
9244         'fnmatch' module, and deprecate.
9245         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
9246
9247 2009-05-03  Bruno Haible  <bruno@clisp.org>
9248
9249         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
9250         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
9251         Reported by Ralf Wildenhues.
9252
9253 2009-05-04  Simon Josefsson  <simon@josefsson.org>
9254
9255         * m4/fnmatch.m4: Fix fnmatch re-define.
9256
9257 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
9258
9259         priv-set: new module and tests; adapt write-any-file
9260         * lib/priv-set.c: New file.
9261         * lib/priv-set.h: New file.
9262         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
9263         * lib/write-any-file.c: Simplify by using priv-set module.
9264         * m4/priv-set.m4: New file.
9265         * modules/priv-set: New file.
9266         * modules/unlinkdir: Add dependency on priv-set module.
9267         * modules/write-any-file: Likewise.
9268
9269         Tests for module 'priv-set'.
9270         * modules/priv-set-tests: New file.
9271         * tests/test-priv-set.c: New file.
9272
9273 2009-05-03  Jim Meyering  <meyering@redhat.com>
9274             Bruno Haible  <bruno@clisp.org>
9275
9276         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
9277         use the converted UTF-8 variant of the name instead.
9278
9279 2009-05-03  Jim Meyering  <meyering@redhat.com>
9280
9281         tests: tighten some getdate tests
9282         * tests/test-getdate.c (main): Tighten tests: require equality,
9283         not just greater than.  Set TZ envvar to UTC0.
9284
9285 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
9286
9287         getdate: correctly interpret "next monday" when run on a Monday
9288         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
9289         that e.g., "next tues" (when run on a tuesday) results in a date
9290         that is one week in the future, and not today's date.
9291         I.e., add a week when the wday is the same as the current one.
9292         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
9293         and earlier by Martin Bernreuther and Jan Minář.
9294         * tests/test-getdate.c (main): Check that "next DAY" is always in
9295         the future and that "last DAY" is always in the past.
9296
9297 2009-05-02  Jim Meyering  <meyering@redhat.com>
9298
9299         build: ensure that a release build fails when a submodule is unclean
9300         * top/maint.mk (no-submodule-changes): New rule.
9301         (alpha beta major): Depend on it.
9302
9303 2009-05-02  Bruno Haible  <bruno@clisp.org>
9304
9305         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
9306         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
9307         shell variable gl_fnmatch_required to detect which variant is
9308         requested.
9309         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
9310         gl_FUNC_FNMATCH_POSIX.
9311         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
9312         exclude fnmatch-posix.
9313
9314 2009-05-02  Bruno Haible  <bruno@clisp.org>
9315
9316         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
9317         * modules/mbsrtowcs (License): Change to LGPLv2+.
9318         * modules/strnlen1 (License): Likewise.
9319         Reported by Simon Josefsson.
9320
9321 2009-05-02  Bruno Haible  <bruno@clisp.org>
9322
9323         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
9324         "cross".
9325         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
9326         gnulib-tool was called with option --source-base=lib.
9327
9328 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9329
9330         Use automake *-local hooks without commands, for extensibility.
9331         * modules/localcharset (Makefile.am): Rename install-exec-local
9332         rule to install-exec-localcharset, and make it a prerequisite of
9333         install-exec-local.  Likewise, rename the uninstall-local rule to
9334         uninstall-localcharset, and make it a prerequisite of the former.
9335
9336 2009-05-01  Bruno Haible  <bruno@clisp.org>
9337
9338         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
9339         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
9340         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
9341         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
9342         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
9343         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
9344         m4/locale-zh.m4, m4/codeset.m4.
9345
9346         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
9347         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
9348         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
9349         m4/locale-zh.m4.
9350
9351         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
9352         REPLACE_WCRTOMB if mbstate_t must be replaced.
9353         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
9354         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
9355
9356 2009-05-01  Bruno Haible  <bruno@clisp.org>
9357
9358         Avoid compiler warnings when redefining macros defined by <libintl.h>.
9359         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
9360         dngettext, dcngettext, textdomain, bindtextdomain,
9361         bind_textdomain_codeset): Undefine before redefining.
9362
9363 2009-04-30  Bruno Haible  <bruno@clisp.org>
9364
9365         Fix bug introduced on 2009-04-25.
9366         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
9367         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
9368         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
9369         is defined.
9370         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
9371         is defined.
9372         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
9373         is defined.
9374         Reported by Elbert_Pol <elbert.pol@gmail.com>.
9375
9376 2009-04-28  Bruno Haible  <bruno@clisp.org>
9377
9378         Comment tweaks.
9379         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
9380         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
9381         * lib/unicase.h (u*_casexfrm): Likewise.
9382         Reported by Paolo Bonzini.
9383
9384 2009-04-28  Bruno Haible  <bruno@clisp.org>
9385
9386         Fix a compilation error.
9387         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
9388         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
9389         Reported by Jim Meyering.
9390
9391 2009-04-27  Bruno Haible  <bruno@clisp.org>
9392
9393         New module 'libunistring'.
9394         * modules/libunistring: New file.
9395         * m4/libunistring.m4: New file.
9396         * MODULES.html.sh (Unicode string functions): Add it.
9397
9398 2009-04-27  Eric Blake  <ebb9@byu.net>
9399
9400         maint.mk: allow package-specific header to provide <config.h>
9401         * top/maint.mk (sc_require_config_h): New variable.
9402         (sc_require_config_h, sc_require_config_h_first): Use it.
9403
9404 2009-04-27  Simon Josefsson  <simon@josefsson.org>
9405
9406         * top/maint.mk (sc_avoid_if_before_free): Except
9407         useless-if-before-free script.
9408
9409 2009-04-27  Eric Blake  <ebb9@byu.net>
9410
9411         maintainer-makefile: depend on all required helper scripts
9412         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
9413         useless-if-before-free.
9414         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
9415         version, rather than assuming gnulib checkout is available.
9416         Reported by Simen Josefsson.
9417
9418 2009-04-26  Bruno Haible  <bruno@clisp.org>
9419
9420         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
9421         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
9422         "../" or "..".
9423
9424 2009-04-26  Bruno Haible  <bruno@clisp.org>
9425
9426         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
9427         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
9428         AC_LIB_HAVE_LINKFLAGS.
9429
9430 2009-04-26  Bruno Haible  <bruno@clisp.org>
9431
9432         Simplify calling convention of u*_conv_from_encoding.
9433         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
9434         u32_conv_from_encoding): Expect a resultbuf argument and return the
9435         result directly as a pointer.
9436         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
9437         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
9438         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
9439         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
9440         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
9441         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
9442         Update.
9443         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
9444         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
9445         * lib/vasnprintf.c (VASNPRINTF): Update.
9446         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
9447         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
9448         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
9449         * NEWS: Mention the change.
9450
9451 2009-04-26  Bruno Haible  <bruno@clisp.org>
9452
9453         Simplify calling convention of u*_conv_to_encoding.
9454         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
9455         u32_conv_to_encoding): Expect a resultbuf argument and return the
9456         result directly as a pointer.
9457         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
9458         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
9459         freeing scaled_offsets if mem_iconveha failed.
9460         * lib/unicase/u-casexfrm.h (FUNC): Update.
9461         * lib/uninorm/u-normxfrm.h (FUNC): Update.
9462         * lib/vasnprintf.c (VASNPRINTF): Update.
9463         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
9464         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
9465         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
9466         * NEWS: Mention the change.
9467
9468 2009-04-26  Bruno Haible  <bruno@clisp.org>
9469
9470         Avoid test failures on AIX and OSF/1.
9471         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
9472         malloc(0).
9473         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
9474         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
9475         Likewise.
9476         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
9477         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
9478         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
9479         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
9480         * doc/posix-functions/malloc.texi: Document the portability problem
9481         related to malloc(0).
9482
9483 2009-04-26  Bruno Haible  <bruno@clisp.org>
9484
9485         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
9486         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
9487         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
9488
9489 2009-04-25  Bruno Haible  <bruno@clisp.org>
9490
9491         Avoid link error when creating a namespace clean library.
9492         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
9493         as macro with arguments if already defined as an alias.
9494         * lib/signbitf.c (gl_signbitf): Don't undefine.
9495         * lib/signbitd.c (gl_signbitd): Don't undefine.
9496         * lib/signbitl.c (gl_signbitl): Don't undefine.
9497
9498 2009-04-25  Jim Meyering  <meyering@redhat.com>
9499
9500         vc-list-files: fix another quoting bug
9501         * build-aux/vc-list-files: Avoid sed backslash expansion
9502         of pathological directory names.
9503
9504 2009-04-25  Eric Blake  <ebb9@byu.net>
9505
9506         vc-list-files: fix shell quoting error
9507         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
9508         timestamp.
9509
9510 2009-04-25  Jim Meyering  <meyering@redhat.com>
9511
9512         vc-list-files: restore lost functionality with subdir argument
9513         * build-aux/vc-list-files: When given a non-"." sub-directory
9514         argument, substitute the $dir/ prefix back onto each resulting name.
9515         Otherwise, coreutils' root_tests check would fail.
9516
9517 2009-04-24  Eric Blake  <ebb9@byu.net>
9518
9519         vc-list-files: ignore git symlinks
9520         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
9521         than ls-files, to ignore git symlinks.
9522
9523         maint.mk: import improvements from m4
9524         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
9525         (move_if_change): Delete unused macro.
9526         (news-date-check, vc-diff-check): Support VPATH builds.
9527         (announcement): Likewise.  Split --bootstrap-tools list...
9528         (boostrap-tools): ...into separate list, which can be overridden
9529         in cfg.mk.
9530         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
9531         requiring dependency on useless-if-before-free module.
9532         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
9533         Support VPATH builds.
9534
9535 2009-04-24  Jim Meyering  <meyering@redhat.com>
9536
9537         maint.mk: remove coreutils-specific rules and variables
9538         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
9539         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
9540         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
9541
9542         maint.mk: remove obsolete rule
9543         * top/maint.mk (rel-check): Remove rule.
9544         (WGET, WGETFLAGS): Remove now-unused variables.
9545
9546 2009-04-24  Simon Josefsson  <simon@josefsson.org>
9547
9548         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
9549         consistency.
9550
9551         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
9552         '$(PATH_SEPARATOR)' instead of ':'.
9553
9554 2009-04-24  Simon Josefsson  <simon@josefsson.org>
9555
9556         * lib/getopt1.c (main): Use 'const' for static array.
9557
9558 2009-04-24  Simon Josefsson  <simon@josefsson.org>
9559
9560         * top/maint.mk: Sync with coreutils.
9561         * NEWS: Explain incompatibilities.
9562
9563 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
9564             Bruno Haible  <bruno@clisp.org>
9565
9566         Fix cross-compilation results.
9567         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
9568         statement, as third argument of AC_TRY_RUN.
9569         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
9570         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
9571         Likewise.
9572         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
9573         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
9574         Likewise.
9575         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
9576         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
9577         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
9578
9579 2009-04-20  Bruno Haible  <bruno@clisp.org>
9580
9581         Avoid test failure on mingw.
9582         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
9583
9584 2009-04-20  Bruno Haible  <bruno@clisp.org>
9585
9586         Avoid compilation error on mingw.
9587         * modules/localename-tests (Depends-on): Add locale.
9588
9589 2009-04-19  Bruno Haible  <bruno@clisp.org>
9590
9591         Support for building a shared library on Windows platforms.
9592         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
9593         (main): Test the presence of UNINORM_NFC here.
9594         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
9595         (main): Test the presence of UNINORM_NFD here.
9596         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
9597         (main): Test the presence of UNINORM_NFKC here.
9598         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
9599         (main): Test the presence of UNINORM_NFKD here.
9600
9601 2009-04-19  Bruno Haible  <bruno@clisp.org>
9602
9603         Avoid a compiler warning.
9604         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
9605         Change type of variable 'sequence'.
9606
9607 2009-04-19  Bruno Haible  <bruno@clisp.org>
9608
9609         * modules/configmake (Makefile.am): When the contents of configmake.h
9610         does not change, arrange to preserve its modification time.
9611
9612 2009-04-17  Simon Josefsson  <simon@josefsson.org>
9613
9614         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
9615         gettext domain.
9616
9617 2009-04-16  Jim Meyering  <meyering@redhat.com>
9618
9619         useless-if-before-free: improve conversion code
9620         * build-aux/useless-if-before-free: Adjust code-in-comment to match
9621         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
9622
9623 2009-04-14  Bruno Haible  <bruno@clisp.org>
9624
9625         * modules/fcntl (Depends-on): Add extensions.
9626         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
9627
9628 2009-04-12  Ben Pfaff  <blp@gnu.org>
9629
9630         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
9631         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
9632
9633 2009-03-20  Ben Pfaff  <blp@gnu.org>
9634
9635         Make rename replace existing destinations on Windows.
9636         * m4/rename.m4: Add test for Mingw.
9637         * lib/rename.c: Add rename replacement that uses MoveFileEx with
9638         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
9639         * doc/posix-functions/rename.texi: Document.
9640
9641 2009-04-10  Bruno Haible  <bruno@clisp.org>
9642
9643         New include file "iconveh.h".
9644         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
9645         * lib/striconveh.h: Include it.
9646         (enum iconv_ilseq_handler): Remove definition.
9647         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
9648         striconveh.h.
9649         * lib/striconveha.c: Include striconveh.h.
9650         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
9651         * modules/striconveh (Files): Add lib/iconveh.h.
9652         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
9653         lib/striconveh.h.
9654
9655 2009-04-10  Bruno Haible  <bruno@clisp.org>
9656
9657         * lib/uniconv.h: Update comment.
9658
9659 2009-04-10  Bruno Haible  <bruno@clisp.org>
9660
9661         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
9662         always.
9663         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
9664         * lib/unistr/u16-mbtouc-aux.c: Likewise.
9665         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
9666         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
9667         "unistring-notinline.h", so that the function gets defined always.
9668         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
9669         * lib/unistr/u8-uctomb.c: Likewise.
9670         * lib/unistr/u16-mbtouc.c: Likewise.
9671         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
9672         * lib/unistr/u16-uctomb.c: Likewise.
9673         * lib/unistr/u32-mbtouc.c: Likewise.
9674         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
9675         * lib/unistr/u32-uctomb.c: Likewise.
9676
9677 2009-04-10  Bruno Haible  <bruno@clisp.org>
9678
9679         Mark 'utime' obsolete.
9680         * modules/utime (Status, Notice): New sections.
9681         Suggested by Jim Meyering.
9682
9683         Fix cross-compile guess for utime test.
9684         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
9685         autoconf.
9686         * doc/posix-functions/utime.texi: Give more precisions.
9687         Reported by Jan <ipif@ymail.com>.
9688
9689 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
9690
9691         filevercmp: correct today's change
9692         * lib/filevercmp.c: Also handle coreutils' test inputs.
9693         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
9694
9695         Fix regression in 'filevercmp' module. Thanks Sven Joachim
9696         for reporting it.
9697         * lib/filevercmp.c: Special handle for "", "." and "..".
9698         * tests/test-filevercmp.c: Enlarge the set suite.
9699
9700 2009-04-07  Jim Meyering  <meyering@redhat.com>
9701
9702         useless-if-before-free: show how to remove braced useless free, too
9703         * build-aux/useless-if-before-free: still only in a comment, though.
9704
9705 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
9706
9707         maint.mk: import changes to syntax-check macros from coreutils
9708         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
9709         Use them in the relevant macros.
9710
9711 2009-04-06  Bruno Haible  <bruno@clisp.org>
9712
9713         Fix unportable use of bit-fields.
9714         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
9715         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
9716         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
9717
9718 2009-04-06  Bruno Haible  <bruno@clisp.org>
9719
9720         Avoid test failures on AIX and OSF/1.
9721         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
9722         that malloc(0) = NULL.
9723         * tests/unicase/test-u8-tolower.c (check): Likewise.
9724         * tests/unicase/test-u8-totitle.c (check): Likewise.
9725         * tests/unicase/test-u8-toupper.c (check): Likewise.
9726         * tests/unicase/test-u16-casefold.c (check): Likewise.
9727         * tests/unicase/test-u16-tolower.c (check): Likewise.
9728         * tests/unicase/test-u16-totitle.c (check): Likewise.
9729         * tests/unicase/test-u16-toupper.c (check): Likewise.
9730         * tests/unicase/test-u32-casefold.c (check): Likewise.
9731         * tests/unicase/test-u32-tolower.c (check): Likewise.
9732         * tests/unicase/test-u32-totitle.c (check): Likewise.
9733         * tests/unicase/test-u32-toupper.c (check): Likewise.
9734         * tests/uninorm/test-u8-nfc.c (check): Likewise.
9735         * tests/uninorm/test-u8-nfd.c (check): Likewise.
9736         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
9737         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
9738         * tests/uninorm/test-u16-nfc.c (check): Likewise.
9739         * tests/uninorm/test-u16-nfd.c (check): Likewise.
9740         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
9741         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
9742         * tests/uninorm/test-u32-nfc.c (check): Likewise.
9743         * tests/uninorm/test-u32-nfd.c (check): Likewise.
9744         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
9745         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
9746
9747 2009-04-05  Bruno Haible  <bruno@clisp.org>
9748
9749         Work around an autoconf limitation.
9750         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
9751         comment line if it would be longer than 3 KB.
9752
9753 2009-04-05  Bruno Haible  <bruno@clisp.org>
9754
9755         Avoid test failure with libiconv-1.13.
9756         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
9757         of the expected test results.
9758
9759 2009-04-05  Bruno Haible  <bruno@clisp.org>
9760
9761         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
9762         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
9763         that it should be installed.
9764
9765 2009-04-05  Bruno Haible  <bruno@clisp.org>
9766
9767         * gnulib-tool: New option --copy-file.
9768         (func_usage): Document it.
9769         (func_dest_tmpfilename): Moved out of func_import.
9770         (func_add_file, func_update_file): New functions, extracted from
9771         func_import.
9772         (func_import): Update.
9773
9774 2009-04-05  Karl Berry  <karl@gnu.org>
9775
9776         * README: prominently mention gnulib-tool.
9777         Rearrange sections so getting the code is near the top.
9778
9779 2009-04-05  Bruno Haible  <bruno@clisp.org>
9780
9781         * lib/unicase.h: Mention u*_cmp2.
9782         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
9783         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
9784         * lib/unicase/ulc-casecmp.c: Likewise.
9785         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
9786         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
9787         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
9788         unistr/u8-cmp.
9789         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
9790         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
9791         unistr/u16-cmp.
9792         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
9793         unistr/u32-cmp.
9794
9795         * lib/uninorm.h: Mention u*_cmp2.
9796         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
9797         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
9798         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
9799         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
9800         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
9801         unistr/u8-cmp.
9802         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
9803         unistr/u16-cmp.
9804         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
9805         unistr/u32-cmp.
9806
9807         New module 'unistr/u32-cmp2'.
9808         * lib/unistr/u32-cmp2.c: New file.
9809         * modules/unistr/u32-cmp2: New file.
9810
9811         New module 'unistr/u16-cmp2'.
9812         * lib/unistr/u16-cmp2.c: New file.
9813         * modules/unistr/u16-cmp2: New file.
9814
9815         New module 'unistr/u8-cmp2'.
9816         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
9817         * lib/unistr/u8-cmp2.c: New file.
9818         * lib/unistr/u-cmp2.h: New file.
9819         * modules/unistr/u8-cmp2: New file.
9820
9821 2009-04-05  Bruno Haible  <bruno@clisp.org>
9822
9823         * lib/unictype.h (uc_property_is_valid): New macro.
9824         * tests/unictype/test-pr_byname.c (main): Use it.
9825
9826         * lib/unistr.h: Doc fixes.
9827         * lib/uniconv.h: Doc fixes.
9828         * lib/unictype.h: Doc fixes.
9829
9830 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
9831
9832         Port coreutils 7.2 to Solaris 8.
9833
9834         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
9835         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
9836         for Solaris 8.  This is a bit of a hack, as it means it's the
9837         caller's responsibility to add -lnsl if needed, but most likely it
9838         won't be needed since only getaddrinfo uses this and getaddrinfo
9839         isn't needed on Solaris 8.
9840
9841         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
9842         problem to Solaris 8 encountered with coreutils 7.2, which
9843         resulted in a message "fnmatch.c:292: warning: passing argument 4
9844         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
9845         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
9846
9847 2009-04-03  Simon Josefsson  <simon@josefsson.org>
9848
9849         * m4/ld-version-script.m4: Add FIXME comment.
9850
9851 2009-04-02  Simon Josefsson  <simon@josefsson.org>
9852
9853         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
9854         SOVERSION variable.
9855
9856 2009-04-02  Bruno Haible  <bruno@clisp.org>
9857
9858         * Makefile (info, html, dvi, pdf): Combine the rules.
9859         Suggested by Jim Meyering.
9860
9861 2009-04-01  Bruno Haible  <bruno@clisp.org>
9862
9863         * Makefile (info, html, dvi, pdf): New targets.
9864         Reported by Reuben Thomas <rrt@sc3d.org>.
9865
9866 2009-04-01  Bruno Haible  <bruno@clisp.org>
9867
9868         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
9869         can be put into PATH.
9870         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
9871
9872 2009-04-01  Bruno Haible  <bruno@clisp.org>
9873
9874         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
9875
9876 2009-04-01  Bruno Haible  <bruno@clisp.org>
9877
9878         Rename module 'visibility'.
9879         * modules/lib-symbol-visibility: Renamed from modules/visibility.
9880         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
9881         * doc/gnulib.texi: Update.
9882         * MODULES.html.sh (Misc): Update.
9883         * NEWS: Mention the change.
9884
9885 2009-04-01  Simon Josefsson  <simon@josefsson.org>
9886
9887         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
9888         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
9889         Eric Blake <ebb9@byu.net> for review.
9890         * MODULES.html.sh: Add lib-msvc-compat.
9891         * doc/gnulib.texi: Link to new section.
9892         * m4/ld-output-def.m4: New file.
9893         * doc/ld-output-def.texi: New file.
9894
9895 2009-04-01  Simon Josefsson  <simon@josefsson.org>
9896
9897         Rename ld-version-script to lib-symbol-versions.  Suggested by
9898         Bruno Haible <bruno@clisp.org>.
9899         * modules/ld-version-script: Renamed to lib-symbol-versions.
9900         * doc/ld-version-script.texi: Fix module name.
9901         * MODULES.html.sh: Add lib-symbol-versions.
9902
9903 2009-03-31  Simon Josefsson  <simon@josefsson.org>
9904
9905         * modules/u64-tests: New file.
9906         * tests/test-u64.c: New file.
9907
9908 2009-03-04  Simon Josefsson  <simon@josefsson.org>
9909
9910         * MODULES.html.sh: Mention u64.
9911         * modules/u64: New module.
9912         * modules/crypto/sha512: Depend on u64 module instead of providing
9913         u64.h.
9914
9915 2009-03-27  Eric Blake  <ebb9@byu.net>
9916
9917         test-strerror: make debugging EAI_SYSTEM easier
9918         * modules/getaddrinfo-tests (Depends-on): Add strerror.
9919         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
9920         failure was EAI_SYSTEM.
9921
9922 2009-03-25  Bruno Haible  <bruno@clisp.org>
9923
9924         Fix a problem with --enable-relocatable on Solaris 7.
9925         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
9926         since 2008-02-24.
9927
9928 2009-03-25  Eric Blake  <ebb9@byu.net>
9929
9930         test-sockets: avoid gcc warning
9931         * tests/test-sockets.c (main): Silence compiler warning.
9932
9933 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
9934
9935         New modules nproc, pthread, contributed by Glen Lenker.
9936
9937         * MODULES.html.sh: Add pthread, nproc.
9938         * lib/nproc.c: New file.
9939         * lib/nproc.h: New file.
9940         * lib/pthread.in.h: New file.
9941         * m4/pthread.m4: New file.
9942         * modules/nproc: New file.
9943         * modules/pthread: New file.
9944
9945 2009-03-24  Simon Josefsson  <simon@josefsson.org>
9946
9947         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
9948         New variable.
9949
9950 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
9951
9952         filevercmp: handle simple~ and numbered.~3~ backup suffixes
9953         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
9954         * tests/test-filevercmp.c: Add tests for backup suffixes.
9955
9956 2009-03-24  Simon Josefsson  <simon@josefsson.org>
9957
9958         * modules/stdlib (Depends-on): Add stdint, needed when defining
9959         struct random_data on, for example, HP-UX 10.20.  Reported by
9960         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
9961
9962 2009-03-24  Simon Josefsson  <simon@josefsson.org>
9963
9964         * lib/readline.c (readline): Call fflush on stdout after printing
9965         prompt.
9966
9967 2009-03-20  Bruno Haible  <bruno@clisp.org>
9968
9969         Remove dependency from 'close' module to -lws2_32 on native Windows.
9970         * lib/close-hook.h: New file.
9971         * lib/close-hook.c: New file.
9972         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
9973         w32sock.h.
9974         (_gl_close_fd_maybe_socket): Remove function.
9975         (rpl_close): Invoke execute_all_close_hooks instead of
9976         _gl_close_fd_maybe_socket.
9977         * lib/sockets.c: Include close-hook.h, w32sock.h.
9978         (close_fd_maybe_socket): New function, essentially from lib/close.c.
9979         (close_sockets_hook): New variable.
9980         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
9981         (gl_sockets_cleanup): Unregister it.
9982         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
9983         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
9984         * modules/close-hook: New file.
9985         * modules/close (Files): Remove lib/w32sock.h.
9986         (Depends-on): Add close-hook.
9987         (Link): Remove section.
9988         * modules/sockets (Files): Add lib/w32sock.h.
9989         (Depends-on): Add close-hook.
9990         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
9991         invocation.
9992         * NEWS: Mention that LIB_CLOSE is gone.
9993
9994 2009-03-23  Eric Blake  <ebb9@byu.net>
9995
9996         signal-tests: test previous patch
9997         * tests/test-signal.c: New file.
9998         * modules/signal-tests: Likewise.
9999
10000         signal.h: always support 'volatile sig_atomic_t'
10001         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
10002         (gl_SIGNAL_H_DEFAULTS): Add a default.
10003         * modules/signal (Makefile.am): Substitute if needed.
10004         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
10005         users can blindly add volatile.
10006         * doc/posix-headers/signal.texi (signal.h): Document it.
10007         Reported by Matthew Woehlke.
10008
10009 2009-03-23  Jim Meyering  <meyering@redhat.com>
10010
10011         pathmax: PATH_MAX: use pathconf only when available
10012         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
10013         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
10014         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
10015         This avoids a link failure in a PSP cross-compilation environment
10016         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
10017
10018         * lib/vasnprintf.c (divide): Fix typo in comment.
10019
10020 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10021
10022         * gnulib-tool (func_filter_filelist): Fix comment.
10023
10024 2009-03-20  Bruno Haible  <bruno@clisp.org>
10025
10026         Make sockets.h self-contained.
10027         * lib/sockets.c: Include sockets.h first.
10028         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
10029
10030 2009-03-19  Eric Blake  <ebb9@byu.net>
10031
10032         doc: mention more functions added in cygwin 1.7.0
10033         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
10034         addition.
10035         * doc/posix-functions/log2f.texi: Likewise.
10036
10037 2009-03-19  Jim Meyering  <meyering@redhat.com>
10038
10039         fsusage: avoid syntax error due to statement-before-declaration
10040         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
10041         after all declarations.  Reported by Matthew Woehlke in
10042         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
10043
10044 2009-03-18  Eric Blake  <ebb9@byu.net>
10045
10046         build-aux/compile: sync from automake
10047         * build-aux/compile: New file, from automake.
10048         * config/srclist.txt: Mention build-aux/compile.
10049
10050 2009-03-17  Bruno Haible  <bruno@clisp.org>
10051
10052         * lib/git-merge-changelog.c: Fix typo in comment.
10053         Reported by Reuben Thomas <rrt@sc3d.org>.
10054
10055 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
10056
10057         * m4/regex.m4: update and improve help for
10058         --without-included-regex.
10059
10060 2009-03-17  Simon Josefsson  <simon@josefsson.org>
10061
10062         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
10063         failure on missing include files.
10064
10065 2009-03-17  Eric Blake  <ebb9@byu.net>
10066
10067         doc: mention more functions added in cygwin 1.7.0
10068         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
10069         addition.
10070         * doc/posix-functions/fwscanf.texi: Likewise.
10071         * doc/posix-functions/swprintf.texi: Likewise.
10072         * doc/posix-functions/swscanf.texi: Likewise.
10073         * doc/posix-functions/vfwprintf.texi: Likewise.
10074         * doc/posix-functions/vfwscanf.texi: Likewise.
10075         * doc/posix-functions/vswprintf.texi: Likewise.
10076         * doc/posix-functions/vswscanf.texi: Likewise.
10077         * doc/posix-functions/vwprintf.texi: Likewise.
10078         * doc/posix-functions/vwscanf.texi: Likewise.
10079         * doc/posix-functions/wcscasecmp.texi: Likewise.
10080         * doc/posix-functions/wcsdup.texi: Likewise.
10081         * doc/posix-functions/wcsftime.texi: Likewise.
10082         * doc/posix-functions/wcsncasecmp.texi: Likewise.
10083         * doc/posix-functions/wprintf.texi: Likewise.
10084         * doc/posix-functions/wscanf.texi: Likewise.
10085         * doc/glibc-functions/gethostbyname2.texi: Likewise.
10086
10087 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10088
10089         maint.mk: really add $(AM_MAKEFLAGS)
10090         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
10091         was inadvertently omitted in the last commit.
10092         Spotted by Bruno Haible.
10093
10094         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
10095         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
10096         $(AM_MAKEFLAGS)' rather than plain `make'.
10097
10098         gnulib-tool: execute $MAKE not make
10099         * gnulib-tool: Default $MAKE to 'make'.
10100         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
10101         than make.  Initialize $MAKE in the do-autobuild script.
10102
10103         gnulib-tool: use $MAKE not make in generated files
10104         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
10105         make, in generated files.  Initialize $MAKE in the do-autobuild
10106         script.
10107
10108         * top/GNUmakefile (_have-git-version-gen): Fix typo.
10109
10110         GNUmakefile: disable parallelism only for multiple, recursive targets
10111         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
10112         additions in the Makefile.
10113         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
10114         by Automake.
10115         (.NOTPARALLEL): Only disable parallel builds if multiple targets
10116         are listed on the command line and at least one of them is
10117         listed in $(ALL_RECURSIVE_TARGETS).
10118
10119 2009-03-14  Bruno Haible  <bruno@clisp.org>
10120
10121         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
10122         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
10123         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
10124         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
10125         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
10126         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
10127         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
10128         unistr/u8-uctomb.
10129         * modules/unistr/u8-strchr (Depends-on): Likewise.
10130         * modules/unistr/u8-strrchr (Depends-on): Likewise.
10131         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
10132         unistr/u16-uctomb.
10133         * modules/unistr/u16-strchr (Depends-on): Likewise.
10134         * modules/unistr/u16-strrchr (Depends-on): Likewise.
10135
10136 2009-03-12  Bruno Haible  <bruno@clisp.org>
10137
10138         Work around select() bug on Interix 3.5.
10139         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
10140         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
10141         * m4/select.m4: New file.
10142         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
10143         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
10144         * modules/select (Files): Add m4/select.m4.
10145         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
10146         * modules/nanosleep (Depends-on): Add select.
10147         * modules/poll (Depends-on): Likewise.
10148         * doc/posix-functions/select.texi: Mention the Interix bug.
10149         Reported by Markus Duft <mduft@gentoo.org>.
10150
10151         * lib/select.c: Renamed from lib/winsock-select.c.
10152         * modules/select (Files): Add lib/select.c, remove
10153         lib/winsock-select.c.
10154         (configure.ac): Update.
10155
10156 2009-03-12  Jim Meyering  <meyering@redhat.com>
10157
10158         avoid gcc warnings about unused macro definitions
10159         * lib/readtokens.c (STREQ): Remove unused definition.
10160         * lib/xmalloc.c (SIZE_MAX): Likewise.
10161         * lib/openat-die.c (N_): Likewise.
10162         * lib/mountlist.c (SIZE_MAX): Remove definition.
10163         Instead, include <stdint.h>.
10164         * lib/readutmp.c: Likewise.
10165         * modules/readutmp (Depends-on): Add stdint.
10166         * modules/mountlist (Depends-on): Add stdint.
10167         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
10168
10169 2009-03-10  Bruno Haible  <bruno@clisp.org>
10170
10171         Tests for module 'mbmemcasecoll'.
10172         * modules/mbmemcasecoll-tests: New file.
10173         * tests/test-mbmemcasecoll1.sh: New file.
10174         * tests/test-mbmemcasecoll2.sh: New file.
10175         * tests/test-mbmemcasecoll3.sh: New file.
10176         * tests/test-mbmemcasecoll.c: New file.
10177
10178         New module 'mbmemcasecoll'.
10179         * lib/mbmemcasecoll.h: New file.
10180         * lib/mbmemcasecoll.c: New file.
10181         * modules/mbmemcasecoll: New file.
10182
10183         * tests/test-mbmemcasecmp.h: New file, extracted from
10184         tests/test-mbmemcasecmp.c.
10185         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
10186         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
10187         (main): Update.
10188         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
10189
10190 2009-03-09  Bruno Haible  <bruno@clisp.org>
10191
10192         Tests for module 'mbmemcasecmp'.
10193         * modules/mbmemcasecmp-tests: New file.
10194         * tests/test-mbmemcasecmp1.sh: New file.
10195         * tests/test-mbmemcasecmp2.sh: New file.
10196         * tests/test-mbmemcasecmp3.sh: New file.
10197         * tests/test-mbmemcasecmp.c: New file.
10198
10199         New module 'mbmemcasecmp'.
10200         * lib/mbmemcasecmp.h: New file.
10201         * lib/mbmemcasecmp.c: New file.
10202         * modules/mbmemcasecmp: New file.
10203
10204 2009-03-09  Bruno Haible  <bruno@clisp.org>
10205
10206         Tests for module 'unicase/ulc-casecoll'.
10207         * modules/unicase/ulc-casecoll-tests: New file.
10208         * tests/unicase/test-ulc-casecoll1.sh: New file.
10209         * tests/unicase/test-ulc-casecoll2.sh: New file.
10210         * tests/unicase/test-ulc-casecoll.c: New file.
10211
10212         New module 'unicase/ulc-casecoll'.
10213         * lib/unicase.h (ulc_casecoll): New declaration.
10214         * lib/unicase/ulc-casecoll.c: New file.
10215         * modules/unicase/ulc-casecoll: New file.
10216
10217         New module 'unicase/ulc-casexfrm'.
10218         * lib/unicase.h (ulc_casexfrm): New declaration.
10219         * lib/unicase/ulc-casexfrm.c: New file.
10220         * modules/unicase/ulc-casexfrm: New file.
10221
10222 2009-03-09  Bruno Haible  <bruno@clisp.org>
10223
10224         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
10225         invocations.
10226
10227         * m4/mbscasecmp.m4: Remove file.
10228         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
10229         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
10230
10231         * m4/mbscasestr.m4: Remove file.
10232         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
10233         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
10234
10235         * m4/mbschr.m4: Remove file.
10236         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
10237         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
10238
10239         * m4/mbscspn.m4: Remove file.
10240         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
10241         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
10242
10243         * m4/mbslen.m4: Remove file.
10244         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
10245         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
10246
10247         * m4/mbsncasecmp.m4: Remove file.
10248         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
10249         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
10250
10251         * m4/mbsnlen.m4: Remove file.
10252         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
10253         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
10254
10255         * m4/mbspbrk.m4: Remove file.
10256         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
10257         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
10258
10259         * m4/mbspcasecmp.m4: Remove file.
10260         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
10261         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
10262
10263         * m4/mbsrchr.m4: Remove file.
10264         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
10265         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
10266
10267         * m4/mbssep.m4: Remove file.
10268         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
10269         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
10270
10271         * m4/mbsspn.m4: Remove file.
10272         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
10273         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
10274
10275         * m4/mbsstr.m4: Remove file.
10276         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
10277         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
10278
10279         * m4/mbstok_r.m4: Remove file.
10280         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
10281         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
10282
10283         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
10284
10285         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
10286         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
10287
10288         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
10289
10290 2009-03-08  Bruno Haible  <bruno@clisp.org>
10291
10292         Tests for module 'unicase/ulc-casecmp'.
10293         * modules/unicase/ulc-casecmp-tests: New file.
10294         * tests/unicase/test-ulc-casecmp1.sh: New file.
10295         * tests/unicase/test-ulc-casecmp2.sh: New file.
10296         * tests/unicase/test-ulc-casecmp.c: New file.
10297
10298         New module 'unicase/ulc-casecmp'.
10299         * lib/unicase.h (ulc_casecmp): New declaration.
10300         * lib/unicase/ulc-casecmp.c: New file.
10301         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
10302         'const SRC_UNIT *'.
10303         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
10304         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
10305         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
10306         * modules/unicase/ulc-casecmp: New file.
10307
10308         Tests for module 'unicase/u32-is-cased'.
10309         * modules/unicase/u32-is-cased-tests: New file.
10310         * tests/unicase/test-u32-is-cased.c: New file.
10311
10312         Tests for module 'unicase/u16-is-cased'.
10313         * modules/unicase/u16-is-cased-tests: New file.
10314         * tests/unicase/test-u16-is-cased.c: New file.
10315
10316         Tests for module 'unicase/u8-is-cased'.
10317         * modules/unicase/u8-is-cased-tests: New file.
10318         * tests/unicase/test-u8-is-cased.c: New file.
10319         * tests/unicase/test-is-cased.h: New file.
10320
10321         New module 'unicase/u32-is-cased'.
10322         * lib/unicase/u32-is-cased.c: New file.
10323         * modules/unicase/u32-is-cased: New file.
10324
10325         New module 'unicase/u16-is-cased'.
10326         * lib/unicase/u16-is-cased.c: New file.
10327         * modules/unicase/u16-is-cased: New file.
10328
10329         New module 'unicase/u8-is-cased'.
10330         * lib/unicase/u8-is-cased.c: New file.
10331         * lib/unicase/u-is-cased.h: New file.
10332         * modules/unicase/u8-is-cased: New file.
10333
10334         Tests for module 'unicase/u32-is-casefolded'.
10335         * modules/unicase/u32-is-casefolded-tests: New file.
10336         * tests/unicase/test-u32-is-casefolded.c: New file.
10337
10338         Tests for module 'unicase/u16-is-casefolded'.
10339         * modules/unicase/u16-is-casefolded-tests: New file.
10340         * tests/unicase/test-u16-is-casefolded.c: New file.
10341
10342         Tests for module 'unicase/u8-is-casefolded'.
10343         * modules/unicase/u8-is-casefolded-tests: New file.
10344         * tests/unicase/test-u8-is-casefolded.c: New file.
10345         * tests/unicase/test-is-casefolded.h: New file.
10346
10347         New module 'unicase/u32-is-casefolded'.
10348         * lib/unicase/u32-is-casefolded.c: New file.
10349         * modules/unicase/u32-is-casefolded: New file.
10350
10351         New module 'unicase/u16-is-casefolded'.
10352         * lib/unicase/u16-is-casefolded.c: New file.
10353         * modules/unicase/u16-is-casefolded: New file.
10354
10355         New module 'unicase/u8-is-casefolded'.
10356         * lib/unicase/u8-is-casefolded.c: New file.
10357         * modules/unicase/u8-is-casefolded: New file.
10358
10359         Tests for module 'unicase/u32-is-titlecase'.
10360         * modules/unicase/u32-is-titlecase-tests: New file.
10361         * tests/unicase/test-u32-is-titlecase.c: New file.
10362
10363         Tests for module 'unicase/u16-is-titlecase'.
10364         * modules/unicase/u16-is-titlecase-tests: New file.
10365         * tests/unicase/test-u16-is-titlecase.c: New file.
10366
10367         Tests for module 'unicase/u8-is-titlecase'.
10368         * modules/unicase/u8-is-titlecase-tests: New file.
10369         * tests/unicase/test-u8-is-titlecase.c: New file.
10370         * tests/unicase/test-is-titlecase.h: New file.
10371
10372         New module 'unicase/u32-is-titlecase'.
10373         * lib/unicase/u32-is-titlecase.c: New file.
10374         * modules/unicase/u32-is-titlecase: New file.
10375
10376         New module 'unicase/u16-is-titlecase'.
10377         * lib/unicase/u16-is-titlecase.c: New file.
10378         * modules/unicase/u16-is-titlecase: New file.
10379
10380         New module 'unicase/u8-is-titlecase'.
10381         * lib/unicase/u8-is-titlecase.c: New file.
10382         * modules/unicase/u8-is-titlecase: New file.
10383
10384         Tests for module 'unicase/u32-is-lowercase'.
10385         * modules/unicase/u32-is-lowercase-tests: New file.
10386         * tests/unicase/test-u32-is-lowercase.c: New file.
10387
10388         Tests for module 'unicase/u16-is-lowercase'.
10389         * modules/unicase/u16-is-lowercase-tests: New file.
10390         * tests/unicase/test-u16-is-lowercase.c: New file.
10391
10392         Tests for module 'unicase/u8-is-lowercase'.
10393         * modules/unicase/u8-is-lowercase-tests: New file.
10394         * tests/unicase/test-u8-is-lowercase.c: New file.
10395         * tests/unicase/test-is-lowercase.h: New file.
10396
10397         New module 'unicase/u32-is-lowercase'.
10398         * lib/unicase/u32-is-lowercase.c: New file.
10399         * modules/unicase/u32-is-lowercase: New file.
10400
10401         New module 'unicase/u16-is-lowercase'.
10402         * lib/unicase/u16-is-lowercase.c: New file.
10403         * modules/unicase/u16-is-lowercase: New file.
10404
10405         New module 'unicase/u8-is-lowercase'.
10406         * lib/unicase/u8-is-lowercase.c: New file.
10407         * modules/unicase/u8-is-lowercase: New file.
10408
10409         Tests for module 'unicase/u32-is-uppercase'.
10410         * modules/unicase/u32-is-uppercase-tests: New file.
10411         * tests/unicase/test-u32-is-uppercase.c: New file.
10412
10413         Tests for module 'unicase/u16-is-uppercase'.
10414         * modules/unicase/u16-is-uppercase-tests: New file.
10415         * tests/unicase/test-u16-is-uppercase.c: New file.
10416
10417         Tests for module 'unicase/u8-is-uppercase'.
10418         * modules/unicase/u8-is-uppercase-tests: New file.
10419         * tests/unicase/test-u8-is-uppercase.c: New file.
10420         * tests/unicase/test-is-uppercase.h: New file.
10421
10422         New module 'unicase/u32-is-uppercase'.
10423         * lib/unicase/u32-is-uppercase.c: New file.
10424         * modules/unicase/u32-is-uppercase: New file.
10425
10426         New module 'unicase/u16-is-uppercase'.
10427         * lib/unicase/u16-is-uppercase.c: New file.
10428         * modules/unicase/u16-is-uppercase: New file.
10429
10430         New module 'unicase/u8-is-uppercase'.
10431         * lib/unicase/u8-is-uppercase.c: New file.
10432         * modules/unicase/u8-is-uppercase: New file.
10433
10434         New module 'unicase/u32-is-invariant'.
10435         * lib/unicase/u32-is-invariant.c: New file.
10436         * modules/unicase/u32-is-invariant: New file.
10437
10438         New module 'unicase/u16-is-invariant'.
10439         * lib/unicase/u16-is-invariant.c: New file.
10440         * modules/unicase/u16-is-invariant: New file.
10441
10442         New module 'unicase/u8-is-invariant'.
10443         * lib/unicase/u8-is-invariant.c: New file.
10444         * lib/unicase/invariant.h: New file.
10445         * lib/unicase/u-is-invariant.h: New file.
10446         * modules/unicase/u8-is-invariant: New file.
10447
10448         Tests for module 'unicase/u32-casecoll'.
10449         * modules/unicase/u32-casecoll-tests: New file.
10450         * tests/unicase/test-u32-casecoll.c: New file.
10451
10452         Tests for module 'unicase/u16-casecoll'.
10453         * modules/unicase/u16-casecoll-tests: New file.
10454         * tests/unicase/test-u16-casecoll.c: New file.
10455
10456         Tests for module 'unicase/u8-casecoll'.
10457         * modules/unicase/u8-casecoll-tests: New file.
10458         * tests/unicase/test-u8-casecoll.c: New file.
10459
10460         New module 'unicase/u32-casecoll'.
10461         * lib/unicase/u32-casecoll.c: New file.
10462         * modules/unicase/u32-casecoll: New file.
10463
10464         New module 'unicase/u16-casecoll'.
10465         * lib/unicase/u16-casecoll.c: New file.
10466         * modules/unicase/u16-casecoll: New file.
10467
10468         New module 'unicase/u8-casecoll'.
10469         * lib/unicase/u8-casecoll.c: New file.
10470         * lib/unicase/u-casecoll.h: New file.
10471         * modules/unicase/u8-casecoll: New file.
10472
10473         New module 'unicase/u32-casexfrm'.
10474         * lib/unicase/u32-casexfrm.c: New file.
10475         * modules/unicase/u32-casexfrm: New file.
10476
10477         New module 'unicase/u16-casexfrm'.
10478         * lib/unicase/u16-casexfrm.c: New file.
10479         * modules/unicase/u16-casexfrm: New file.
10480
10481         New module 'unicase/u8-casexfrm'.
10482         * lib/unicase/u8-casexfrm.c: New file.
10483         * lib/unicase/u-casexfrm.h: New file.
10484         * modules/unicase/u8-casexfrm: New file.
10485
10486         Tests for module 'unicase/u32-casecmp'.
10487         * modules/unicase/u32-casecmp-tests: New file.
10488         * tests/unicase/test-u32-casecmp.c: New file.
10489
10490         Tests for module 'unicase/u16-casecmp'.
10491         * modules/unicase/u16-casecmp-tests: New file.
10492         * tests/unicase/test-u16-casecmp.c: New file.
10493
10494         Tests for module 'unicase/u8-casecmp'.
10495         * modules/unicase/u8-casecmp-tests: New file.
10496         * tests/unicase/test-u8-casecmp.c: New file.
10497         * tests/unicase/test-casecmp.h: New file.
10498
10499         New module 'unicase/u32-casecmp'.
10500         * lib/unicase/u32-casecmp.c: New file.
10501         * modules/unicase/u32-casecmp: New file.
10502
10503         New module 'unicase/u16-casecmp'.
10504         * lib/unicase/u16-casecmp.c: New file.
10505         * modules/unicase/u16-casecmp: New file.
10506
10507         New module 'unicase/u8-casecmp'.
10508         * lib/unicase/u8-casecmp.c: New file.
10509         * lib/unicase/u-casecmp.h: New file.
10510         * modules/unicase/u8-casecmp: New file.
10511
10512         Tests for module 'unicase/u32-casefold'.
10513         * modules/unicase/u32-casefold-tests: New file.
10514         * tests/unicase/test-u32-casefold.c: New file.
10515
10516         Tests for module 'unicase/u16-casefold'.
10517         * modules/unicase/u16-casefold-tests: New file.
10518         * tests/unicase/test-u16-casefold.c: New file.
10519
10520         Tests for module 'unicase/u8-casefold'.
10521         * modules/unicase/u8-casefold-tests: New file.
10522         * tests/unicase/test-u8-casefold.c: New file.
10523
10524         New module 'unicase/u32-casefold'.
10525         * lib/unicase/u32-casefold.c: New file.
10526         * modules/unicase/u32-casefold: New file.
10527
10528         New module 'unicase/u16-casefold'.
10529         * lib/unicase/u16-casefold.c: New file.
10530         * modules/unicase/u16-casefold: New file.
10531
10532         New module 'unicase/u8-casefold'.
10533         * lib/unicase/u8-casefold.c: New file.
10534         * lib/unicase/u-casefold.h: New file.
10535         * modules/unicase/u8-casefold: New file.
10536
10537         New module 'unicase/tocasefold'.
10538         * lib/unicase/casefold.h: New file.
10539         * lib/unicase/tocasefold.c: New file.
10540         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
10541         * modules/unicase/tocasefold: New file.
10542
10543         Tests for module 'unicase/u32-totitle'.
10544         * modules/unicase/u32-totitle-tests: New file.
10545         * tests/unicase/test-u32-totitle.c: New file.
10546
10547         Tests for module 'unicase/u16-totitle'.
10548         * modules/unicase/u16-totitle-tests: New file.
10549         * tests/unicase/test-u16-totitle.c: New file.
10550
10551         Tests for module 'unicase/u8-totitle'.
10552         * modules/unicase/u8-totitle-tests: New file.
10553         * tests/unicase/test-u8-totitle.c: New file.
10554
10555         New module 'unicase/u32-totitle'.
10556         * lib/unicase/u32-totitle.c: New file.
10557         * modules/unicase/u32-totitle: New file.
10558
10559         New module 'unicase/u16-totitle'.
10560         * lib/unicase/u16-totitle.c: New file.
10561         * modules/unicase/u16-totitle: New file.
10562
10563         New module 'unicase/u8-totitle'.
10564         * lib/unicase/u8-totitle.c: New file.
10565         * lib/unicase/u-totitle.h: New file.
10566         * modules/unicase/u8-totitle: New file.
10567
10568         Tests for module 'unicase/u32-tolower'.
10569         * modules/unicase/u32-tolower-tests: New file.
10570         * tests/unicase/test-u32-tolower.c: New file.
10571
10572         Tests for module 'unicase/u16-tolower'.
10573         * modules/unicase/u16-tolower-tests: New file.
10574         * tests/unicase/test-u16-tolower.c: New file.
10575
10576         Tests for module 'unicase/u8-tolower'.
10577         * modules/unicase/u8-tolower-tests: New file.
10578         * tests/unicase/test-u8-tolower.c: New file.
10579
10580         New module 'unicase/u32-tolower'.
10581         * lib/unicase/u32-tolower.c: New file.
10582         * modules/unicase/u32-tolower: New file.
10583
10584         New module 'unicase/u16-tolower'.
10585         * lib/unicase/u16-tolower.c: New file.
10586         * modules/unicase/u16-tolower: New file.
10587
10588         New module 'unicase/u8-tolower'.
10589         * lib/unicase/u8-tolower.c: New file.
10590         * modules/unicase/u8-tolower: New file.
10591
10592         Tests for module 'unicase/u32-toupper'.
10593         * modules/unicase/u32-toupper-tests: New file.
10594         * tests/unicase/test-u32-toupper.c: New file.
10595
10596         Tests for module 'unicase/u16-toupper'.
10597         * modules/unicase/u16-toupper-tests: New file.
10598         * tests/unicase/test-u16-toupper.c: New file.
10599
10600         Tests for module 'unicase/u8-toupper'.
10601         * modules/unicase/u8-toupper-tests: New file.
10602         * tests/unicase/test-u8-toupper.c: New file.
10603
10604         New module 'unicase/u32-toupper'.
10605         * lib/unicase/u32-toupper.c: New file.
10606         * modules/unicase/u32-toupper: New file.
10607
10608         New module 'unicase/u16-toupper'.
10609         * lib/unicase/u16-toupper.c: New file.
10610         * modules/unicase/u16-toupper: New file.
10611
10612         New module 'unicase/u8-toupper'.
10613         * lib/unicase/u8-toupper.c: New file.
10614         * modules/unicase/u8-toupper: New file.
10615
10616         New module 'unicase/u32-casemap'.
10617         * lib/unicase/u32-casemap.c: New file.
10618         * modules/unicase/u32-casemap: New file.
10619
10620         New module 'unicase/u16-casemap'.
10621         * lib/unicase/u16-casemap.c: New file.
10622         * modules/unicase/u16-casemap: New file.
10623
10624         New module 'unicase/u8-casemap'.
10625         * lib/unicase/unicasemap.h: New file.
10626         * lib/unicase/u8-casemap.c: New file.
10627         * lib/unicase/u-casemap.h: New file.
10628         * modules/unicase/u8-casemap: New file.
10629
10630         New module 'unicase/special-casing'.
10631         * lib/unicase/special-casing.h: New file.
10632         * lib/unicase/special-casing.c: New file.
10633         * lib/unicase/special-casing-table.gperf: New file, generated by
10634         gen-uni-tables.c.
10635         * modules/unicase/special-casing: New file.
10636
10637         Tests for module 'unicase/locale-language'.
10638         * modules/unicase/locale-language-tests: New file.
10639         * tests/unicase/test-locale-language.sh: New file.
10640         * tests/unicase/test-locale-language.c: New file.
10641
10642         New module 'unicase/locale-language'.
10643         * lib/unicase/locale-language.c: New file.
10644         * lib/unicase/locale-languages.gperf: New file.
10645         * modules/unicase/locale-language: New file.
10646
10647         Generate more tables for case conversion and case folding.
10648         * lib/gen-uni-tables.c (SCC_*): New enum items.
10649         (struct special_casing_rule): New type.
10650         (casing_rules, num_casing_rules, allocated_casing_rules): New
10651         variables.
10652         (add_casing_rule, fill_casing_rules): New functions.
10653         (struct casefold_rule): New type.
10654         (casefolding_rules, num_casefolding_rules,
10655         allocated_casefolding_rules): New variables.
10656         (fill_casefolding_rules): New function.
10657         (unicode_casefold): New variable.
10658         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
10659         sort_casing_rules, output_casing_rules): New functions.
10660         (main): Accept to more arguments: SpecialCasing.txt and
10661         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
10662         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
10663         Output mapping for casefolding.
10664
10665         * lib/unicase.h: Include stdbool.h, uninorm.h.
10666         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
10667         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
10668         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
10669         arguments.
10670         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
10671         resultp arguments.
10672         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
10673         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
10674         resultp arguments.
10675         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
10676         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
10677         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
10678         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
10679         declarations.
10680         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
10681
10682 2009-03-08  Bruno Haible  <bruno@clisp.org>
10683
10684         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
10685         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
10686         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
10687         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
10688
10689 2009-03-07  Bruno Haible  <bruno@clisp.org>
10690
10691         Adjust u*_normcmp, u*_normcoll API.
10692         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
10693         u16_normcoll, u32_normcoll): Change failure conventions.
10694         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
10695         errno and return -1.
10696         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
10697
10698 2009-03-07  Bruno Haible  <bruno@clisp.org>
10699
10700         Tests for module 'uninorm/u32-normcoll'.
10701         * modules/uninorm/u32-normcoll-tests: New file.
10702         * tests/uninorm/test-u32-normcoll.c: New file.
10703
10704         Tests for module 'uninorm/u16-normcoll'.
10705         * modules/uninorm/u16-normcoll-tests: New file.
10706         * tests/uninorm/test-u16-normcoll.c: New file.
10707
10708         Tests for module 'uninorm/u8-normcoll'.
10709         * modules/uninorm/u8-normcoll-tests: New file.
10710         * tests/uninorm/test-u8-normcoll.c: New file.
10711
10712 2009-03-07  Bruno Haible  <bruno@clisp.org>
10713
10714         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
10715         tests/uninorm/test-u32-normcmp.c.
10716         * tests/uninorm/test-u32-normcmp.c: Include it.
10717         (test_nonascii): New function, extracted from main. Add some more
10718         tests.
10719         (main): Invoke test_ascii and test_nonascii.
10720         * modules/uninorm/u32-normcmp-tests (Files): Add
10721         tests/uninorm/test-u32-normcmp.h.
10722         (Depends-on): Remove uninorm/u32-normcmp.
10723
10724         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
10725         tests/uninorm/test-u16-normcmp.c.
10726         * tests/uninorm/test-u16-normcmp.c: Include it.
10727         (test_nonascii): New function, extracted from main. Add some more
10728         tests.
10729         (main): Invoke test_ascii and test_nonascii.
10730         * modules/uninorm/u16-normcmp-tests (Files): Add
10731         tests/uninorm/test-u16-normcmp.h.
10732         (Depends-on): Remove uninorm/u16-normcmp.
10733
10734         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
10735         tests/uninorm/test-u8-normcmp.c.
10736         * tests/uninorm/test-u8-normcmp.c: Include it.
10737         (test_nonascii): New function, extracted from main. Add some more
10738         tests.
10739         (main): Invoke test_ascii and test_nonascii.
10740         * modules/uninorm/u8-normcmp-tests (Files): Add
10741         tests/uninorm/test-u8-normcmp.h.
10742         (Depends-on): Remove uninorm/u8-normcmp.
10743
10744 2009-03-07  Bruno Haible  <bruno@clisp.org>
10745
10746         New module 'uninorm/u32-normcoll'.
10747         * lib/uninorm/u32-normcoll.c: New file.
10748         * modules/uninorm/u32-normcoll: New file.
10749
10750         New module 'uninorm/u16-normcoll'.
10751         * lib/uninorm/u16-normcoll.c: New file.
10752         * modules/uninorm/u16-normcoll: New file.
10753
10754         New module 'uninorm/u8-normcoll'.
10755         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
10756         declarations.
10757         * lib/uninorm/u8-normcoll.c: New file.
10758         * lib/uninorm/u-normcoll.h: New file.
10759         * modules/uninorm/u8-normcoll: New file.
10760
10761         New module 'uninorm/u32-normxfrm'.
10762         * lib/uninorm/u32-normxfrm.c: New file.
10763         * modules/uninorm/u32-normxfrm: New file.
10764
10765         New module 'uninorm/u16-normxfrm'.
10766         * lib/uninorm/u16-normxfrm.c: New file.
10767         * modules/uninorm/u16-normxfrm: New file.
10768
10769         New module 'uninorm/u8-normxfrm'.
10770         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
10771         declarations.
10772         * lib/uninorm/u8-normxfrm.c: New file.
10773         * lib/uninorm/u-normxfrm.h: New file.
10774         * modules/uninorm/u8-normxfrm: New file.
10775
10776 2009-03-07  Bruno Haible  <bruno@clisp.org>
10777
10778         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
10779         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
10780         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
10781
10782 2009-03-07  Bruno Haible  <bruno@clisp.org>
10783
10784         New module 'memxfrm'.
10785         * lib/memxfrm.h: New file.
10786         * lib/memxfrm.c: New file.
10787         * modules/memxfrm: New file.
10788
10789 2009-03-07  Bruno Haible  <bruno@clisp.org>
10790
10791         New module 'memcmp2'.
10792         * lib/memcmp2.h: New file.
10793         * lib/memcmp2.c: New file.
10794         * modules/memcmp2: New file.
10795
10796 2009-03-07  Bruno Haible  <bruno@clisp.org>
10797
10798         Tests for module 'uninorm/decomposing-form'.
10799         * modules/uninorm/decomposing-form-tests: New file.
10800         * tests/uninorm/test-decomposing-form.c: New file.
10801
10802         New module 'uninorm/decomposing-form'.
10803         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
10804         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
10805         Add 'decomposing_variant' field.
10806         * lib/uninorm/decomposing-form.c: New file.
10807         * lib/uninorm/nfc.c (uninorm_nfc): Update.
10808         * lib/uninorm/nfd.c (uninorm_nfd): Update.
10809         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
10810         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
10811         * modules/uninorm/decomposing-form: New file.
10812         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
10813         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
10814
10815 2009-03-07  Bruno Haible  <bruno@clisp.org>
10816
10817         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
10818         strings.
10819
10820 2009-03-06  Bruno Haible  <bruno@clisp.org>
10821
10822         Tests for module 'uninorm/u32-normcmp'.
10823         * tests/uninorm/test-u32-normcmp.c: New file.
10824         * modules/uninorm/u32-normcmp-tests: New file.
10825
10826         Tests for module 'uninorm/u16-normcmp'.
10827         * tests/uninorm/test-u16-normcmp.c: New file.
10828         * modules/uninorm/u16-normcmp-tests: New file.
10829
10830         Tests for module 'uninorm/u8-normcmp'.
10831         * tests/uninorm/test-u8-normcmp.c: New file.
10832         * modules/uninorm/u8-normcmp-tests: New file.
10833
10834         New module 'uninorm/u32-normcmp'.
10835         * lib/uninorm/u32-normcmp.c: New file.
10836         * modules/uninorm/u32-normcmp: New file.
10837
10838         New module 'uninorm/u16-normcmp'.
10839         * lib/uninorm/u16-normcmp.c: New file.
10840         * modules/uninorm/u16-normcmp: New file.
10841
10842         New module 'uninorm/u8-normcmp'.
10843         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
10844         declarations.
10845         * lib/uninorm/u8-normcmp.c: New file.
10846         * lib/uninorm/u-normcmp.h: New file.
10847         * modules/uninorm/u8-normcmp: New file.
10848
10849 2009-03-06  Bruno Haible  <bruno@clisp.org>
10850
10851         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
10852         Reported by Eric Blake.
10853
10854 2009-03-06  Eric Blake  <ebb9@byu.net>
10855             Bruno Haible  <bruno@clisp.org>
10856
10857         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
10858         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
10859         condition.
10860         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
10861         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
10862         condition.
10863         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
10864
10865 2009-03-06  Eric Blake  <ebb9@byu.net>
10866
10867         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
10868         to avoid compiler warnings.
10869         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
10870
10871 2009-03-05  Bruno Haible  <bruno@clisp.org>
10872
10873         * tests/test-ftell.c (main): Disable test beyond end of file on
10874         FreeMiNT.
10875         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
10876
10877 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
10878
10879         * lib/filevercmp.c: Move hidden files up in ordering.
10880         * tests/test-filevercmp.c: Add tests for hidden files.
10881
10882 2009-03-04  Bruno Haible  <bruno@clisp.org>
10883
10884         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
10885         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
10886         AM_CFLAGS.
10887         Reported by Simon Josefsson.
10888
10889 2009-03-03  Bruno Haible  <bruno@clisp.org>
10890
10891         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
10892         Reported by Simon Josefsson.
10893
10894         * doc/ld-version-script.texi: Update node reference.
10895
10896 2009-03-03  Bruno Haible  <bruno@clisp.org>
10897
10898         * modules/visibility (License): Change to 'unlimited'.
10899         Suggested by Simon Josefsson.
10900
10901 2009-03-03  Jim Meyering  <meyering@redhat.com>
10902
10903         unlinkdir: cannot_unlink_dir may modify process state
10904         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
10905         it's neither thread-safe nor appropriate for use in a library.
10906
10907 2009-03-03  Eric Blake  <ebb9@byu.net>
10908
10909         test-closein: silence test under Darwin
10910         * tests/test-closein.sh: Ignore stderr from cat, since we don't
10911         care if it dies from EPIPE or EBADF.
10912
10913 2009-03-03  Bruno Haible  <bruno@clisp.org>
10914
10915         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
10916         earlier.
10917         * doc/visibility.texi: Fix @node and @section.
10918
10919 2009-03-03  Simon Josefsson  <simon@josefsson.org>
10920
10921         * doc/gnulib.texi: Link to sections for ld version script and
10922         visibility.
10923         * doc/visibility.texi: Add @node and @section.
10924         * modules/ld-version-script: New module.
10925         * m4/ld-version-script.m4: New file.
10926         * doc/ld-version-script.texi: New file.
10927
10928 2009-03-02  David Lutterkort  <lutter@redhat.com>
10929
10930         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
10931         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10932
10933 2009-03-02  Bruno Haible  <bruno@clisp.org>
10934
10935         * doc/visibility.texi: Mention libtool's -export-symbols option.
10936
10937 2009-03-02  Jim Meyering  <meyering@redhat.com>
10938
10939         announce-gen: new option: --no-print-checksums
10940         * build-aux/announce-gen (usage): Describe it.
10941         (print_checksums): Print a newline here, not in the [*] footnote.
10942         (main): Honor it.
10943
10944 2009-03-01  Bruno Haible  <bruno@clisp.org>
10945
10946         Use socklen_t in the native Windows replacements prototypes.
10947         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
10948         instead of 'int'.
10949         * lib/getsockopt.c (rpl_getsockopt): Likewise.
10950         * lib/setsockopt.c (rpl_setsockopt): Likewise.
10951         * modules/getsockopt (Depends-on): Add socklen.
10952         * modules/setsockopt (Depends-on): Add socklen.
10953
10954 2009-03-01  Bruno Haible  <bruno@clisp.org>
10955
10956         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
10957         least 4.2.
10958
10959 2009-03-01  Eric Blake  <ebb9@byu.net>
10960             Bruno Haible  <bruno@clisp.org>
10961
10962         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
10963         error messages.
10964         * lib/wait-process.c (wait_subprocess): Omit error message about
10965         deadly signal sent to the child of termsigp != NULL.
10966
10967 2009-03-01  Eric Blake  <ebb9@byu.net>
10968
10969         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
10970
10971 2009-03-01  Bruno Haible  <bruno@clisp.org>
10972
10973         Avoid a gcc warning.
10974         * tests/test-sched.c (b): Make global.
10975         Reported by Eric Blake.
10976
10977 2009-01-19  Martin Lambers  <marlam@marlam.de>
10978
10979         Provide POSIX semantics for socket timeout options on W32.
10980         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
10981         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
10982         * modules/setsockopt: Depend on sys_time module for struct timeval.
10983         * modules/getsockopt: Depend on sys_time module for struct timeval.
10984
10985 2009-03-01  Simon Josefsson  <simon@josefsson.org>
10986
10987         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
10988         __USE_GNU, for consistency with netdb.in.h.
10989         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
10990
10991 2009-03-01  Bruno Haible  <bruno@clisp.org>
10992
10993         More support for FreeMiNT.
10994         * lib/fseeko.c (rpl_fseeko): Complete last commit.
10995         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
10996
10997 2009-03-01  Bruno Haible  <bruno@clisp.org>
10998
10999         More support for FreeMiNT.
11000         * lib/fpurge.c (fpurge): Correct last commit.
11001         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
11002
11003 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11004
11005         Fix unportable awk script in vc-list-files.
11006         * build-aux/vc-list-files: In the replacement awk script, use
11007         substr with a second argument of 1, not zero.
11008         Report by Simon Josefsson.
11009
11010 2009-02-28  Bruno Haible  <bruno@clisp.org>
11011
11012         More support for FreeMiNT.
11013         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
11014         to FreeMiNT today.
11015         * lib/fwriting.c (fwriting): Likewise.
11016         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
11017
11018 2009-02-28  Bruno Haible  <bruno@clisp.org>
11019
11020         * tests/test-freadseek.c (main): Disable test beyond end of file on
11021         FreeMiNT.
11022         * tests/test-ftello.c (main): Likewise.
11023         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
11024
11025 2009-02-28  Bruno Haible  <bruno@clisp.org>
11026
11027         Add tentative support for FreeMiNT.
11028         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
11029         * lib/fpurge.c (fpurge): Likewise.
11030         * lib/freadable.c (freadable): Likewise.
11031         * lib/freading.c (freading): Likewise.
11032         * lib/freadptr.c (freadptr): Likewise.
11033         * lib/freadseek.c (freadptrinc): Likewise.
11034         * lib/fseeko.c (rpl_fseeko): Likewise.
11035         * lib/fseterr.c (fseterr): Likewise.
11036         * lib/fwritable.c (fwritable): Likewise.
11037         * lib/fwriting.c (fwriting): Likewise.
11038         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
11039         Hourihane.
11040         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
11041
11042 2009-02-28  Bruno Haible  <bruno@clisp.org>
11043
11044         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
11045         SIGCHLD.
11046         Reported by Jim Meyering.
11047
11048 2009-02-28  Bruno Haible  <bruno@clisp.org>
11049
11050         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
11051         Mention the results of these tests on various platforms.
11052         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
11053         order.
11054         * doc/posix-functions/printf.texi: Likewise.
11055         * doc/posix-functions/snprintf.texi: Likewise.
11056         * doc/posix-functions/sprintf.texi: Likewise.
11057         * doc/posix-functions/vfprintf.texi: Likewise.
11058         * doc/posix-functions/vprintf.texi: Likewise.
11059         * doc/posix-functions/vsnprintf.texi: Likewise.
11060         * doc/posix-functions/vsprintf.texi: Likewise.
11061         * doc/glibc-functions/obstack_printf.texi: Likewise.
11062         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
11063
11064 2009-02-28  Bruno Haible  <bruno@clisp.org>
11065
11066         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
11067         Reported by Loïc Minier <lool@dooz.org>.
11068
11069 2009-02-27  Bruno Haible  <bruno@clisp.org>
11070
11071         * gnulib-tool (func_import): Make the sed expression used to create the
11072         sed script for updating the .gitignore file POSIX compliant.
11073         Reported by Eric Blake.
11074
11075 2009-02-27  Bruno Haible  <bruno@clisp.org>
11076
11077         * gnulib-tool (sed): Don't alias as "sed --posix".
11078         Reported by Eric Blake.
11079
11080 2009-02-27  Bruno Haible  <bruno@clisp.org>
11081
11082         Avoid test link errors.
11083         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
11084         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
11085         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
11086         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
11087         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11088
11089 2009-02-27  Bruno Haible  <bruno@clisp.org>
11090
11091         Avoid spurious "(cached)" in configure output.
11092         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
11093         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
11094         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
11095         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
11096         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
11097         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
11098         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
11099         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
11100         Reported by Eric Blake.
11101
11102 2009-02-27  Eric Blake  <ebb9@byu.net>
11103
11104         printf: fix regression in previous patch
11105         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
11106
11107 2009-02-27  Bruno Haible  <bruno@clisp.org>
11108
11109         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
11110         value.
11111         * lib/stdint.in.h: Likewise.
11112         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
11113
11114 2009-02-27  Eric Blake  <ebb9@byu.net>
11115
11116         doc: mention more functions added in cygwin 1.7.0
11117         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
11118         addition.
11119         * doc/posix-functions/open_wmemstream.texi: Likewise.
11120         * doc/posix-functions/wcsnlen.texi: Likewise.
11121         * doc/posix-functions/wcsnrtombs.texi: Likewise.
11122         * doc/posix-functions/wcstod.texi: Likewise.
11123         * doc/posix-functions/wcstof.texi: Likewise.
11124         * doc/posix-functions/wcstoimax.texi: Likewise.
11125         * doc/posix-functions/wcstok.texi: Likewise.
11126         * doc/posix-functions/wcstoumax.texi: Likewise.
11127
11128         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
11129         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
11130         * doc/posix-functions/fprintf.texi: Update.
11131         * doc/posix-functions/printf.texi: Update.
11132         * doc/posix-functions/snprintf.texi: Update.
11133         * doc/posix-functions/sprintf.texi: Update.
11134         * doc/posix-functions/vfprintf.texi: Update.
11135         * doc/posix-functions/vprintf.texi: Update.
11136         * doc/posix-functions/vsnprintf.texi: Update.
11137         * doc/posix-functions/vsprintf.texi: Update.
11138         * doc/glibc-functions/obstack_printf.texi: Update.
11139         * doc/glibc-functions/obstack_vprintf.texi: Update.
11140
11141 2009-02-26  Eric Blake  <ebb9@byu.net>
11142
11143         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
11144         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
11145         compilation bug by using runtime conversion.
11146         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
11147         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
11148         * modules/ceill-tests (Files): Use nan.h.
11149         * modules/floorl-tests (Files): Likewise.
11150         * modules/frexpl-tests (Files): Likewise.
11151         * modules/isnanl-tests (Files): Likewise.
11152         * modules/ldexpl-tests (Files): Likewise.
11153         * modules/roundl-tests (Files): Likewise.
11154         * modules/truncl-tests (Files): Likewise.
11155         * tests/test-ceill.c (main): Use a working NaN.
11156         * tests/test-floorl.c (main): Likewise.
11157         * tests/test-frexpl.c (main): Likewise.
11158         * tests/test-isnan.c (test_long_double): Likewise.
11159         * tests/test-isnanl.h (main): Likewise.
11160         * tests/test-ldexpl.h (main): Likewise.
11161         * tests/test-roundl.h (main): Likewise.
11162         * tests/test-truncl.h (main): Likewise.
11163         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
11164
11165 2009-02-26  Eric Blake  <ebb9@byu.net>
11166             Bruno Haible  <bruno@clisp.org>
11167
11168         Work around a *printf bug with %ls on Solaris.
11169         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
11170         precision is specified, sprintf stops converting the wide string
11171         argument when the number of bytes that have been produced by this
11172         conversion equals or exceeds the precision.
11173         * doc/posix-functions/fprintf.texi: Update.
11174         * doc/posix-functions/printf.texi: Update.
11175         * doc/posix-functions/snprintf.texi: Update.
11176         * doc/posix-functions/sprintf.texi: Update.
11177         * doc/posix-functions/vfprintf.texi: Update.
11178         * doc/posix-functions/vprintf.texi: Update.
11179         * doc/posix-functions/vsnprintf.texi: Update.
11180         * doc/posix-functions/vsprintf.texi: Update.
11181         * doc/glibc-functions/obstack_printf.texi: Update.
11182         * doc/glibc-functions/obstack_vprintf.texi: Update.
11183
11184 2009-02-26  Eric Blake  <ebb9@byu.net>
11185
11186         stdlib: favor compiler check of random.h
11187         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
11188         to avoid an ObjC random.h installed by Swarm.
11189
11190 2009-02-26  Bruno Haible  <bruno@clisp.org>
11191
11192         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
11193         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
11194         Reported by Gary V. Vaughan <gary@gnu.org>.
11195
11196 2009-02-26  Bruno Haible  <bruno@clisp.org>
11197
11198         Fix *printf behaviour regarding the %ls directive.
11199         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
11200         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
11201         NEED_PRINTF_DIRECTIVE_LS.
11202         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
11203         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
11204         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
11205         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
11206         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
11207         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
11208         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
11209         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
11210         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
11211         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
11212         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
11213         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
11214         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
11215         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
11216         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
11217         * doc/posix-functions/fprintf.texi: Update.
11218         * doc/posix-functions/printf.texi: Update.
11219         * doc/posix-functions/snprintf.texi: Update.
11220         * doc/posix-functions/sprintf.texi: Update.
11221         * doc/posix-functions/vfprintf.texi: Update.
11222         * doc/posix-functions/vprintf.texi: Update.
11223         * doc/posix-functions/vsnprintf.texi: Update.
11224         * doc/posix-functions/vsprintf.texi: Update.
11225         * doc/glibc-functions/obstack_printf.texi: Update.
11226         * doc/glibc-functions/obstack_vprintf.texi: Update.
11227         Reported by Eric Blake.
11228
11229 2009-02-25  Bruno Haible  <bruno@clisp.org>
11230
11231         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
11232         with known value.
11233         Reported by Gary V. Vaughan <gary@gnu.org>.
11234
11235 2009-02-25  Bruno Haible  <bruno@clisp.org>
11236
11237         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
11238         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
11239         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
11240         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
11241         Reported by Gary V. Vaughan <gary@gnu.org>.
11242
11243 2009-02-25  Bruno Haible  <bruno@clisp.org>
11244
11245         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
11246         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
11247         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
11248         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
11249         Reported by Gary V. Vaughan <gary@gnu.org>.
11250
11251 2009-02-25  Eric Blake  <ebb9@byu.net>
11252
11253         tests: skip fseek/ftell tests if ungetc is broken
11254         * m4/ungetc.m4: New file.
11255         * modules/fseek-tests: Split test, so ungetc dependency is
11256         separate from rest of test.
11257         * modules/fseeko-tests: Likewise.
11258         * modules/ftell-tests: Likewise.
11259         * modules/ftello-tests: Likewise.
11260         * tests/test-fseek.c (main): Isolate ungetc dependency.
11261         * tests/test-fseeko.c (main): Likewise.
11262         * tests/test-ftell.c (main): Likewise.
11263         * tests/test-ftello.c (main): Likewise.
11264         * tests/test-fseek2.sh: New file.
11265         * tests/test-fseeko2.sh: Likewise.
11266         * tests/test-ftell2.sh: Likewise.
11267         * tests/test-ftello2.sh: Likewise.
11268
11269 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
11270
11271         test-getaddrinfo: fix usage of skip return code 77
11272         * tests/test-gettaddrinfo.c: Return skip code 77 only
11273         for first occurance of skip (4x77 is not 77)
11274
11275 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
11276
11277         strtod: avoid C99 decl-after-statement
11278         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
11279
11280 2009-02-24  Eric Blake  <ebb9@byu.net>
11281
11282         strtod: detect HP-UX 11.31 bug
11283         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
11284         Reported by Gary V. Vaughan.
11285
11286 2009-02-23  Bruno Haible  <bruno@clisp.org>
11287
11288         Fix invalid read past end of memory block.
11289         * lib/vasnprintf.c (DCHAR_SET): Define.
11290         (local_wcslen): Define only when needed.
11291         (local_strnlen, local_wcsnlen): New functions.
11292         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
11293         directives that involve a conversion ourselves.
11294         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
11295         wcsnlen, mbrtowc, wcrtomb.
11296         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
11297         * tests/test-vasprintf-posix.c (test_function): Likewise.
11298         * tests/test-snprintf-posix.h (test_function): Likewise.
11299         * tests/test-sprintf-posix.h (test_function): Likewise.
11300         Reported by Ben Pfaff <blp@cs.stanford.edu>.
11301
11302 2009-02-22  Bruno Haible  <bruno@clisp.org>
11303
11304         Implement new clarified decomposition of Hangul syllables.
11305         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
11306         of type LTV, return only a pairwise decomposition.
11307         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
11308         Likewise.
11309         * tests/uninorm/test-decomposition.c (main): Updated expected result.
11310         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
11311         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
11312
11313 2009-02-22  Bruno Haible  <bruno@clisp.org>
11314
11315         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
11316         zero-length results and shrink excess allocated memory.
11317         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
11318         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
11319         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
11320         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
11321         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
11322         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
11323         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
11324         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
11325         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
11326         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
11327         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
11328         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
11329
11330 2009-02-21  Bruno Haible  <bruno@clisp.org>
11331
11332         * doc/gnulib.texi: Include safe-alloc.texi earlier.
11333         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
11334         spaces after a period. Put a space between a macro name and its
11335         argument list. Trivial rewordings.
11336         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
11337         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
11338         (main): Return 0 explicitly.
11339
11340 2009-02-21  Bruno Haible  <bruno@clisp.org>
11341
11342         Tests for module 'uninorm/filter'.
11343         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
11344         * modules/uninorm/filter-tests: New file.
11345
11346         New module 'uninorm/filter'.
11347         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
11348         uninorm_filter_flush, uninorm_filter_free): New declarations.
11349         * lib/uninorm/uninorm-filter.c: New file.
11350         * modules/uninorm/filter: New file.
11351
11352 2009-02-21  Bruno Haible  <bruno@clisp.org>
11353
11354         Tests for module 'uninorm/nfkc'.
11355         * tests/uninorm/test-nfkc.c: New file.
11356         * tests/uninorm/test-u8-nfkc.c: New file.
11357         * tests/uninorm/test-u16-nfkc.c: New file.
11358         * tests/uninorm/test-u32-nfkc.c: New file.
11359         * tests/uninorm/test-u32-nfkc-big.sh: New file.
11360         * tests/uninorm/test-u32-nfkc-big.c: New file.
11361         * modules/uninorm/nfkc-tests: New file.
11362
11363         New module 'uninorm/nfkc'.
11364         * lib/uninorm/nfkc.c: New file.
11365         * modules/uninorm/nfkc: New file.
11366
11367         Tests for module 'uninorm/nfkd'.
11368         * tests/uninorm/test-nfkd.c: New file.
11369         * tests/uninorm/test-u8-nfkd.c: New file.
11370         * tests/uninorm/test-u16-nfkd.c: New file.
11371         * tests/uninorm/test-u32-nfkd.c: New file.
11372         * tests/uninorm/test-u32-nfkd-big.sh: New file.
11373         * tests/uninorm/test-u32-nfkd-big.c: New file.
11374         * modules/uninorm/nfkd-tests: New file.
11375
11376         New module 'uninorm/nfkd'.
11377         * lib/uninorm/nfkd.c: New file.
11378         * modules/uninorm/nfkd: New file.
11379
11380         Tests for module 'uninorm/nfc'.
11381         * tests/uninorm/test-nfc.c: New file.
11382         * tests/uninorm/test-u8-nfc.c: New file.
11383         * tests/uninorm/test-u16-nfc.c: New file.
11384         * tests/uninorm/test-u32-nfc.c: New file.
11385         * tests/uninorm/test-u32-nfc-big.sh: New file.
11386         * tests/uninorm/test-u32-nfc-big.c: New file.
11387         * modules/uninorm/nfc-tests: New file.
11388
11389         New module 'uninorm/nfc'.
11390         * lib/uninorm/nfc.c: New file.
11391         * modules/uninorm/nfc: New file.
11392
11393         Tests for module 'uninorm/nfd'.
11394         * tests/uninorm/test-nfd.c: New file.
11395         * tests/uninorm/test-u8-nfd.c: New file.
11396         * tests/uninorm/test-u16-nfd.c: New file.
11397         * tests/uninorm/test-u32-nfd.c: New file.
11398         * tests/uninorm/test-u32-nfd-big.sh: New file.
11399         * tests/uninorm/test-u32-nfd-big.c: New file.
11400         * tests/uninorm/test-u32-normalize-big.h: New file.
11401         * tests/uninorm/test-u32-normalize-big.c: New file.
11402         * tests/uninorm/NormalizationTest.txt: New file, created from
11403         Unicode 5.1.0 NormalizationTest.txt.
11404         * modules/uninorm/nfd-tests: New file.
11405
11406         New module 'uninorm/nfd'.
11407         * lib/uninorm/nfd.c: New file.
11408         * modules/uninorm/nfd: New file.
11409
11410         New module 'uninorm/u32-normalize'.
11411         * lib/uninorm/u32-normalize.c: New file.
11412         * modules/uninorm/u32-normalize: New file.
11413
11414         New module 'uninorm/u16-normalize'.
11415         * lib/uninorm/u16-normalize.c: New file.
11416         * modules/uninorm/u16-normalize: New file.
11417
11418         New module 'uninorm/u8-normalize'.
11419         * lib/uninorm/u8-normalize.c: New file.
11420         * lib/uninorm/normalize-internal.h: New file.
11421         * lib/uninorm/u-normalize-internal.h: New file.
11422         * modules/uninorm/u8-normalize: New file.
11423
11424         New module 'uninorm/decompose-internal'.
11425         * lib/uninorm/decompose-internal.c: New file.
11426         * modules/uninorm/decompose-internal: New file.
11427
11428         Tests for module 'uninorm/composition'.
11429         * tests/uninorm/test-composition.c: New file.
11430         * modules/uninorm/composition-tests: New file.
11431
11432         New module 'uninorm/composition'.
11433         * lib/uninorm/composition.c: New file.
11434         * lib/uninorm/composition-table.gperf: New file, generated by
11435         gen-uni-tables.
11436         * modules/uninorm/composition: New file.
11437
11438         Tests for module 'uninorm/compat-decomposition'.
11439         * tests/uninorm/test-compat-decomposition.c: New file.
11440         * modules/uninorm/compat-decomposition-tests: New file.
11441
11442         New module 'uninorm/compat-decomposition'.
11443         * lib/uninorm/decompose-internal.h: New file.
11444         * lib/uninorm/compat-decomposition.c: New file.
11445         * modules/uninorm/compat-decomposition: New file.
11446
11447         Tests for module 'uninorm/canonical-decomposition'.
11448         * tests/uninorm/test-canonical-decomposition.c: New file.
11449         * modules/uninorm/canonical-decomposition-tests: New file.
11450
11451         New module 'uninorm/canonical-decomposition'.
11452         * lib/uninorm/canonical-decomposition.c: New file.
11453         * modules/uninorm/canonical-decomposition: New file.
11454
11455         Tests for module 'uninorm/decomposition'.
11456         * tests/uninorm/test-decomposition.c: New file.
11457         * modules/uninorm/decomposition-tests: New file.
11458
11459         New module 'uninorm/decomposition'.
11460         * lib/uninorm/decomposition.c: New file.
11461         * modules/uninorm/decomposition: New file.
11462
11463         New module 'uninorm/decomposition-table'.
11464         * lib/uninorm/decomposition-table.h: New file.
11465         * lib/uninorm/decomposition-table.c: New file.
11466         * lib/uninorm/decomposition-table1.h: New file, generated by
11467         gen-uni-tables.
11468         * lib/uninorm/decomposition-table2.h: New file, generated by
11469         gen-uni-tables.
11470         * modules/uninorm/decomposition-table: New file.
11471
11472         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
11473         (UC_DECOMP_*): New enumeration items.
11474         (get_decomposition): New function.
11475         (struct decomp_table): New type.
11476         (output_decomposition, output_decomposition_tables): New functions.
11477         (unicode_composition_exclusions): New variable.
11478         (fill_composition_exclusions, debug_output_composition_tables): New
11479         functions.
11480         (main): Accept one more argument. Invoke fill_composition_exclusions.
11481         Output decomposition and composition tables.
11482
11483         New module 'uninorm/base'.
11484         * lib/uninorm.h: New file.
11485         * lib/unictype.h: Update comment.
11486         * modules/uninorm/base: New file.
11487
11488 2009-02-21  David Lutterkort  <lutter@redhat.com>
11489
11490         Tests for module 'safe-alloc'.
11491         * tests/test-safe-alloc.c: New file.
11492         * modules/safe-alloc-tests: New file.
11493
11494         New module 'safe-alloc'.
11495         * lib/safe-alloc.h: New file.
11496         * lib/safe-alloc.c: New file.
11497         * m4/safe-alloc.m4: New file.
11498         * modules/safe-alloc: New file.
11499         * doc/safe-alloc.texi: New file.
11500         * doc/gnulib.texi: Include it.
11501         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
11502         safe-alloc.
11503
11504 2009-02-18  Bruno Haible  <bruno@clisp.org>
11505
11506         Fix link error on non-glibc systems.
11507         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
11508         variable.
11509         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11510
11511 2009-02-18  Jim Meyering  <meyering@redhat.com>
11512
11513         fts: avoid used-uninitialized error due to recent change
11514         * lib/fts.c (fts_read): Guard uses of the new member,
11515         parent->fts_n_dirs_remaining, since it's not relevant for
11516         the parent of a directory specified on the command-line.
11517
11518 2009-02-17  James Youngman  <jay@gnu.org>
11519             Bruno Haible  <bruno@clisp.org>
11520
11521         * m4/include_next.m4: Reformulate comment.
11522
11523 2009-02-16  Jim Meyering  <meyering@redhat.com>
11524
11525         fts: add #if guards so that the fts_lgpl module still builds
11526         * lib/fts.c: Guard just-added hash-table-using parts with
11527         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
11528         Reported by Simon Josefsson.
11529
11530 2009-02-15  Bruno Haible  <bruno@clisp.org>
11531
11532         * modules/array-mergesort-tests: New file.
11533         * tests/test-array-mergesort.c: New file.
11534
11535         New module 'array-mergesort'.
11536         * modules/array-mergesort: New file.
11537         * lib/array-mergesort.h: New file.
11538
11539 2009-02-15  Bruno Haible  <bruno@clisp.org>
11540
11541         Fix 2009-02-07 commit.
11542         * lib/gen-uni-tables.c (output_predicate, output_category,
11543         output_combclass, output_bidi_category, output_decimal_digit,
11544         output_digit, output_numeric, output_mirror, output_scripts,
11545         output_ident_category, output_simple_mapping): Fix format directives.
11546         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
11547
11548 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
11549
11550         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
11551         fixes are available from IBM.
11552
11553 2009-02-13  Jim Meyering  <meyering@redhat.com>
11554
11555         fts: arrange not to stat non-directories in more cases
11556         This makes GNU find (when it doesn't need to stat each file)
11557         *much* more efficient at traversing reiserfs file systems.
11558         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
11559         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
11560         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
11561         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
11562         (leaf_optimization_applies): New function.
11563         (LCO_hash, LCO_compare): New helper functions.
11564         (link_count_optimize_ok): New function.
11565         (fts_stat): Initialize new member (if dir).
11566         (fts_read): Decrement parent's fts_n_dirs_remaining count if
11567         we've just stat'ed a directory.  Skip the stat call when possible.
11568         ---
11569         Note this AFS-related exchange:
11570         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
11571         and note find's pioctl call in find/fstype.c.
11572         But that is necessary only if you want to enable the
11573         optimization for AFS, and for now, I don't.
11574
11575         fts: move a function definition "up" (no semantic change)
11576         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
11577         "up" to precede upcoming use of a related function.
11578
11579 2009-02-11  Jim Meyering  <meyering@redhat.com>
11580
11581         fts: correct internal computation of nlinks (optimization-related)
11582         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
11583         whether the current entry is a directory, so don't test it.
11584
11585 2009-02-10  Bruno Haible  <bruno@clisp.org>
11586
11587         Tests for module 'uniwbrk/ulc-wordbreaks'.
11588         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
11589         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
11590         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
11591
11592         Tests for module 'uniwbrk/u32-wordbreaks'.
11593         * modules/uniwbrk/u32-wordbreaks-tests: New file.
11594         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
11595
11596         Tests for module 'uniwbrk/u16-wordbreaks'.
11597         * modules/uniwbrk/u16-wordbreaks-tests: New file.
11598         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
11599
11600         Tests for module 'uniwbrk/u8-wordbreaks'.
11601         * modules/uniwbrk/u8-wordbreaks-tests: New file.
11602         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
11603
11604 2009-02-10  Bruno Haible  <bruno@clisp.org>
11605
11606         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
11607         property.
11608         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
11609         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
11610         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
11611
11612 2009-02-10  Simon Josefsson  <simon@josefsson.org>
11613
11614         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
11615         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
11616
11617 2009-02-10  Bruno Haible  <bruno@clisp.org>
11618
11619         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
11620         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
11621         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
11622         * lib/unilbrk/u8-possible-linebreaks.c: Update.
11623         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
11624         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
11625
11626 2009-02-09  Simon Josefsson  <simon@josefsson.org>
11627
11628         * lib/sockets.h (gl_fd_to_handle): New function.
11629
11630         * tests/test-sockets.c: Call gl_fd_to_handle.
11631
11632 2009-02-09  Bruno Haible  <bruno@clisp.org>
11633
11634         * doc/havelib.texi: Document the conventions on bi-arch systems.
11635
11636 2009-02-08  Bruno Haible  <bruno@clisp.org>
11637
11638         Document the AC_LIB_LINKFLAGS macro.
11639         * doc/havelib.texi: New file, mostly written on 2005-05-24.
11640         * doc/gnulib.texi: Include it.
11641
11642 2009-02-08  Bruno Haible  <bruno@clisp.org>
11643
11644         Fix wrong order of sections, compared to TOC.
11645         * doc/gnulib.texi: Include relocatable-maint.texi after the
11646         "Regular expressions" node, not before.
11647
11648 2009-02-08  Bruno Haible  <bruno@clisp.org>
11649
11650         Tests for module 'unicase/totitle'.
11651         * modules/unicase/totitle-tests: New file.
11652
11653         Tests for module 'unicase/tolower'.
11654         * modules/unicase/tolower-tests: New file.
11655
11656         Tests for module 'unicase/toupper'.
11657         * modules/unicase/toupper-tests: New file.
11658         * tests/unicase/test-mapping-part1.h: New file.
11659         * tests/unicase/test-mapping-part2.h: New file.
11660
11661         New module 'unicase/totitle'.
11662         * modules/unicase/totitle: New file.
11663         * lib/unicase/totitle.c: New file.
11664
11665         New module 'unicase/tolower'.
11666         * modules/unicase/tolower: New file.
11667         * lib/unicase/tolower.c: New file.
11668
11669         New module 'unicase/toupper'.
11670         * modules/unicase/toupper: New file.
11671         * lib/unicase/toupper.c: New file.
11672         * lib/unicase/simple-mapping.h: New file.
11673
11674         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
11675         (mapping_table): New structure.
11676         (output_simple_mapping): New function.
11677         (main): Invoke output_simple_mapping_test and output_simple_mapping.
11678         * modules/gen-uni-tables (Description): Update.
11679         * lib/unicase/toupper.h: New file, automatically generated by
11680         gen-uni-tables.
11681         * lib/unicase/tolower.h: New file, automatically generated by
11682         gen-uni-tables.
11683         * lib/unicase/totitle.h: New file, automatically generated by
11684         gen-uni-tables.
11685         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
11686         gen-uni-tables.
11687         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
11688         gen-uni-tables.
11689         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
11690         gen-uni-tables.
11691
11692         New module 'unicase/base'.
11693         * modules/unicase/base: New file.
11694         * lib/unicase.h: New file.
11695
11696 2009-02-08  Bruno Haible  <bruno@clisp.org>
11697
11698         New module 'uniwbrk/ulc-wordbreaks'.
11699         * modules/uniwbrk/ulc-wordbreaks: New file.
11700         * lib/uniwbrk/ulc-wordbreaks.c: New file.
11701
11702         New module 'uniwbrk/u32-wordbreaks'.
11703         * modules/uniwbrk/u32-wordbreaks: New file.
11704         * lib/uniwbrk/u32-wordbreaks.c: New file.
11705
11706         New module 'uniwbrk/u16-wordbreaks'.
11707         * modules/uniwbrk/u16-wordbreaks: New file.
11708         * lib/uniwbrk/u16-wordbreaks.c: New file.
11709
11710         New module 'uniwbrk/u8-wordbreaks'.
11711         * modules/uniwbrk/u8-wordbreaks: New file.
11712         * lib/uniwbrk/u8-wordbreaks.c: New file.
11713         * lib/uniwbrk/u-wordbreaks.h: New file.
11714
11715         New module 'uniwbrk/table'.
11716         * modules/uniwbrk/table: New file.
11717         * lib/uniwbrk/wbrktable.h: New file.
11718         * lib/uniwbrk/wbrktable.c: New file.
11719
11720         New module 'uniwbrk/wordbreak-property'.
11721         * modules/uniwbrk/wordbreak-property: New file.
11722         * lib/uniwbrk/wordbreak-property.c: New file.
11723
11724         * lib/gen-uni-tables.c (WBP_*): New enum items.
11725         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
11726         (unicode_org_wbp): New variable.
11727         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
11728         New functions.
11729         (wbp_table): New structure.
11730         (output_wbp, output_wbrk_tables): New functions.
11731         (main): Accept additional argument. Invoke fill_org_wbp,
11732         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
11733         output_wbrk_tables.
11734         * modules/gen-uni-tables (Description): Update.
11735         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
11736         gen-uni-tables.
11737
11738         New module 'uniwbrk/base'.
11739         * modules/uniwbrk/base: New file.
11740         * lib/uniwbrk.h: New file.
11741
11742 2009-02-08  Bruno Haible  <bruno@clisp.org>
11743
11744         Update to Unicode 5.1.0.
11745         * lib/gen-uni-tables.c (is_property_alphabetic): Include
11746         U+2185..U+2188.
11747         (is_property_default_ignorable_code_point): Don't include characters
11748         of category Cc or Cs and not-a-characters.
11749         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
11750         U+0D79, U+109E, U+109F, U+A60C.
11751         * lib/unictype/bidi_of.h: Regenerated.
11752         * lib/unictype/blocks.h: Regenerated.
11753         * lib/unictype/categ_C.h: Regenerated.
11754         * lib/unictype/categ_Cf.h: Regenerated.
11755         * lib/unictype/categ_Cn.h: Regenerated.
11756         * lib/unictype/categ_L.h: Regenerated.
11757         * lib/unictype/categ_Ll.h: Regenerated.
11758         * lib/unictype/categ_Lm.h: Regenerated.
11759         * lib/unictype/categ_Lo.h: Regenerated.
11760         * lib/unictype/categ_Lu.h: Regenerated.
11761         * lib/unictype/categ_M.h: Regenerated.
11762         * lib/unictype/categ_Mc.h: Regenerated.
11763         * lib/unictype/categ_Me.h: Regenerated.
11764         * lib/unictype/categ_Mn.h: Regenerated.
11765         * lib/unictype/categ_N.h: Regenerated.
11766         * lib/unictype/categ_Nd.h: Regenerated.
11767         * lib/unictype/categ_Nl.h: Regenerated.
11768         * lib/unictype/categ_No.h: Regenerated.
11769         * lib/unictype/categ_P.h: Regenerated.
11770         * lib/unictype/categ_Pd.h: Regenerated.
11771         * lib/unictype/categ_Pe.h: Regenerated.
11772         * lib/unictype/categ_Pf.h: Regenerated.
11773         * lib/unictype/categ_Pi.h: Regenerated.
11774         * lib/unictype/categ_Po.h: Regenerated.
11775         * lib/unictype/categ_Ps.h: Regenerated.
11776         * lib/unictype/categ_S.h: Regenerated.
11777         * lib/unictype/categ_Sk.h: Regenerated.
11778         * lib/unictype/categ_Sm.h: Regenerated.
11779         * lib/unictype/categ_So.h: Regenerated.
11780         * lib/unictype/categ_of.h: Regenerated.
11781         * lib/unictype/combining.h: Regenerated.
11782         * lib/unictype/ctype_alnum.h: Regenerated.
11783         * lib/unictype/ctype_alpha.h: Regenerated.
11784         * lib/unictype/ctype_graph.h: Regenerated.
11785         * lib/unictype/ctype_lower.h: Regenerated.
11786         * lib/unictype/ctype_print.h: Regenerated.
11787         * lib/unictype/ctype_punct.h: Regenerated.
11788         * lib/unictype/ctype_upper.h: Regenerated.
11789         * lib/unictype/decdigit.h: Regenerated.
11790         * lib/unictype/digit.h: Regenerated.
11791         * lib/unictype/mirror.h: Regenerated.
11792         * lib/unictype/numeric.h: Regenerated.
11793         * lib/unictype/pr_alphabetic.h: Regenerated.
11794         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
11795         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
11796         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
11797         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
11798         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
11799         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
11800         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
11801         * lib/unictype/pr_combining.h: Regenerated.
11802         * lib/unictype/pr_dash.h: Regenerated.
11803         * lib/unictype/pr_decimal_digit.h: Regenerated.
11804         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
11805         * lib/unictype/pr_deprecated.h: Regenerated.
11806         * lib/unictype/pr_diacritic.h: Regenerated.
11807         * lib/unictype/pr_extender.h: Regenerated.
11808         * lib/unictype/pr_format_control.h: Regenerated.
11809         * lib/unictype/pr_grapheme_base.h: Regenerated.
11810         * lib/unictype/pr_grapheme_extend.h: Regenerated.
11811         * lib/unictype/pr_grapheme_link.h: Regenerated.
11812         * lib/unictype/pr_id_continue.h: Regenerated.
11813         * lib/unictype/pr_id_start.h: Regenerated.
11814         * lib/unictype/pr_ideographic.h: Regenerated.
11815         * lib/unictype/pr_ignorable_control.h: Regenerated.
11816         * lib/unictype/pr_lowercase.h: Regenerated.
11817         * lib/unictype/pr_math.h: Regenerated.
11818         * lib/unictype/pr_numeric.h: Regenerated.
11819         * lib/unictype/pr_other_alphabetic.h: Regenerated.
11820         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
11821         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
11822         * lib/unictype/pr_other_id_continue.h: Regenerated.
11823         * lib/unictype/pr_other_lowercase.h: Regenerated.
11824         * lib/unictype/pr_other_math.h: Regenerated.
11825         * lib/unictype/pr_punctuation.h: Regenerated.
11826         * lib/unictype/pr_sentence_terminal.h: Regenerated.
11827         * lib/unictype/pr_soft_dotted.h: Regenerated.
11828         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
11829         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
11830         * lib/unictype/pr_unified_ideograph.h: Regenerated.
11831         * lib/unictype/pr_uppercase.h: Regenerated.
11832         * lib/unictype/pr_xid_continue.h: Regenerated.
11833         * lib/unictype/pr_xid_start.h: Regenerated.
11834         * lib/unictype/pr_zero_width.h: Regenerated.
11835         * lib/unictype/scripts.h: Regenerated.
11836         * lib/unictype/scripts_byname.gperf: Regenerated.
11837         * lib/unictype/sy_java_ident.h: Regenerated.
11838         * lib/unilbrk/lbrkprop1.h: Regenerated.
11839         * lib/unilbrk/lbrkprop2.h: Regenerated.
11840         * tests/unictype/test-categ_C.c: Regenerated.
11841         * tests/unictype/test-categ_Cf.c: Regenerated.
11842         * tests/unictype/test-categ_Cn.c: Regenerated.
11843         * tests/unictype/test-categ_L.c: Regenerated.
11844         * tests/unictype/test-categ_Ll.c: Regenerated.
11845         * tests/unictype/test-categ_Lm.c: Regenerated.
11846         * tests/unictype/test-categ_Lo.c: Regenerated.
11847         * tests/unictype/test-categ_Lu.c: Regenerated.
11848         * tests/unictype/test-categ_M.c: Regenerated.
11849         * tests/unictype/test-categ_Mc.c: Regenerated.
11850         * tests/unictype/test-categ_Me.c: Regenerated.
11851         * tests/unictype/test-categ_Mn.c: Regenerated.
11852         * tests/unictype/test-categ_N.c: Regenerated.
11853         * tests/unictype/test-categ_Nd.c: Regenerated.
11854         * tests/unictype/test-categ_Nl.c: Regenerated.
11855         * tests/unictype/test-categ_No.c: Regenerated.
11856         * tests/unictype/test-categ_P.c: Regenerated.
11857         * tests/unictype/test-categ_Pd.c: Regenerated.
11858         * tests/unictype/test-categ_Pe.c: Regenerated.
11859         * tests/unictype/test-categ_Pf.c: Regenerated.
11860         * tests/unictype/test-categ_Pi.c: Regenerated.
11861         * tests/unictype/test-categ_Po.c: Regenerated.
11862         * tests/unictype/test-categ_Ps.c: Regenerated.
11863         * tests/unictype/test-categ_S.c: Regenerated.
11864         * tests/unictype/test-categ_Sk.c: Regenerated.
11865         * tests/unictype/test-categ_Sm.c: Regenerated.
11866         * tests/unictype/test-categ_So.c: Regenerated.
11867         * tests/unictype/test-ctype_alnum.c: Regenerated.
11868         * tests/unictype/test-ctype_alpha.c: Regenerated.
11869         * tests/unictype/test-ctype_graph.c: Regenerated.
11870         * tests/unictype/test-ctype_lower.c: Regenerated.
11871         * tests/unictype/test-ctype_print.c: Regenerated.
11872         * tests/unictype/test-ctype_punct.c: Regenerated.
11873         * tests/unictype/test-ctype_upper.c: Regenerated.
11874         * tests/unictype/test-decdigit.h: Regenerated.
11875         * tests/unictype/test-digit.h: Regenerated.
11876         * tests/unictype/test-numeric.h: Regenerated.
11877         * tests/unictype/test-pr_alphabetic.c: Regenerated.
11878         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
11879         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
11880         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
11881         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
11882         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
11883         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
11884         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
11885         * tests/unictype/test-pr_combining.c: Regenerated.
11886         * tests/unictype/test-pr_dash.c: Regenerated.
11887         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
11888         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
11889         * tests/unictype/test-pr_deprecated.c: Regenerated.
11890         * tests/unictype/test-pr_diacritic.c: Regenerated.
11891         * tests/unictype/test-pr_extender.c: Regenerated.
11892         * tests/unictype/test-pr_format_control.c: Regenerated.
11893         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
11894         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
11895         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
11896         * tests/unictype/test-pr_id_continue.c: Regenerated.
11897         * tests/unictype/test-pr_id_start.c: Regenerated.
11898         * tests/unictype/test-pr_ideographic.c: Regenerated.
11899         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
11900         * tests/unictype/test-pr_lowercase.c: Regenerated.
11901         * tests/unictype/test-pr_math.c: Regenerated.
11902         * tests/unictype/test-pr_numeric.c: Regenerated.
11903         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
11904         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
11905         Regenerated.
11906         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
11907         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
11908         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
11909         * tests/unictype/test-pr_other_math.c: Regenerated.
11910         * tests/unictype/test-pr_punctuation.c: Regenerated.
11911         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
11912         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
11913         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
11914         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
11915         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
11916         * tests/unictype/test-pr_uppercase.c: Regenerated.
11917         * tests/unictype/test-pr_xid_continue.c: Regenerated.
11918         * tests/unictype/test-pr_xid_start.c: Regenerated.
11919         * tests/unictype/test-pr_zero_width.c: Regenerated.
11920
11921         Update to Unicode 5.1.0.
11922         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
11923         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
11924         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
11925         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
11926         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
11927         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
11928         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
11929         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
11930         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
11931         (nonspacing_table_ind): Update.
11932         * tests/uniwidth/test-uc_width2.sh: Update expected result.
11933
11934         Update to Unicode 5.1.0.
11935         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
11936         code transform.
11937         * lib/uniname/uniname.c (unicode_character_name,
11938         unicode_name_character): Add the range 0x1Fxxx to the code transform.
11939         * lib/uniname/uninames.h: Regenerated.
11940         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
11941
11942 2009-02-07  Bruno Haible  <bruno@clisp.org>
11943
11944         Merge gen-ctype and gen-lbrk into a single program.
11945         * lib/gen-uni-tables.c: New file, incorporating
11946         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
11947         Add directory prefixes to the names of the generated files.
11948         * lib/unictype/gen-ctype.c: Remove file.
11949         * lib/unilbrk/gen-lbrk.c: Remove file.
11950         * modules/gen-uni-tables: New file.
11951         * modules/unictype/gen-ctype: Remove file.
11952         * modules/unilbrk/gen-lbrk: Remove file.
11953
11954 2009-02-07  Bruno Haible  <bruno@clisp.org>
11955
11956         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
11957
11958         New module 'unistr/u32-strcoll'.
11959         * modules/unistr/u32-strcoll: New file.
11960         * lib/unistr/u32-strcoll.c: New file.
11961
11962         New module 'unistr/u16-strcoll'.
11963         * modules/unistr/u16-strcoll: New file.
11964         * lib/unistr/u16-strcoll.c: New file.
11965
11966         New module 'unistr/u8-strcoll'.
11967         * modules/unistr/u8-strcoll: New file.
11968         * lib/unistr/u8-strcoll.c: New file.
11969         * lib/unistr/u-strcoll.h: New file.
11970
11971 2009-02-07  Bruno Haible  <bruno@clisp.org>
11972
11973         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
11974         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
11975         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
11976         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
11977         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
11978         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
11979
11980 2009-02-07  Bruno Haible  <bruno@clisp.org>
11981
11982         Make 64-bit clean.
11983         * lib/unictype/gen-ctype.c (output_predicate, output_category,
11984         output_combclass, output_bidi_category, output_decimal_digit,
11985         output_digit, output_numeric, output_mirror, output_scripts,
11986         output_ident_category): Use proper width specifier in format strings.
11987
11988 2009-02-07  Bruno Haible  <bruno@clisp.org>
11989
11990         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
11991         failure behaviour.
11992
11993 2009-02-07  Jim Meyering  <meyering@redhat.com>
11994
11995         regex: avoid compilation failure with upcoming gcc-4.4
11996         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
11997         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
11998         "... error: integer overflow in preprocessor expression".
11999
12000 2009-02-05  Ben Pfaff  <blp@gnu.org>
12001
12002         Fix link errors on Windows when close module is used.
12003         * modules/close: Add $(LIB_CLOSE) to Link section.
12004         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
12005         $(LIB_CLOSE) on Windows.
12006
12007 2009-02-05  Jim Meyering  <meyering@redhat.com>
12008
12009         still avoid unused-parameter warnings, but do it cleanly
12010         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
12011         (get_fs_usage): Cast to void instead.
12012         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
12013         (dev_from_mount_options, read_file_system_list): Cast to void.
12014         Prompted by Bruno Haible.
12015
12016 2009-02-04  Jim Meyering  <meyering@redhat.com>
12017
12018         fsusage.c: correct copyright year
12019         * lib/fsusage.c: Reflect year in which the change is pushed into
12020
12021         avoid misc. warnings
12022         * lib/fsusage.c (UNUSED_PARAM): Define.
12023         (get_fs_usage): Mark parameter "disk" as unused.
12024         * lib/getugroups.c (getgrent): Use "void" in prototype.
12025         * lib/mountlist.c: Mark unused parameters.
12026         (read_file_system_list): Declare a local with "const".
12027         * lib/nanosleep.c (getnow): Declare static.
12028         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
12029
12030         dirfd: set errno upon failure
12031         * lib/dirfd.c: Include <errno.h>.
12032         Set errno to ENOTSUP when returning -1.
12033         * modules/dirfd (Depends-on): Add errno.
12034         Suggested by John Kodis <kodis@comcast.net>.
12035
12036 2009-02-01  Bruno Haible  <bruno@clisp.org>
12037
12038         Don't assume sizeof (long) >= sizeof (void *).
12039         * lib/memcmp.c: Include stdint.h.
12040         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
12041         srcp2 to 'const byte *'.
12042         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
12043         types to uintptr_t.
12044         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
12045         * modules/memcmp (Depends-on): Add stdint.
12046         Reported by Ozkan Sezer <sezeroz@gmail.com>.
12047
12048 2009-01-30  Eric Blake  <ebb9@byu.net>
12049
12050         fix more require-before-expand issues
12051         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
12052         expand, AC_PROG_AWK.
12053         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
12054
12055 2009-01-28  Eric Blake  <ebb9@byu.net>
12056
12057         version-etc: use consistent URL formatting
12058         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
12059         Improve formatting.  Use fputs for string without %.
12060
12061 2009-01-28  Jim Meyering  <meyering@redhat.com>
12062
12063         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
12064         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
12065         "underquoted definition of NAME" from autoconf-2.59.
12066
12067 2009-01-28  Bruno Haible  <bruno@clisp.org>
12068
12069         * doc/gnulib.texi: Add "Obsolete modules" to index.
12070
12071 2009-01-28  Jim Meyering  <meyering@redhat.com>
12072
12073         useless-if-before-free: recognize more variants
12074         * build-aux/useless-if-before-free: Also recognize e.g.,
12075         if (NULL != p) free (p);
12076
12077 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
12078
12079         test-getaddrinfo: skip (don't fail) this test when there's no network
12080         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
12081         on the presumption that it means you lack network access.
12082
12083 2009-01-26  Jim Meyering  <meyering@redhat.com>
12084
12085         fflush: avoid warnings on modern systems
12086         * lib/fflush.c (rpl_fflush): Move declarations of locals,
12087         pos and result, into scopes where they're used.
12088
12089 2009-01-26  Eric Blake  <ebb9@byu.net>
12090
12091         Silence warning reintroduced by recent extensions patch.
12092         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
12093         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
12094         autoconf.
12095
12096         Backport improved autoconf semantics of AC_DEFUN_ONCE.
12097         * m4/00gnulib.m4: New file.
12098         * gnulib-tool (func_get_filelist): Always use it.
12099         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
12100         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
12101
12102 2009-01-25  Bruno Haible  <bruno@clisp.org>
12103
12104         Make test-quotearg work on MacOS X and AIX.
12105         * tests/test-quotearg.sh: New file.
12106         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
12107         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
12108         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
12109         include <libintl.h>.
12110         (fake_locale): Remove variable.
12111         (gettext, dgettext, dcgettext): Remove functions.
12112         (main): Instead of setting a fake locale, set a real locale. Call
12113         textdomain and bindtextdomain.
12114         * modules/quotearg-tests (Files): Add the new files.
12115         (Depends-on): Add gettext, setenv, unsetenv.
12116         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
12117         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
12118         Augment TESTS_ENVIRONMENT.
12119
12120 2009-01-25  Bruno Haible  <bruno@clisp.org>
12121
12122         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
12123         fr_FR.ISO8859-1 locale on MacOS X.
12124         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
12125         ja_JP.eucJP locale on MacOS X.
12126         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
12127         zh_CN.GB18030 locale on MacOS X.
12128
12129 2009-01-25  Bruno Haible  <bruno@clisp.org>
12130
12131         Avoid link errors on MacOS X 10.3.
12132         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
12133         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
12134
12135 2009-01-25  Bruno Haible  <bruno@clisp.org>
12136
12137         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
12138         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
12139         * modules/pipe (Files): Remove m4/posix_spawn.m4.
12140         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
12141         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
12142         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
12143         posix_spawnattr_init, posix_spawnattr_setsigmask,
12144         posix_spawnattr_setflags, posix_spawnattr_destroy.
12145
12146         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
12147         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
12148         * modules/execute (Files): Remove m4/posix_spawn.m4.
12149         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
12150         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
12151         posix_spawnattr_init, posix_spawnattr_setsigmask,
12152         posix_spawnattr_setflags, posix_spawnattr_destroy.
12153
12154 2009-01-25  Bruno Haible  <bruno@clisp.org>
12155
12156         * lib/glthread/threadlib.c: Include <stdlib.h>.
12157
12158 2009-01-25  Bruno Haible  <bruno@clisp.org>
12159
12160         * lib/glthread/threadlib.c (dummy): New declaration.
12161
12162 2009-01-25  Bruno Haible  <bruno@clisp.org>
12163
12164         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
12165         multibyte characters also for the GB18030 encoding. Don't crash when
12166         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
12167
12168 2009-01-25  Bruno Haible  <bruno@clisp.org>
12169
12170         Avoid redefining 'struct random_data' on OSF/1 5.1.
12171         * lib/stdlib.in.h: Include <random.h> if it exists.
12172         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
12173         HAVE_RANDOM_H. Include <random.h> when testing whether
12174         'struct random_data' exists.
12175         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
12176
12177 2009-01-25  Bruno Haible  <bruno@clisp.org>
12178
12179         Don't install charset.alias on MacOS X >= 10.3.
12180         * lib/localcharset.c (DARWIN7): New macro.
12181         (get_charset_aliases): Hardcode the result for Darwin7.
12182         * modules/localcharset (install-exec-local): Don't install
12183         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
12184
12185 2009-01-25  Bruno Haible  <bruno@clisp.org>
12186
12187         Don't install charset.alias on mingw and Cygwin.
12188         * modules/localcharset (install-exec-local): Don't install
12189         charset.alias on mingw and Cygwin, if the file does not yet exist.
12190         The result for these platforms is hardcoded in localcharset.c.
12191
12192 2009-01-25  Bruno Haible  <bruno@clisp.org>
12193
12194         Make it possible again to use AC_GNU_SOURCE together with gnulib.
12195         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
12196         before requiring AC_USE_SYSTEM_EXTENSIONS.
12197
12198 2009-01-25  Jim Meyering  <meyering@redhat.com>
12199
12200         c-strtod: avoid warnings
12201         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
12202         "assignment discards qualifiers from pointer target type" warnings.
12203
12204 2009-01-24  Bruno Haible  <bruno@clisp.org>
12205
12206         Add support for non-UTF-8 locales on MacOS X.
12207         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
12208         canonical encodings. For Darwin 7 and newer, don't map traditional
12209         encodings to UTF-8.
12210         Reported by Vincent Lefevre <vincent@vinc17.org>
12211         at <http://savannah.gnu.org/bugs/?25235>.
12212
12213 2009-01-24  Bruno Haible  <bruno@clisp.org>
12214
12215         * doc/gnulib.texi (Obsolete modules): New section.
12216         Reported by Mike Frysinger <vapier@gentoo.org>.
12217
12218 2009-01-24  Bruno Haible  <bruno@clisp.org>
12219
12220         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
12221         (%.dvi): New rule.
12222
12223 2009-01-24  Bruno Haible  <bruno@clisp.org>
12224
12225         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
12226         Reported by Eric Blake.
12227
12228 2009-01-24  Bruno Haible  <bruno@clisp.org>
12229
12230         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
12231         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
12232         Reported by Gary V. Vaughan <gary@gnu.org>.
12233
12234 2009-01-24  Bruno Haible  <bruno@clisp.org>
12235
12236         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
12237
12238 2009-01-23  Bruno Haible  <bruno@clisp.org>
12239
12240         Make c-strtod, c-strtold usable in libraries.
12241         * lib/c-strtod.c: Include string.h instead of xalloc.h.
12242         (C_STRTOD): Call strdup instead of xstrdup.
12243         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
12244         * modules/c-strtold (Depends-on): Likewise.
12245         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
12246         * NEWS: Mention the change.
12247         Reported by Michael Gold <mgold@ncf.ca>.
12248
12249 2009-01-23  Jim Meyering  <meyering@redhat.com>
12250
12251         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
12252         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
12253         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
12254
12255 2009-01-23  Simon Josefsson  <simon@josefsson.org>
12256
12257         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
12258         GNU CoreUtils.
12259         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
12260         * modules/version-etc (Description): Update.
12261
12262 2009-01-22  Bruno Haible  <bruno@clisp.org>
12263
12264         Cache the C locale object.
12265         * lib/c-strtod.c (c_locale_cache): New variable.
12266         (c_locale): New function.
12267         (C_STRTOD): Use it, and don't call freelocale.
12268         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
12269         Suggested by Paolo Bonzini.
12270
12271 2009-01-21  Bruno Haible  <bruno@clisp.org>
12272
12273         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
12274         conditions other than overflow.
12275
12276 2009-01-21  Bruno Haible  <bruno@clisp.org>
12277
12278         * lib/c-strtod.c: Include errno.h.
12279         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
12280         value from STRTOD_L and STRTOD.
12281
12282 2009-01-21  Bruno Haible  <bruno@clisp.org>
12283         and Jim Meyering  <meyering@redhat.com>
12284
12285         nanosleep: skip configure test (fail it) for apple universal builds
12286         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
12287         universal builds, assume that nanosleep does not work.
12288         * modules/nanosleep (Depends-on): Add multiarch.
12289
12290         mktime: skip configure test (fail it) for apple universal builds
12291         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
12292         universal builds, assume that mktime does not work.
12293         * modules/mktime (Depends-on): Add multiarch.
12294
12295 2009-01-21  Eric Blake  <ebb9@byu.net>
12296
12297         multiarch: avoid expand-before-require warning
12298         * modules/multiarch (configure.ac): Require, rather than expand,
12299         gl_MULTIARCH.
12300         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
12301         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
12302         enforce that all clients require it.  Partial reversion of
12303         2008-12-29 patch.
12304
12305         error: avoid expand-before-require warning
12306         * modules/errno (configure.ac): Require, rather than expand,
12307         gl_HEADER_ERRNO_H.
12308         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
12309         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
12310         enforce that all clients require it.
12311
12312         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
12313         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
12314         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
12315         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
12316
12317 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
12318
12319         Revert:
12320         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
12321
12322         regex: do not depend on obsolete modules.
12323         * modules/regex: Remove memcmp and memmove.
12324
12325 2009-01-20  Bruno Haible  <bruno@clisp.org>
12326
12327         Make the 'link' module link on Windows NT 4.
12328         * lib/link.c (_WIN32_WINNT): Don't define.
12329         (CreateHardLinkFuncType): New type.
12330         (CreateHardLinkFunc, initialized): New variables.
12331         (initialize): New function.
12332         (link): Invoke CreateHardLink indirectly through the function pointer.
12333
12334 2009-01-20  Bruno Haible  <bruno@clisp.org>
12335
12336         Fix compilation failure on mingw.
12337         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
12338
12339 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
12340
12341         * doc/c-strtod.texi: Mention a couple of restrictions.
12342
12343 2009-01-20  Jim Meyering  <meyering@redhat.com>
12344
12345         gettimeofday: move more declarations out of functions
12346         * lib/gettimeofday.c: Move extern declarations of tzset and
12347         gmtime out of containing functions.  Prompted by Bruno Haible.
12348
12349 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
12350
12351         regex: do not depend on obsolete modules.
12352         * modules/regex: Remove memcmp and memmove.
12353
12354 2009-01-19  Bruno Haible  <bruno@clisp.org>
12355
12356         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
12357         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
12358         gl_BIGENDIAN, not AC_C_BIGENDIAN.
12359         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
12360         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
12361
12362 2009-01-19  Bruno Haible  <bruno@clisp.org>
12363
12364         * tests/test-link.c: Include <errno.h>.
12365         (main): Exit with code 77 when a hard link cannot be created due to
12366         the file system.
12367         * tests/test-link.sh: Skip test when a hard link cannot be created due
12368         to the file system.
12369         Suggested by Eric Blake.
12370
12371 2009-01-19  Martin Lambers  <marlam@marlam.de>
12372
12373         * modules/link-tests: New file.
12374         * tests/test-link.sh: New file.
12375         * tests/test-link.c: New file.
12376
12377 2009-01-19  Eric Blake  <ebb9@byu.net>
12378
12379         doc: mention another function added in cygwin 1.7.0
12380         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
12381         Another new function in cygwin 1.7.
12382
12383 2009-01-19  Bruno Haible  <bruno@clisp.org>
12384
12385         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
12386         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
12387         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
12388         gl_BIGENDIAN, not AC_C_BIGENDIAN.
12389         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
12390         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
12391         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
12392         * m4/md4.m4 (gl_MD4): Likewise.
12393         * m4/md5.m4 (gl_MD5): Likewise.
12394         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
12395         * m4/sha1.m4 (gl_SHA1): Likewise.
12396         * m4/sha256.m4 (gl_SHA256): Likewise.
12397         * m4/sha512.m4 (gl_SHA512): Likewise.
12398
12399 2009-01-19  Bruno Haible  <bruno@clisp.org>
12400
12401         * modules/uniname/uniname-tests (Depends-on): Add progname.
12402         * tests/uniname/test-uninames.c: Include progname.h.
12403         (main): Call set_program_name.
12404
12405         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
12406         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
12407         (main): Call set_program_name.
12408
12409         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
12410         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
12411         (main): Call set_program_name.
12412
12413         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
12414         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
12415         (main): Call set_program_name.
12416
12417         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
12418         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
12419         (main): Call set_program_name.
12420
12421         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
12422         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
12423         (main): Call set_program_name.
12424
12425         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
12426         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
12427         (main): Call set_program_name.
12428
12429         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
12430         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
12431         (main): Call set_program_name.
12432
12433         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
12434         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
12435         (main): Call set_program_name.
12436
12437 2009-01-19  Eric Blake  <ebb9@byu.net>
12438
12439         test-unistd: test previous patch
12440         * tests/test-unistd.c: Test *_FILENO macros.
12441
12442         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
12443         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
12444         Guarantee a definition.
12445         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
12446         * modules/unistd-safer (Depends-on): Add dependency on unistd.
12447         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
12448         * lib/dup-safer.c (STDERR_FILENO): Likewise.
12449         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
12450         Likewise.
12451         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
12452         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
12453         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
12454         Likewise.
12455         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
12456         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
12457         (STDERR_FILENO): Likewise.
12458         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
12459         (STDERR_FILENO): Likewise.
12460         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
12461         (STDERR_FILENO): Likewise.
12462         Reported by Elbert Pol.
12463
12464 2009-01-19  Eric Blake  <ebb9@byu.net>
12465
12466         doc: mention more functions added in cygwin 1.7.0
12467         * doc/posix-functions/abort.texi (abort): Update wording related
12468         to cygwin.
12469         * doc/posix-functions/daylight.texi (daylight): Likewise.
12470         * doc/posix-functions/optarg.texi (optarg): Likewise.
12471         * doc/posix-functions/optarg.texi (opterr): Likewise.
12472         * doc/posix-functions/optarg.texi (optind): Likewise.
12473         * doc/posix-functions/optarg.texi (optopt): Likewise.
12474         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
12475         worked in 1.5.x, and was withdrawn in 1.7.
12476         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
12477         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
12478         cygwin versions.
12479         * doc/posix-functions/perror.texi (perror): Likewise.
12480         * doc/posix-functions/printf.texi (printf): Likewise.
12481         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
12482         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
12483         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
12484         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
12485         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
12486         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
12487         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
12488         Likewise.
12489         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
12490         Likewise.
12491         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
12492         this function.
12493         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
12494         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
12495         Likewise.
12496         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
12497         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
12498         * doc/posix-functions/confstr.texi (confstr): Likewise.
12499         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
12500         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
12501         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
12502         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
12503         * doc/posix-functions/fputws.texi (fputws): Likewise.
12504         * doc/posix-functions/fwide.texi (fwide): Likewise.
12505         * doc/posix-functions/getwc.texi (getwc): Likewise.
12506         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
12507         * doc/posix-functions/putwc.texi (putwc): Likewise.
12508         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
12509         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
12510         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
12511         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
12512         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
12513         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
12514         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
12515         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
12516         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
12517         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
12518         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
12519
12520 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
12521
12522         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
12523         * lib/ioctl.c: Include <sys/ioctl.h>.
12524
12525 2009-01-19  Simon Josefsson  <simon@josefsson.org>
12526
12527         * modules/getdate-tests (Depends-on): Add progname.
12528         * tests/test-getdate.c: Use progname module, to avoid link errors
12529         on non-glibc systems.
12530
12531 2009-01-18  Simon Josefsson  <simon@josefsson.org>
12532
12533         * modules/filenamecat-tests (Depends-on): Add progname.
12534         * modules/fstrcmp-tests (Depends-on): Likewise.
12535
12536         * tests/test-filenamecat.c: Use progname module, to avoid link
12537         errors on non-glibc systems.
12538         * tests/test-fstrcmp.c: Likewise.
12539
12540 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
12541
12542         gettimeofday: avoid warning: nested extern declaration of 'localtime'
12543         * lib/gettimeofday.c: Move extern declaration out of function.
12544
12545 2009-01-18  Bruno Haible  <bruno@clisp.org>
12546
12547         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
12548         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
12549         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
12550
12551 2009-01-18  Bruno Haible  <bruno@clisp.org>
12552
12553         * lib/strftime.c (MEMPCPY): Remove unused macro.
12554         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
12555
12556 2009-01-18  Martin Lambers  <marlam@marlam.de>
12557
12558         New module 'link'.
12559         * lib/unistd.in.h (link): New declaration.
12560         * lib/link.c: New file.
12561         * m4/link.m4: New file.
12562         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
12563         HAVE_LINK.
12564         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
12565         * modules/link: New file.
12566         * doc/posix-functions/link.texi: Mention the new module.
12567
12568 2009-01-18  Bruno Haible  <bruno@clisp.org>
12569
12570         * tests/test-avltree_list.c (main): Call set_program_name.
12571         * tests/test-avltree_oset.c (main): Likewise.
12572         * tests/test-obstack-printf.c: Include progname.h.
12573         (main): Call set_program_name.
12574         * tests/test-quotearg.c: Include progname.h.
12575         (main): Call set_program_name.
12576         * tests/test-xmemdup0.c: Include progname.h.
12577         (main): Call set_program_name.
12578
12579 2009-01-18  Bruno Haible  <bruno@clisp.org>
12580
12581         New module 'alphasort'.
12582         * lib/dirent.in.h (alphasort): New declaration.
12583         * lib/alphasort.c: New file, from glibc with modifications.
12584         * m4/alphasort.m4: New file.
12585         * modules/alphasort: New file.
12586         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
12587         HAVE_ALPHASORT.
12588         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
12589         HAVE_ALPHASORT.
12590         * doc/posix-functions/alphasort.texi: Mention the new module and the
12591         portability problems.
12592
12593 2009-01-18  Bruno Haible  <bruno@clisp.org>
12594
12595         New module 'scandir'.
12596         * lib/dirent.in.h (scandir): New declaration.
12597         * lib/scandir.c: New file, from glibc with modifications.
12598         * m4/scandir.m4: New file.
12599         * modules/scandir: New file.
12600         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
12601         HAVE_SCANDIR.
12602         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
12603         HAVE_SCANDIR.
12604         * doc/posix-functions/scandir.texi: Mention the new module and the
12605         portability problems.
12606
12607 2009-01-17  Bruno Haible  <bruno@clisp.org>
12608
12609         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
12610         Update documentation.
12611         (func_remove_suffix): Escape all dots in the suffix. Update
12612         documentation.
12613         (func_filter_filelist): Update documentation.
12614         Reported by Ralf Wildenhues.
12615
12616 2009-01-17  Bruno Haible  <bruno@clisp.org>
12617
12618         * modules/dprintf-posix-tests: New file.
12619         * tests/test-dprintf-posix.sh: New file.
12620         * tests/test-dprintf-posix.c: New file.
12621
12622         New modules 'dprintf', 'dprintf-posix'.
12623         * lib/stdio.in.h (dprintf): New declaration.
12624         * lib/dprintf.c: New file.
12625         * m4/dprintf.m4: New file.
12626         * m4/dprintf-posix.m4: New file.
12627         * modules/dprintf: New file.
12628         * modules/dprintf-posix: New file.
12629         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
12630         HAVE_DPRINTF, REPLACE_DPRINTF.
12631         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
12632         HAVE_DPRINTF, REPLACE_DPRINTF.
12633         * doc/posix-functions/dprintf.texi: Mention the new modules.
12634
12635 2009-01-17  Bruno Haible  <bruno@clisp.org>
12636
12637         * modules/vdprintf-posix-tests: New file.
12638         * tests/test-vdprintf-posix.sh: New file.
12639         * tests/test-vdprintf-posix.c: New file.
12640
12641         New modules 'vdprintf', 'vdprintf-posix'.
12642         * lib/stdio.in.h (vdprintf): New declaration.
12643         * lib/vdprintf.c: New file.
12644         * m4/vdprintf.m4: New file.
12645         * m4/vdprintf-posix.m4: New file.
12646         * modules/vdprintf: New file.
12647         * modules/vdprintf-posix: New file.
12648         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
12649         HAVE_VDPRINTF, REPLACE_VDPRINTF.
12650         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
12651         HAVE_VDPRINTF, REPLACE_VDPRINTF.
12652         * doc/posix-functions/vdprintf.texi: Mention the new modules.
12653
12654 2009-01-17  Bruno Haible  <bruno@clisp.org>
12655
12656         Fix replacement of fopen on mingw.
12657         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
12658         mingw.
12659
12660 2009-01-17  Bruno Haible  <bruno@clisp.org>
12661
12662         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
12663         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
12664
12665 2009-01-17  Bruno Haible  <bruno@clisp.org>
12666
12667         Avoid test-fflush2.sh failure on mingw.
12668         * tests/test-fflush2.c: Include binary-io.h.
12669         (main): Put standard input into binary mode.
12670         * modules/fflush-tests (Depends-on): Add binary-io.
12671
12672 2009-01-17  Bruno Haible  <bruno@clisp.org>
12673
12674         * lib/wchar.in.h: In another particular situation, include only the
12675         system's <wchar.h> file.
12676         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
12677         Reported by Albert Chin-A-Young <china@thewrittenword.com>
12678         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
12679
12680 2009-01-17  Bruno Haible  <bruno@clisp.org>
12681
12682         Support for stripping executables in --enable-relocatable.
12683         * build-aux/install-reloc: Expect one more argument, or an environment
12684         variable RELOC_STRIP_PROG. If set, strip the destination program and
12685         its wrapper.
12686         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
12687         RELOC_STRIP_PROG.
12688         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
12689         to set RELOCATABLE_STRIP.
12690         * NEWS: Mention the new Makefile requirement.
12691
12692 2009-01-17  Bruno Haible  <bruno@clisp.org>
12693
12694         * build-aux/install-reloc: Remove debugging information left over by
12695         C compiler on MacOS X.
12696
12697 2009-01-17  Bruno Haible  <bruno@clisp.org>
12698
12699         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
12700         * lib/progreloc.c (find_executable): Fix type of pointer passed to
12701         _NSGetExecutablePath.
12702
12703 2009-01-16  Jim Meyering  <meyering@redhat.com>
12704
12705         strerror: avoid warnings about discarding "const"
12706         * lib/strerror.c (rpl_strerror): Instead of returning a const
12707         string from each and every "case", use a variable, and add a single
12708         cast after the switch.
12709
12710 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
12711
12712         * lib/arpa_inet.in.h: Add extern "C" block for C++.
12713
12714 2009-01-16  Bruno Haible  <bruno@clisp.org>
12715
12716         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
12717         array initializer syntax that also works in C++ mode.
12718         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
12719
12720 2009-01-16  Jim Meyering  <meyering@redhat.com>
12721
12722         poll: suppress a warning
12723         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
12724         to ignore "...unsigned expression < 0 is always false" warnings.
12725
12726 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
12727
12728         poll: remove declarations of unused variables
12729         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
12730         sockbuf and optlen.
12731
12732 2009-01-15  Bruno Haible  <bruno@clisp.org>
12733
12734         Make fflush-after-ungetc POSIX compliant on BSD systems.
12735         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
12736         (clear_ungetc_buffer): Implement also for other systems.
12737         (rpl_fflush): On glibc systems, invoke
12738         clear_ungetc_buffer_preserving_position. Otherwise, invoke
12739         clear_ungetc_buffer after fetching the stream's position, not before.
12740
12741 2009-01-15  Bruno Haible  <bruno@clisp.org>
12742
12743         Make fflush-after-ungetc POSIX compliant on glibc systems.
12744         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
12745         after ungetc.
12746         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
12747         (rpl_fflush): On glibc systems, simply call the system's fflush
12748         function after clearing the ungetc buffer.
12749         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
12750         Instead, lseek only to the end of file, then use the system's fseeko
12751         for the rest. On glibc systems, reset the EOF indicator bit.
12752
12753 2009-01-15  Jim Meyering  <meyering@redhat.com>
12754
12755         openmp.m4: revert quote-adding change, for portability to older autoconf
12756         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
12757         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
12758         Simon Josefsson noticed the problem when using autoconf-2.61.
12759
12760 2009-01-15  Bruno Haible  <bruno@clisp.org>
12761
12762         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
12763         * tests/test-fflush2.c (ASSERT): Always fail.
12764         (main): Add two tests for fflush() after ungetc(), taking into account
12765         the Austin Group's clarification.
12766         Suggested by Eric Blake.
12767
12768 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
12769
12770         mktime.m4: remove K&R-style function prototypes
12771         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
12772         for the Sun C++ compiler.
12773
12774 2009-01-14  Bruno Haible  <bruno@clisp.org>
12775
12776         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
12777         while including <wchar.h>.
12778         * lib/wchar.in.h: In two particular situations on HP-UX, include only
12779         the system's <wchar.h> file.
12780         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
12781
12782 2009-01-14  Bruno Haible  <bruno@clisp.org>
12783
12784         * m4/csharp.m4: Don't mention gettext on the serial number line.
12785         * m4/csharpexec.m4: Likewise.
12786         * m4/eaccess.m4: Likewise.
12787         * m4/javaexec.m4: Likewise.
12788         * m4/sig_atomic_t.m4: Likewise.
12789         * m4/tmpdir.m4: Likewise.
12790         * m4/intldir.m4: Bump gettext version.
12791         * m4/lib-ld.m4: Likewise.
12792
12793 2009-01-14  Bruno Haible  <bruno@clisp.org>
12794
12795         * lib/progname.c (set_program_name): Add more comments.
12796         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
12797
12798 2009-01-14  Simon Josefsson  <simon@josefsson.org>
12799
12800         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
12801         were sys/stat.h does not define it.
12802
12803 2009-01-14  Jim Meyering  <meyering@redhat.com>
12804
12805         many *.m4 files: improve m4 quoting
12806         99% of this change was performed by running the following commands:
12807         git ls-files | grep '\.m4$' | xargs perl -pi \
12808           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
12809           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
12810           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
12811           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
12812         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
12813         The remainder were to add Copyright dates, increment serial numbers,
12814         undo some changes in comments, exclude m4/intl.m4, and add quotes
12815         around the "1" in ",1" where the unusual spacing prohibited the
12816         above regexps from doing the job.  For more details, see
12817         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
12818         * m4/acl.m4: Modified.
12819         * m4/afs.m4: Likewise.
12820         * m4/alloca.m4: Likewise.
12821         * m4/argp.m4: Likewise.
12822         * m4/argz.m4: Likewise.
12823         * m4/atexit.m4: Likewise.
12824         * m4/bison-i18n.m4: Likewise.
12825         * m4/bison.m4: Likewise.
12826         * m4/byteswap.m4: Likewise.
12827         * m4/c-stack.m4: Likewise.
12828         * m4/c-strtod.m4: Likewise.
12829         * m4/calloc.m4: Likewise.
12830         * m4/canonicalize-lgpl.m4: Likewise.
12831         * m4/chown.m4: Likewise.
12832         * m4/clock_time.m4: Likewise.
12833         * m4/codeset.m4: Likewise.
12834         * m4/copy-file.m4: Likewise.
12835         * m4/csharp.m4: Likewise.
12836         * m4/csharpcomp.m4: Likewise.
12837         * m4/csharpexec.m4: Likewise.
12838         * m4/d-ino.m4: Likewise.
12839         * m4/d-type.m4: Likewise.
12840         * m4/dirfd.m4: Likewise.
12841         * m4/double-slash-root.m4: Likewise.
12842         * m4/eaccess.m4: Likewise.
12843         * m4/eealloc.m4: Likewise.
12844         * m4/environ.m4: Likewise.
12845         * m4/errno_h.m4: Likewise.
12846         * m4/euidaccess.m4: Likewise.
12847         * m4/execute.m4: Likewise.
12848         * m4/fatal-signal.m4: Likewise.
12849         * m4/fchdir.m4: Likewise.
12850         * m4/fcntl_h.m4: Likewise.
12851         * m4/fileblocks.m4: Likewise.
12852         * m4/filenamecat.m4: Likewise.
12853         * m4/findprog.m4: Likewise.
12854         * m4/flexmember.m4: Likewise.
12855         * m4/fnmatch.m4: Likewise.
12856         * m4/fopen.m4: Likewise.
12857         * m4/fpending.m4: Likewise.
12858         * m4/fprintf-posix.m4: Likewise.
12859         * m4/free.m4: Likewise.
12860         * m4/frexp.m4: Likewise.
12861         * m4/frexpl.m4: Likewise.
12862         * m4/fsusage.m4: Likewise.
12863         * m4/ftruncate.m4: Likewise.
12864         * m4/gc-camellia.m4: Likewise.
12865         * m4/gc-random.m4: Likewise.
12866         * m4/gc.m4: Likewise.
12867         * m4/getaddrinfo.m4: Likewise.
12868         * m4/getcwd-abort-bug.m4: Likewise.
12869         * m4/getcwd-path-max.m4: Likewise.
12870         * m4/getdate.m4: Likewise.
12871         * m4/getdomainname.m4: Likewise.
12872         * m4/getgroups.m4: Likewise.
12873         * m4/gethostname.m4: Likewise.
12874         * m4/gethrxtime.m4: Likewise.
12875         * m4/getline.m4: Likewise.
12876         * m4/getloadavg.m4: Likewise.
12877         * m4/getndelim2.m4: Likewise.
12878         * m4/getpass.m4: Likewise.
12879         * m4/gettext.m4: Likewise.
12880         * m4/gettime.m4: Likewise.
12881         * m4/gettimeofday.m4: Likewise.
12882         * m4/gnulib-common.m4: Likewise.
12883         * m4/group-member.m4: Likewise.
12884         * m4/host-os.m4: Likewise.
12885         * m4/iconv.m4: Likewise.
12886         * m4/iconv_open.m4: Likewise.
12887         * m4/inet_ntop.m4: Likewise.
12888         * m4/inet_pton.m4: Likewise.
12889         * m4/inline.m4: Likewise.
12890         * m4/intldir.m4: Likewise.
12891         * m4/intlmacosx.m4: Likewise.
12892         * m4/intmax.m4: Likewise.
12893         * m4/intmax_t.m4: Likewise.
12894         * m4/inttypes.m4: Likewise.
12895         * m4/inttypes_h.m4: Likewise.
12896         * m4/inttypes-pri.m4: Likewise.
12897         * m4/isapipe.m4: Likewise.
12898         * m4/isnand.m4: Likewise.
12899         * m4/isnanf.m4: Likewise.
12900         * m4/isnanl.m4: Likewise.
12901         * m4/javacomp.m4: Likewise.
12902         * m4/javaexec.m4: Likewise.
12903         * m4/jm-winsz1.m4: Likewise.
12904         * m4/jm-winsz2.m4: Likewise.
12905         * m4/lchown.m4: Likewise.
12906         * m4/lcmessage.m4: Likewise.
12907         * m4/ldexpl.m4: Likewise.
12908         * m4/lib-ld.m4: Likewise.
12909         * m4/lib-link.m4: Likewise.
12910         * m4/libsigsegv.m4: Likewise.
12911         * m4/link-follow.m4: Likewise.
12912         * m4/localcharset.m4: Likewise.
12913         * m4/locale-fr.m4: Likewise.
12914         * m4/locale-ja.m4: Likewise.
12915         * m4/locale-tr.m4: Likewise.
12916         * m4/locale-zh.m4: Likewise.
12917         * m4/lock.m4: Likewise.
12918         * m4/longlong.m4: Likewise.
12919         * m4/ls-mntd-fs.m4: Likewise.
12920         * m4/lstat.m4: Likewise.
12921         * m4/malloc.m4: Likewise.
12922         * m4/mathl.m4: Likewise.
12923         * m4/mbrtowc.m4: Likewise.
12924         * m4/mbstate_t.m4: Likewise.
12925         * m4/mbswidth.m4: Likewise.
12926         * m4/memchr.m4: Likewise.
12927         * m4/memcmp.m4: Likewise.
12928         * m4/memcpy.m4: Likewise.
12929         * m4/memmem.m4: Likewise.
12930         * m4/memmove.m4: Likewise.
12931         * m4/mempcpy.m4: Likewise.
12932         * m4/memrchr.m4: Likewise.
12933         * m4/memset.m4: Likewise.
12934         * m4/minmax.m4: Likewise.
12935         * m4/mkdir-slash.m4: Likewise.
12936         * m4/mkdtemp.m4: Likewise.
12937         * m4/mktime.m4: Likewise.
12938         * m4/mmap-anon.m4: Likewise.
12939         * m4/mountlist.m4: Likewise.
12940         * m4/nanosleep.m4: Likewise.
12941         * m4/nls.m4: Likewise.
12942         * m4/nocrash.m4: Likewise.
12943         * m4/open.m4: Likewise.
12944         * m4/openat.m4: Likewise.
12945         * m4/openmp.m4: Likewise.
12946         * m4/pathmax.m4: Likewise.
12947         * m4/perl.m4: Likewise.
12948         * m4/physmem.m4: Likewise.
12949         * m4/pipe.m4: Likewise.
12950         * m4/po.m4: Likewise.
12951         * m4/poll.m4: Likewise.
12952         * m4/posixtm.m4: Likewise.
12953         * m4/posixver.m4: Likewise.
12954         * m4/printf-frexp.m4: Likewise.
12955         * m4/printf-frexpl.m4: Likewise.
12956         * m4/printf-posix.m4: Likewise.
12957         * m4/printf-posix-rpl.m4: Likewise.
12958         * m4/printf.m4: Likewise.
12959         * m4/progtest.m4: Likewise.
12960         * m4/putenv.m4: Likewise.
12961         * m4/readline.m4: Likewise.
12962         * m4/readlink.m4: Likewise.
12963         * m4/readutmp.m4: Likewise.
12964         * m4/realloc.m4: Likewise.
12965         * m4/regex.m4: Likewise.
12966         * m4/relocatable.m4: Likewise.
12967         * m4/relocatable-lib.m4: Likewise.
12968         * m4/rename-dest-slash.m4: Likewise.
12969         * m4/rename.m4: Likewise.
12970         * m4/rmdir-errno.m4: Likewise.
12971         * m4/rmdir.m4: Likewise.
12972         * m4/roundf.m4: Likewise.
12973         * m4/roundl.m4: Likewise.
12974         * m4/rpmatch.m4: Likewise.
12975         * m4/save-cwd.m4: Likewise.
12976         * m4/selinux-selinux-h.m4: Likewise.
12977         * m4/setenv.m4: Likewise.
12978         * m4/settime.m4: Likewise.
12979         * m4/sig2str.m4: Likewise.
12980         * m4/sig_atomic_t.m4: Likewise.
12981         * m4/signalblocking.m4: Likewise.
12982         * m4/signbit.m4: Likewise.
12983         * m4/sigpipe.m4: Likewise.
12984         * m4/sockets.m4: Likewise.
12985         * m4/sockpfaf.m4: Likewise.
12986         * m4/st_dm_mode.m4: Likewise.
12987         * m4/stat-time.m4: Likewise.
12988         * m4/stdbool.m4: Likewise.
12989         * m4/stdint.m4: Likewise.
12990         * m4/stdint_h.m4: Likewise.
12991         * m4/stpcpy.m4: Likewise.
12992         * m4/stpncpy.m4: Likewise.
12993         * m4/strcase.m4: Likewise.
12994         * m4/strchrnul.m4: Likewise.
12995         * m4/strcspn.m4: Likewise.
12996         * m4/strdup.m4: Likewise.
12997         * m4/strftime.m4: Likewise.
12998         * m4/strndup.m4: Likewise.
12999         * m4/strnlen.m4: Likewise.
13000         * m4/strpbrk.m4: Likewise.
13001         * m4/strptime.m4: Likewise.
13002         * m4/strsep.m4: Likewise.
13003         * m4/strtod.m4: Likewise.
13004         * m4/strtoimax.m4: Likewise.
13005         * m4/strtok_r.m4: Likewise.
13006         * m4/strtol.m4: Likewise.
13007         * m4/strtoll.m4: Likewise.
13008         * m4/strtoul.m4: Likewise.
13009         * m4/strtoull.m4: Likewise.
13010         * m4/strtoumax.m4: Likewise.
13011         * m4/strverscmp.m4: Likewise.
13012         * m4/threadlib.m4: Likewise.
13013         * m4/timegm.m4: Likewise.
13014         * m4/tm_gmtoff.m4: Likewise.
13015         * m4/tmpdir.m4: Likewise.
13016         * m4/tmpfile.m4: Likewise.
13017         * m4/tzset.m4: Likewise.
13018         * m4/uintmax_t.m4: Likewise.
13019         * m4/unlinkdir.m4: Likewise.
13020         * m4/unlocked-io.m4: Likewise.
13021         * m4/uptime.m4: Likewise.
13022         * m4/userspec.m4: Likewise.
13023         * m4/utimbuf.m4: Likewise.
13024         * m4/utime.m4: Likewise.
13025         * m4/utimes-null.m4: Likewise.
13026         * m4/utimes.m4: Likewise.
13027         * m4/vararrays.m4: Likewise.
13028         * m4/vasnprintf.m4: Likewise.
13029         * m4/vfprintf-posix.m4: Likewise.
13030         * m4/vprintf-posix.m4: Likewise.
13031         * m4/wait-process.m4: Likewise.
13032         * m4/wchar_t.m4: Likewise.
13033         * m4/wint_t.m4: Likewise.
13034         * m4/write-any-file.m4: Likewise.
13035         * m4/yield.m4: Likewise.
13036
13037 2009-01-13  Bruno Haible  <bruno@clisp.org>
13038
13039         Avoid test-copy-file.sh failures when ACL support insufficient.
13040         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
13041         TESTS_ENVIRONMENT.
13042         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
13043         Reported by Jim Meyering.
13044
13045 2009-01-13  Bruno Haible  <bruno@clisp.org>
13046
13047         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
13048         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
13049         * modules/unistdio/u8-printf-parse (Files): Likewise.
13050         * modules/unistdio/u32-printf-parse (Files): Likewise.
13051         * modules/unistdio/ulc-printf-parse (Files): Likewise.
13052
13053 2009-01-13  Simon Josefsson  <simon@josefsson.org>
13054
13055         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
13056         and m4/inttypes_h.m4 too.
13057
13058 2009-01-12  Eric Blake  <ebb9@byu.net>
13059
13060         tests: IRIX 6.2 cc can't compile -0.0 into .data
13061         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
13062         rather than at compile-time.
13063         * tests/test-floorl.c (minus_zero): Likewise.
13064         * tests/test-frexpl.c (minus_zero): Likewise.
13065         * tests/test-isnan.c (minus_zerol): Likewise.
13066         * tests/test-isnanl.h (minus_zero): Likewise.
13067         * tests/test-ldexpl.c (minus_zero): Likewise.
13068         * tests/test-roundl.c (minus_zero): Likewise.
13069         * tests/test-signbit.c (minus_zerol): Likewise.
13070         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
13071         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
13072         * tests/test-truncl.c (minus_zero): Likewise.
13073         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
13074         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
13075         Reported by Tom G. Christensen and Nelson H. F. Beebe.
13076
13077 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
13078
13079         regex: fix glibc bug 9697
13080         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
13081         handling.
13082
13083 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
13084
13085         regex: fix glibc bug 697
13086         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
13087         being NULL also if there are no backreferences.
13088
13089 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
13090
13091         regex: merge glibc changes
13092         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
13093         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
13094         re_string_skip_chars, re_string_reconstruct): Likewise.
13095         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
13096
13097 2009-01-07  Jim Meyering  <meyering@redhat.com>
13098
13099         poll: filter through cppi
13100         * lib/poll.c: Indent cpp directives to reflect nesting.
13101
13102 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
13103
13104         poll: don't return uninitialized
13105         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
13106
13107 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
13108
13109         avoid compile failure on AIX 6.1
13110         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
13111         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
13112
13113 2009-01-04  Jim Meyering  <meyering@redhat.com>
13114
13115         remove duplicate inclusion of <stdio.h>
13116         * tests/test-fprintf-posix.c: Likewise.
13117         * tests/test-printf-posix.c: Likewise.
13118         * tests/test-snprintf-posix.c: Likewise.
13119         * tests/test-sprintf-posix.c: Likewise.
13120         * tests/test-vasprintf-posix.c: Likewise.
13121         * tests/test-vfprintf-posix.c: Likewise.
13122         * tests/test-vprintf-posix.c: Likewise.
13123         * tests/test-vsnprintf-posix.c: Likewise.
13124         * tests/test-vsprintf-posix.c: Likewise.
13125
13126 2009-01-03  Jim Meyering  <meyering@redhat.com>
13127
13128         gnulib-tool: fix sed-based filtering
13129         * gnulib-tool (func_filter_filelist): Remove extra backslash
13130         in sed_fff_filter definition.
13131
13132 2009-01-02  Jim Meyering  <meyering@redhat.com>
13133
13134         strftime: avoid compilation failure on Solaris 2.6
13135         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
13136         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
13137         Don't #define mbrlen or mbsinit, since now they're guaranteed to
13138         be available.  Reported by Tom G. Christensen.  Details in
13139         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
13140
13141 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13142             Bruno Haible  <bruno@clisp.org>
13143
13144         Speed up gnulib-tool by doing more string processing through shell
13145         built-ins.
13146         * gnulib-tool (fast_func_append): New variable.
13147         (func_remove_prefix, func_remove_suffix): New functions.
13148         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
13149         (func_filter_filelist): New function.
13150         (func_get_dependencies): Use func_remove_suffix instead of sed.
13151         (func_get_automake_snippet): Use func_filter_filelist instead of a
13152         subshell and sed invocation.
13153
13154 2009-01-01  Bruno Haible  <bruno@clisp.org>
13155
13156         Fix a security bug.
13157         * gnulib-tool (func_import, import, update): Don't allow the characters
13158         '"', '$', '`', '\' in macro arguments that become part of commands that
13159         are evaluated.
13160
13161 2009-01-01  Bruno Haible  <bruno@clisp.org>
13162
13163         * gnulib-tool (func_reset_sigpipe): Add more comments.
13164
13165 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13166
13167         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
13168         func_emit_tests_Makefile_am, func_import): Abort loops early if we
13169         already know the answer.
13170
13171 2009-01-01  Jim Meyering  <meyering@redhat.com>
13172
13173         * lib/version-etc.c (version_etc_va): Update copyright year.
13174
13175 2008-12-30  Bruno Haible  <bruno@clisp.org>
13176
13177         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
13178         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
13179         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
13180
13181 2008-12-29  Eric Blake  <ebb9@byu.net>
13182
13183         multiarch: avoid autoconf AC_REQUIRE bug
13184         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
13185         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
13186         2.63 and older.
13187         Reported by Bruno Haible, and analyzed in
13188         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
13189
13190 2008-12-29  Bruno Haible  <bruno@clisp.org>
13191
13192         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
13193         files in subdirectories correctly.
13194         Reported by Ralf Wildenhues.
13195
13196 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13197
13198         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
13199         rather than 'join FILE -', for Solaris join.
13200
13201 2008-12-29  Bruno Haible  <bruno@clisp.org>
13202
13203         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
13204         quoting.
13205         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
13206         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
13207         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
13208         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
13209         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
13210         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
13211         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
13212         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
13213         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
13214         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
13215         * m4/nls.m4 (AM_NLS): Likewise.
13216         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
13217         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
13218         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
13219         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
13220         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
13221         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
13222         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
13223         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
13224         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
13225         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
13226         * m4/xsize.m4 (gl_XSIZE): Likewise.
13227         Suggested by Jim Meyering.
13228
13229 2008-11-17  Bruce Korb  <bkorb@gnu.org>
13230
13231         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
13232         * lib/parse-duration.c: use a switch instead of cascading if's.
13233
13234 2008-12-29  Eric Blake  <ebb9@byu.net>
13235
13236         wchar.h: supply WEOF on Irix 5.3
13237         * lib/wchar.in.h (wint_t): Also supply WEOF.
13238         * lib/wctype.in.h (wint_t): Likewise.
13239         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
13240         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
13241         Reported by Tom G. Christensen.
13242
13243 2008-12-26  Bruno Haible  <bruno@clisp.org>
13244
13245         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
13246         i486, i586, i686.
13247
13248 2008-12-26  Bruno Haible  <bruno@clisp.org>
13249
13250         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
13251
13252 2008-12-26  Bruno Haible  <bruno@clisp.org>
13253
13254         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
13255         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
13256         not __STDC_CONSTANT_MACROS.
13257         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
13258
13259 2008-12-25  Bruno Haible  <bruno@clisp.org>
13260
13261         Add support for universal builds to vasnprintf.
13262         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
13263         universal builds, guess no.
13264         * modules/vasnprintf-posix (Depends-on): Add multiarch.
13265         * modules/vasprintf-posix (Depends-on): Likewise.
13266         * modules/fprintf-posix (Depends-on): Likewise.
13267         * modules/vfprintf-posix (Depends-on): Likewise.
13268         * modules/snprintf-posix (Depends-on): Likewise.
13269         * modules/vsnprintf-posix (Depends-on): Likewise.
13270         * modules/sprintf-posix (Depends-on): Likewise.
13271         * modules/vsprintf-posix (Depends-on): Likewise.
13272         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
13273         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
13274         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
13275         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
13276         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
13277         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
13278         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
13279
13280         Add support for universal builds to <inttypes.h>.
13281         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
13282         _SCNu64_PREFIX): In Apple
13283         universal builds, define directly, using _LP64.
13284         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
13285         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
13286         * modules/inttypes (Depends-on): Add multiarch.
13287         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
13288
13289         Add support for universal builds to <stdint.h>.
13290         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
13291         universal builds, define directly, using _LP64.
13292         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
13293         Apple universal builds, don't test for the size and suffix of ptrdiff_t
13294         and size_t.
13295         * modules/stdint (Depends-on): Add multiarch.
13296         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
13297
13298         New module 'multiarch'.
13299         * modules/multiarch: New file.
13300         * m4/multiarch.m4: New file.
13301
13302 2008-12-25  Bruno Haible  <bruno@clisp.org>
13303
13304         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
13305
13306 2008-12-25  Bruno Haible  <bruno@clisp.org>
13307
13308         * modules/btowc (License): Relicense under LGPLv2+.
13309         * modules/mbsinit (License): Likewise.
13310         * modules/mbrtowc (License): Likewise.
13311         * modules/wcrtomb (License): Likewise.
13312         * modules/streq (License): Likewise.
13313         Reported by David Lutterkort <lutter@redhat.com>.
13314
13315 2008-12-23  Bruno Haible  <bruno@clisp.org>
13316
13317         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
13318
13319 2008-12-23  Bruno Haible  <bruno@clisp.org>
13320
13321         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
13322         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
13323         GETADDRINFO_LIB, not in LIBS.
13324         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
13325         * modules/canon-host (Link): Likewise.
13326         * NEWS: Mention the change.
13327         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
13328         GETADDRINFO_LIB.
13329
13330 2008-12-22  Bruno Haible  <bruno@clisp.org>
13331
13332         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
13333         * doc/posix-functions/iswalpha_l.texi: Likewise.
13334         * doc/posix-functions/iswblank_l.texi: Likewise.
13335         * doc/posix-functions/iswcntrl_l.texi: Likewise.
13336         * doc/posix-functions/iswctype_l.texi: Likewise.
13337         * doc/posix-functions/iswdigit_l.texi: Likewise.
13338         * doc/posix-functions/iswgraph_l.texi: Likewise.
13339         * doc/posix-functions/iswlower_l.texi: Likewise.
13340         * doc/posix-functions/iswprint_l.texi: Likewise.
13341         * doc/posix-functions/iswpunct_l.texi: Likewise.
13342         * doc/posix-functions/iswspace_l.texi: Likewise.
13343         * doc/posix-functions/iswupper_l.texi: Likewise.
13344         * doc/posix-functions/iswxdigit_l.texi: Likewise.
13345         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
13346         * doc/posix-functions/open_wmemstream.texi: Likewise.
13347         * doc/posix-functions/swscanf.texi: Likewise.
13348         * doc/posix-functions/towctrans_l.texi: Likewise.
13349         * doc/posix-functions/towlower.texi: Likewise.
13350         * doc/posix-functions/towlower_l.texi: Likewise.
13351         * doc/posix-functions/towupper.texi: Likewise.
13352         * doc/posix-functions/towupper_l.texi: Likewise.
13353         * doc/posix-functions/vfwprintf.texi: Likewise.
13354         * doc/posix-functions/vfwscanf.texi: Likewise.
13355         * doc/posix-functions/vswscanf.texi: Likewise.
13356         * doc/posix-functions/vwprintf.texi: Likewise.
13357         * doc/posix-functions/vwscanf.texi: Likewise.
13358         * doc/posix-functions/wcpcpy.texi: Likewise.
13359         * doc/posix-functions/wcpncpy.texi: Likewise.
13360         * doc/posix-functions/wcscasecmp.texi: Likewise.
13361         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
13362         * doc/posix-functions/wcscoll_l.texi: Likewise.
13363         * doc/posix-functions/wcsdup.texi: Likewise.
13364         * doc/posix-functions/wcsncasecmp.texi: Likewise.
13365         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
13366         * doc/posix-functions/wcsnlen.texi: Likewise.
13367         * doc/posix-functions/wcsnrtombs.texi: Likewise.
13368         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
13369         * doc/posix-functions/wctrans_l.texi: Likewise.
13370         * doc/posix-functions/wctype_l.texi: Likewise.
13371         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
13372         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
13373         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
13374         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
13375         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
13376         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
13377         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
13378         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
13379         * doc/glibc-functions/wcschrnul.texi: Likewise.
13380         * doc/glibc-functions/wcsftime_l.texi: Likewise.
13381         * doc/glibc-functions/wcstod_l.texi: Likewise.
13382         * doc/glibc-functions/wcstof_l.texi: Likewise.
13383         * doc/glibc-functions/wcstol_l.texi: Likewise.
13384         * doc/glibc-functions/wcstold_l.texi: Likewise.
13385         * doc/glibc-functions/wcstoll_l.texi: Likewise.
13386         * doc/glibc-functions/wcstoq.texi: Likewise.
13387         * doc/glibc-functions/wcstoul_l.texi: Likewise.
13388         * doc/glibc-functions/wcstoull_l.texi: Likewise.
13389         * doc/glibc-functions/wcstouq.texi: Likewise.
13390         * doc/glibc-functions/wmempcpy.texi: Likewise.
13391
13392 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
13393             Eric Blake  <ebb9@byu.net>
13394             Paolo Bonzini  <bonzini@gnu.org>
13395             Bruno Haible  <bruno@clisp.org>
13396
13397         Make c-stack work on Haiku.
13398         * lib/c-stack.c (SA_ONSTACK): Define fallback.
13399         (c_stack_action): Use SA_ONSTACK flag.
13400
13401 2008-12-22  Bruno Haible  <bruno@clisp.org>
13402
13403         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
13404
13405 2008-12-22  Bruno Haible  <bruno@clisp.org>
13406
13407         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
13408         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
13409         being overridden.
13410         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
13411         New macros.
13412         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
13413         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
13414         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
13415         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
13416
13417 2008-12-22  Bruno Haible  <bruno@clisp.org>
13418
13419         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
13420         from test code.
13421
13422 2008-12-22  Eric Blake  <ebb9@byu.net>
13423
13424         Avoid gcc warnings on cygwin.
13425         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
13426         Avoid unused variable.
13427         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
13428         Likewise.
13429
13430 2008-12-22  Bruno Haible  <bruno@clisp.org>
13431
13432         Remove HAVE_MBRTOWC conditionals.
13433         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
13434         (mbscasecmp): Assume mbrtowc function.
13435         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
13436         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
13437         * lib/mbschr.c: Include mbuiter.h unconditionally.
13438         (mbschr): Assume mbrtowc function.
13439         * lib/mbscspn.c: Include mbuiter.h unconditionally.
13440         (mbscspn): Assume mbrtowc function.
13441         * lib/mbslen.c: Include mbuiter.h unconditionally.
13442         (mbslen): Assume mbrtowc function.
13443         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
13444         (mbsncasecmp): Assume mbrtowc function.
13445         * lib/mbsnlen.c: Include mbiter.h unconditionally.
13446         (mbsnlen): Assume mbrtowc function.
13447         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
13448         (mbspbrk): Assume mbrtowc function.
13449         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
13450         (mbspcasecmp): Assume mbrtowc function.
13451         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
13452         (mbsrchr): Assume mbrtowc function.
13453         * lib/mbssep.c: Include mbuiter.h unconditionally.
13454         (mbssep): Assume mbrtowc function.
13455         * lib/mbsspn.c: Include mbuiter.h unconditionally.
13456         (mbsspn): Assume mbrtowc function.
13457         * lib/mbsstr.c: Include mbuiter.h unconditionally.
13458         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
13459         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
13460         (mbstok_r): Assume mbrtowc function.
13461         * lib/propername.c: Include mbuiter.h unconditionally.
13462         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
13463         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
13464         (trim2): Assume mbrtowc function.
13465         * lib/mbswidth.c (mbsinit): Remove fallback definition.
13466         (mbsnwidth): Assume mbrtowc function.
13467         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
13468         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
13469         fallback definitions.
13470         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
13471
13472 2008-12-22  Bruno Haible  <bruno@clisp.org>
13473
13474         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
13475
13476 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
13477
13478         * modules/regex: Request emulations for the mb*/wc* functions we need.
13479         * m4/regex.m4: Don't look for those functions here.
13480         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
13481
13482 2008-12-22  Bruno Haible  <bruno@clisp.org>
13483
13484         * modules/fnmatch (Depends-on): Remove duplicated dependency.
13485
13486 2008-12-21  Bruno Haible  <bruno@clisp.org>
13487
13488         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
13489         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
13490         (Include): Remove conditionalization.
13491         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
13492         (Include): Remove conditionalization.
13493         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
13494         (Include): Remove conditionalization.
13495         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
13496         * m4/mbfile.m4 (gl_MBFILE): Likewise.
13497         * NEWS: Mention the change.
13498         Reported by Alan Hourihane <alanh@fairlite.co.uk>
13499         via Sergey Poznyakoff <gray@gnu.org.ua>.
13500
13501 2008-12-21  Bruno Haible  <bruno@clisp.org>
13502
13503         * MODULES.html.sh (Extended multibyte and wide character utilities
13504         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
13505         wcrtomb, wcsrtombs.
13506         (Support for systems lacking POSIX:2008): Add accept, bind, close,
13507         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
13508         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
13509         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
13510
13511 2008-12-21  Bruno Haible  <bruno@clisp.org>
13512
13513         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
13514
13515 2008-12-21  Bruno Haible  <bruno@clisp.org>
13516
13517         * modules/wcsnrtombs-tests: New file.
13518         * tests/test-wcsnrtombs1.sh: New file.
13519         * tests/test-wcsnrtombs2.sh: New file.
13520         * tests/test-wcsnrtombs3.sh: New file.
13521         * tests/test-wcsnrtombs4.sh: New file.
13522         * tests/test-wcsnrtombs.c: New file.
13523
13524         New module 'wcsnrtombs'.
13525         * lib/wchar.in.h (wcsnrtombs): New declaration.
13526         * lib/wcsnrtombs.c: New file.
13527         * lib/wcsrtombs-state.c: New file.
13528         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
13529         (internal_state): Remove variable.
13530         * m4/wcsnrtombs.m4: New file.
13531         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
13532         compilation units.
13533         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
13534         HAVE_WCSNRTOMBS.
13535         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
13536         HAVE_WCSNRTOMBS.
13537         * modules/wcsnrtombs: New file.
13538         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
13539         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
13540
13541 2008-12-21  Bruno Haible  <bruno@clisp.org>
13542
13543         * modules/wcsrtombs-tests: New file.
13544         * tests/test-wcsrtombs1.sh: New file.
13545         * tests/test-wcsrtombs2.sh: New file.
13546         * tests/test-wcsrtombs3.sh: New file.
13547         * tests/test-wcsrtombs4.sh: New file.
13548         * tests/test-wcsrtombs.c: New file.
13549
13550         New module 'wcsrtombs'.
13551         * lib/wchar.in.h (wcsrtombs): New declaration.
13552         * lib/wcsrtombs.c: New file.
13553         * m4/wcsrtombs.m4: New file.
13554         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
13555         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
13556         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
13557         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
13558         * modules/wcsrtombs: New file.
13559         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
13560         bugs.
13561
13562 2008-12-21  Bruno Haible  <bruno@clisp.org>
13563
13564         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
13565         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
13566         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
13567         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
13568         if not correct.
13569         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
13570         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
13571         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
13572         m4/locale-zh.m4, m4/codeset.m4.
13573         * doc/posix-functions/wcrtomb.texi: Document the bug.
13574
13575 2008-12-21  Bruno Haible  <bruno@clisp.org>
13576
13577         Work around a btowc() bug on IRIX 6.5.
13578         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
13579         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
13580         REPLACE_WTOBC if not.
13581         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
13582         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
13583         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
13584
13585 2008-12-21  Bruno Haible  <bruno@clisp.org>
13586
13587         * modules/wcrtomb-tests: New file.
13588         * tests/test-wcrtomb.sh: New file.
13589         * tests/test-wcrtomb.c: New file.
13590
13591         New module 'wcrtomb'.
13592         * lib/wchar.in.h (wcrtomb): New declaration.
13593         * lib/wcrtomb.c: New file.
13594         * m4/wcrtomb.m4: New file.
13595         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
13596         HAVE_WCRTOMB.
13597         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
13598         HAVE_WCRTOMB.
13599         * modules/wcrtomb: New file.
13600         * doc/posix-functions/wcrtomb.texi: Mention the new module.
13601
13602 2008-12-21  Bruno Haible  <bruno@clisp.org>
13603
13604         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
13605         * modules/mbsrtowcs (Files): Likewise.
13606         * modules/wctob (Files): Likewise.
13607         * modules/c-strcase-tests (Files): Likewise.
13608         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
13609         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
13610         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
13611         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
13612         * modules/vasnprintf-posix-tests (Files): Likewise.
13613
13614 2008-12-21  William Pursell  <bill.pursell@gmail.com>
13615
13616         gitlog-to-changelog: pass all command-line arguments to git-log
13617         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
13618         it is sometimes convenient to filter the commits in various ways.
13619         gitlog-to-changelog only allows --since to specify a start date,
13620         but git-log itself supports many other filtering mechanisms.
13621         At the moment, I want to filter by branch name.  Rather than
13622         adding a --branch option to gitlog-to-changelog, it seems more
13623         flexible to simply pass all options directly to git-log and let
13624         git do the work.  Notice that this effectively makes --since a
13625         redundant option for gitlog-to-changelog, but removing it would
13626         require current usage to change since calls would then require
13627         an additional '--'.
13628
13629 2008-12-21  Bruno Haible  <bruno@clisp.org>
13630
13631         * modules/mbsnrtowcs-tests: New file.
13632         * tests/test-mbsnrtowcs1.sh: New file.
13633         * tests/test-mbsnrtowcs2.sh: New file.
13634         * tests/test-mbsnrtowcs3.sh: New file.
13635         * tests/test-mbsnrtowcs4.sh: New file.
13636         * tests/test-mbsnrtowcs.c: New file.
13637
13638         New module 'mbsnrtowcs'.
13639         * lib/wchar.in.h (mbsnrtowcs): New declaration.
13640         * lib/mbsnrtowcs.c: New file.
13641         * lib/mbsrtowcs-state.c: New file.
13642         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
13643         (internal_state): Remove variable.
13644         * m4/mbsnrtowcs.m4: New file.
13645         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
13646         compilation units.
13647         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
13648         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
13649         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
13650         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
13651         * modules/mbsnrtowcs: New file.
13652         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
13653         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
13654         portability problem.
13655
13656 2008-12-21  Bruno Haible  <bruno@clisp.org>
13657
13658         Work around mbsrtowcs bug.
13659         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
13660         (gl_FUNC_MBSRTOWCS): Invoke it.
13661         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
13662         m4/locale-zh.m4.
13663         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
13664
13665 2008-12-21  Bruno Haible  <bruno@clisp.org>
13666
13667         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
13668
13669 2008-12-21  Bruno Haible  <bruno@clisp.org>
13670
13671         Update doc for AIX.
13672         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
13673         16-bit wchar_t type.
13674         * doc/posix-functions/btowc.texi: Likewise.
13675         * doc/posix-functions/fgetwc.texi: Likewise.
13676         * doc/posix-functions/fgetws.texi: Likewise.
13677         * doc/posix-functions/fputwc.texi: Likewise.
13678         * doc/posix-functions/fputws.texi: Likewise.
13679         * doc/posix-functions/fwide.texi: Likewise.
13680         * doc/posix-functions/fwprintf.texi: Likewise.
13681         * doc/posix-functions/fwscanf.texi: Likewise.
13682         * doc/posix-functions/getwchar.texi: Likewise.
13683         * doc/posix-functions/getwc.texi: Likewise.
13684         * doc/posix-functions/iswalnum.texi: Likewise.
13685         * doc/posix-functions/iswalpha.texi: Likewise.
13686         * doc/posix-functions/iswblank.texi: Likewise.
13687         * doc/posix-functions/iswcntrl.texi: Likewise.
13688         * doc/posix-functions/iswctype.texi: Likewise.
13689         * doc/posix-functions/iswdigit.texi: Likewise.
13690         * doc/posix-functions/iswgraph.texi: Likewise.
13691         * doc/posix-functions/iswlower.texi: Likewise.
13692         * doc/posix-functions/iswprint.texi: Likewise.
13693         * doc/posix-functions/iswpunct.texi: Likewise.
13694         * doc/posix-functions/iswspace.texi: Likewise.
13695         * doc/posix-functions/iswupper.texi: Likewise.
13696         * doc/posix-functions/iswxdigit.texi: Likewise.
13697         * doc/posix-functions/mbrtowc.texi: Likewise.
13698         * doc/posix-functions/mbsrtowcs.texi: Likewise.
13699         * doc/posix-functions/mbstowcs.texi: Likewise.
13700         * doc/posix-functions/mbtowc.texi: Likewise.
13701         * doc/posix-functions/putwchar.texi: Likewise.
13702         * doc/posix-functions/putwc.texi: Likewise.
13703         * doc/posix-functions/swprintf.texi: Likewise.
13704         * doc/posix-functions/tolower.texi: Likewise.
13705         * doc/posix-functions/toupper.texi: Likewise.
13706         * doc/posix-functions/towctrans.texi: Likewise.
13707         * doc/posix-functions/ungetwc.texi: Likewise.
13708         * doc/posix-functions/vswprintf.texi: Likewise.
13709         * doc/posix-functions/wcrtomb.texi: Likewise.
13710         * doc/posix-functions/wcscat.texi: Likewise.
13711         * doc/posix-functions/wcschr.texi: Likewise.
13712         * doc/posix-functions/wcscmp.texi: Likewise.
13713         * doc/posix-functions/wcscoll.texi: Likewise.
13714         * doc/posix-functions/wcscpy.texi: Likewise.
13715         * doc/posix-functions/wcscspn.texi: Likewise.
13716         * doc/posix-functions/wcsftime.texi: Likewise.
13717         * doc/posix-functions/wcslen.texi: Likewise.
13718         * doc/posix-functions/wcsncat.texi: Likewise.
13719         * doc/posix-functions/wcsncmp.texi: Likewise.
13720         * doc/posix-functions/wcsncpy.texi: Likewise.
13721         * doc/posix-functions/wcspbrk.texi: Likewise.
13722         * doc/posix-functions/wcsrchr.texi: Likewise.
13723         * doc/posix-functions/wcsrtombs.texi: Likewise.
13724         * doc/posix-functions/wcsspn.texi: Likewise.
13725         * doc/posix-functions/wcsstr.texi: Likewise.
13726         * doc/posix-functions/wcstod.texi: Likewise.
13727         * doc/posix-functions/wcstof.texi: Likewise.
13728         * doc/posix-functions/wcstoimax.texi: Likewise.
13729         * doc/posix-functions/wcstok.texi: Likewise.
13730         * doc/posix-functions/wcstold.texi: Likewise.
13731         * doc/posix-functions/wcstoll.texi: Likewise.
13732         * doc/posix-functions/wcstol.texi: Likewise.
13733         * doc/posix-functions/wcstombs.texi: Likewise.
13734         * doc/posix-functions/wcstoull.texi: Likewise.
13735         * doc/posix-functions/wcstoul.texi: Likewise.
13736         * doc/posix-functions/wcstoumax.texi: Likewise.
13737         * doc/posix-functions/wcswidth.texi: Likewise.
13738         * doc/posix-functions/wcsxfrm.texi: Likewise.
13739         * doc/posix-functions/wctob.texi: Likewise.
13740         * doc/posix-functions/wctomb.texi: Likewise.
13741         * doc/posix-functions/wctrans.texi: Likewise.
13742         * doc/posix-functions/wctype.texi: Likewise.
13743         * doc/posix-functions/wcwidth.texi: Likewise.
13744         * doc/posix-functions/wmemchr.texi: Likewise.
13745         * doc/posix-functions/wmemcmp.texi: Likewise.
13746         * doc/posix-functions/wmemcpy.texi: Likewise.
13747         * doc/posix-functions/wmemmove.texi: Likewise.
13748         * doc/posix-functions/wmemset.texi: Likewise.
13749         * doc/posix-functions/wprintf.texi: Likewise.
13750         * doc/posix-functions/wscanf.texi: Likewise.
13751
13752 2008-12-21  Bruno Haible  <bruno@clisp.org>
13753
13754         Update doc for HP-UX 11.11.
13755         * doc/posix-functions/btowc.texi: Clarify that the function is missing
13756         in HP-UX version 11.00, not in all versions of HP-UX 11.
13757         * doc/posix-functions/fwide.texi: Likewise.
13758         * doc/posix-functions/fwprintf.texi: Likewise.
13759         * doc/posix-functions/fwscanf.texi: Likewise.
13760         * doc/posix-functions/inet_ntop.texi: Likewise.
13761         * doc/posix-functions/inet_pton.texi: Likewise.
13762         * doc/posix-functions/mbrlen.texi: Likewise.
13763         * doc/posix-functions/mbrtowc.texi: Likewise.
13764         * doc/posix-functions/mbsinit.texi: Likewise.
13765         * doc/posix-functions/mbsrtowcs.texi: Likewise.
13766         * doc/posix-functions/swprintf.texi: Likewise.
13767         * doc/posix-functions/swscanf.texi: Likewise.
13768         * doc/posix-functions/towctrans.texi: Likewise.
13769         * doc/posix-functions/vfwprintf.texi: Likewise.
13770         * doc/posix-functions/vswprintf.texi: Likewise.
13771         * doc/posix-functions/vwprintf.texi: Likewise.
13772         * doc/posix-functions/wcrtomb.texi: Likewise.
13773         * doc/posix-functions/wcsrtombs.texi: Likewise.
13774         * doc/posix-functions/wcsstr.texi: Likewise.
13775         * doc/posix-functions/wctob.texi: Likewise.
13776         * doc/posix-functions/wctrans.texi: Likewise.
13777         * doc/posix-functions/wmemchr.texi: Likewise.
13778         * doc/posix-functions/wmemcmp.texi: Likewise.
13779         * doc/posix-functions/wmemcpy.texi: Likewise.
13780         * doc/posix-functions/wmemmove.texi: Likewise.
13781         * doc/posix-functions/wmemset.texi: Likewise.
13782         * doc/posix-functions/wprintf.texi: Likewise.
13783         * doc/posix-functions/wscanf.texi: Likewise.
13784
13785 2008-12-21  Bruno Haible  <bruno@clisp.org>
13786
13787         Work around a portability problem.
13788         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
13789         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
13790
13791 2008-12-20  Bruno Haible  <bruno@clisp.org>
13792
13793         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
13794         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
13795         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
13796         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
13797         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
13798
13799         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
13800         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
13801         set.
13802         (GNULIB_defined_mbstate_t): New macro.
13803         (mbsinit): Redefine if REPLACE_MBSINIT is set.
13804         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
13805         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
13806         reuses the system's mbrtowc function but works around the bugs.
13807         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
13808         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
13809         macros.
13810         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
13811         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
13812         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
13813         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
13814         REPLACE_MBSINIT if mbsinit needs to be overridden.
13815         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
13816         REPLACE_MBSINIT, REPLACE_MBRTOWC.
13817         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
13818         REPLACE_MBSINIT, REPLACE_MBRTOWC.
13819         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
13820         m4/locale-zh.m4.
13821         (Depends): Add mbsinit.
13822         * modules/mbsinit (Depends): Add mbrtowc.
13823         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
13824
13825 2008-12-20  Bruno Haible  <bruno@clisp.org>
13826
13827         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
13828         so that there are no conversion errors on AIX.
13829         * tests/test-mbsrtowcs.c (main): LIkewise.
13830
13831 2008-12-20  Bruno Haible  <bruno@clisp.org>
13832
13833         Work around wctob bug on Solaris <= 9.
13834         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
13835         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
13836         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
13837         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
13838         * modules/wctob (Files): Add m4/locale-fr.m4.
13839         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
13840
13841 2008-12-20  Bruno Haible  <bruno@clisp.org>
13842
13843         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
13844         /dev/null.
13845         * tests/test-select-in.sh: Likewise.
13846         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13847
13848 2008-12-20  Bruno Haible  <bruno@clisp.org>
13849
13850         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
13851         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
13852         Cygwin 1.5.x.
13853
13854 2008-12-20  Bruno Haible  <bruno@clisp.org>
13855
13856         Ensure mbstate_t is defined on HP-UX 11.11.
13857         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
13858         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
13859         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
13860         AC_USE_SYSTEM_EXTENSIONS.
13861         * modules/fnmatch (Depends-on): Add extensions.
13862         * modules/mbrlen (Depends-on): Likewise.
13863         * modules/mbrtowc (Depends-on): Likewise.
13864         * modules/mbsinit (Depends-on): Likewise.
13865         * modules/mbsrtowcs (Depends-on): Likewise.
13866         * modules/mbswidth (Depends-on): Likewise.
13867         * modules/quotearg (Depends-on): Likewise.
13868         * modules/strftime (Depends-on): Likewise.
13869
13870 2008-12-20  Bruno Haible  <bruno@clisp.org>
13871
13872         Ensure wctob is declared on IRIX 6.5.
13873         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
13874         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
13875         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
13876         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
13877         of HAVE_WCTOB.
13878         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
13879         HAVE_WCTOB.
13880         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
13881
13882 2008-12-19  Bruno Haible  <bruno@clisp.org>
13883
13884         * modules/mbsrtowcs-tests: New file.
13885         * tests/test-mbsrtowcs1.sh: New file.
13886         * tests/test-mbsrtowcs2.sh: New file.
13887         * tests/test-mbsrtowcs3.sh: New file.
13888         * tests/test-mbsrtowcs4.sh: New file.
13889         * tests/test-mbsrtowcs.c: New file.
13890
13891         New module 'mbsrtowcs'.
13892         * lib/wchar.in.h (mbsrtowcs): New declaration.
13893         * lib/mbsrtowcs.c: New file.
13894         * m4/mbsrtowcs.m4: New file.
13895         * modules/mbsrtowcs: New file.
13896         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
13897         HAVE_MBSRTOWCS.
13898         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
13899         HAVE_MBSRTOWCS.
13900         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
13901
13902 2008-12-19  Bruno Haible  <bruno@clisp.org>
13903
13904         New module 'mbrlen'.
13905         * lib/wchar.in.h (mbrlen): New declaration.
13906         * lib/mbrlen.c: New file.
13907         * m4/mbrlen.m4: New file.
13908         * modules/mbrlen: New file.
13909         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
13910         HAVE_MBRLEN.
13911         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
13912         HAVE_MBRLEN.
13913         * doc/posix-functions/mbrlen.texi: Document the new module.
13914
13915 2008-12-19  Bruno Haible  <bruno@clisp.org>
13916
13917         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
13918         * modules/mbrtowc (Depends-on): Add verify.
13919         Suggested by Paul Eggert.
13920
13921 2008-12-18  Bruno Haible  <bruno@clisp.org>
13922
13923         * modules/mbsinit-tests: New file.
13924         * tests/test-mbsinit.sh: New file.
13925         * tests/test-mbsinit.c: New file.
13926
13927 2008-12-18  Bruno Haible  <bruno@clisp.org>
13928
13929         * modules/mbrtowc-tests: New file.
13930         * tests/test-mbrtowc1.sh: New file.
13931         * tests/test-mbrtowc2.sh: New file.
13932         * tests/test-mbrtowc3.sh: New file.
13933         * tests/test-mbrtowc4.sh: New file.
13934         * tests/test-mbrtowc.c: New file.
13935
13936         New module 'mbrtowc'.
13937         * lib/wchar.in.h (mbstate_t): Override when the system does not have
13938         mbsinit and mbrtowc.
13939         (mbrtowc): New declaration.
13940         * lib/mbrtowc.c: New file.
13941         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
13942         * modules/mbrtowc: New file.
13943         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
13944         HAVE_MBRTOWC.
13945         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
13946         HAVE_MBRTOWC.
13947         * doc/posix-functions/mbrtowc.texi: Document the new module.
13948
13949 2008-12-18  Bruno Haible  <bruno@clisp.org>
13950
13951         New module 'wctob'.
13952         * lib/wchar.in.h (wctob): New declaration.
13953         * lib/wctob.c: New file.
13954         * m4/wctob.m4: New file.
13955         * modules/wctob: New file.
13956         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
13957         HAVE_WCTOB.
13958         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
13959         * doc/posix-functions/wctob.texi: Document the new module.
13960
13961 2008-12-18  Bruno Haible  <bruno@clisp.org>
13962
13963         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
13964         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
13965
13966 2008-12-18  Simon Josefsson  <simon@josefsson.org>
13967
13968         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
13969         G. Christensen" <tgc@jupiterrise.com>.
13970
13971         * lib/flock.c: Need to include errno.h.  Reported by "Tom
13972         G. Christensen" <tgc@jupiterrise.com>.
13973
13974         * lib/flock.c: Need to include string.h.  Reported by "Tom
13975         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
13976         <ebb9@byu.net>.
13977
13978 2008-12-18  Bruno Haible  <bruno@clisp.org>
13979
13980         * m4/locale-ja.m4: New file, from GNU gettext.
13981
13982 2008-12-17  Bruno Haible  <bruno@clisp.org>
13983
13984         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
13985         Suggested by Eric Blake.
13986
13987 2008-12-17  Bruno Haible  <bruno@clisp.org>
13988
13989         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
13990
13991 2008-12-17  Bruno Haible  <bruno@clisp.org>
13992
13993         * lib/mbsinit.c: Include verify.h. Verify an assumption.
13994         * modules/mbsinit (Depends-on): Add verify.
13995         Suggested by Paul Eggert.
13996
13997 2008-12-17  Bruno Haible  <bruno@clisp.org>
13998
13999         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
14000         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
14001         gl_FUNC_MBRTOWC.
14002         * m4/mbiter.m4 (gl_MBITER): LIkewise.
14003         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
14004         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
14005         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
14006         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
14007         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
14008         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
14009         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
14010         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
14011         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
14012         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
14013         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
14014         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
14015         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
14016         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
14017         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
14018         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
14019         * modules/trim (configure.ac): Likewise.
14020
14021 2008-12-17  Bruno Haible  <bruno@clisp.org>
14022
14023         * modules/btowc-tests: New file.
14024         * tests/test-btowc1.sh: New file.
14025         * tests/test-btowc2.sh: New file.
14026         * tests/test-btowc.c: New file.
14027
14028         New module 'btowc'.
14029         * lib/wchar.in.h (btowc): New declaration.
14030         * lib/btowc.c: New file.
14031         * m4/btowc.m4: New file.
14032         * modules/btowc: New file.
14033         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
14034         HAVE_BTOWC.
14035         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
14036         * doc/posix-functions/btowc.texi: Document the new module.
14037
14038 2008-12-17  Bruno Haible  <bruno@clisp.org>
14039
14040         New module 'mbsinit'.
14041         * lib/wchar.in.h (mbsinit): New declaration.
14042         * lib/mbsinit.c: New file.
14043         * m4/mbsinit.m4: New file.
14044         * modules/mbsinit: New file.
14045         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
14046         HAVE_MBSINIT.
14047         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
14048         HAVE_MBSINIT.
14049         * doc/posix-functions/mbsinit.texi: Document the new module.
14050
14051 2008-12-16  Bruno Haible  <bruno@clisp.org>
14052
14053         * lib/unistd.in.h: Add comment.
14054         * tests/test-environ.c: Don't include <stdlib.h>.
14055
14056 2008-12-16  Bruno Haible  <bruno@clisp.org>
14057
14058         * lib/parse-duration.h (parse_duration): Document return value
14059         convention.
14060         * lib/parse-duration.c: Include specification header first. Add
14061         comments.
14062         (_): Remove macro.
14063         (parse_year_month_day, parse_hour_minute_second): Move side effects
14064         outside of strchr call.
14065         (parse_non_iso8601): Move side effects outside of isspace call.
14066         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
14067         call.
14068
14069 2008-12-16  Bruno Haible  <bruno@clisp.org>
14070
14071         * tests/test-parse-duration.sh: Produce no output when the test
14072         succeeds.
14073
14074 2008-12-16  Bruno Haible  <bruno@clisp.org>
14075
14076         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
14077         expressions.
14078
14079 2008-12-15  Bruno Haible  <bruno@clisp.org>
14080
14081         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
14082         * doc/glibc-functions/flistxattr.texi: Likewise.
14083         * doc/glibc-functions/fopencookie.texi: Likewise.
14084         * doc/glibc-functions/fremovexattr.texi: Likewise.
14085         * doc/glibc-functions/fsetxattr.texi: Likewise.
14086         * doc/glibc-functions/getxattr.texi: Likewise.
14087         * doc/glibc-functions/lgetxattr.texi: Likewise.
14088         * doc/glibc-functions/listxattr.texi: Likewise.
14089         * doc/glibc-functions/llistxattr.texi: Likewise.
14090         * doc/glibc-functions/lremovexattr.texi: Likewise.
14091         * doc/glibc-functions/lsetxattr.texi: Likewise.
14092         * doc/glibc-functions/removexattr.texi: Likewise.
14093         * doc/glibc-functions/setxattr.texi: Likewise.
14094         * doc/posix-functions/open_memstream.texi: Likewise.
14095
14096 2008-12-15  Eric Blake  <ebb9@byu.net>
14097
14098         Update doc for cygwin 1.7.
14099         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
14100         functions.
14101         * doc/posix-functions/fchmodat.texi: Likewise.
14102         * doc/posix-functions/fchownat.texi: Likewise.
14103         * doc/posix-functions/fdopendir.texi: Likewise.
14104         * doc/posix-functions/fmemopen.texi: Likewise.
14105         * doc/posix-functions/freeaddrinfo.texi: Likewise.
14106         * doc/posix-functions/fstatat.texi: Likewise.
14107         * doc/posix-functions/futimens.texi: Likewise.
14108         * doc/posix-functions/gai_strerror.texi: Likewise.
14109         * doc/posix-functions/getaddrinfo.texi: Likewise.
14110         * doc/posix-functions/getnameinfo.texi: Likewise.
14111         * doc/posix-functions/if_freenameindex.texi: Likewise.
14112         * doc/posix-functions/if_indextoname.texi: Likewise.
14113         * doc/posix-functions/if_nameindex.texi: Likewise.
14114         * doc/posix-functions/if_nametoindex.texi: Likewise.
14115         * doc/posix-functions/insque.texi: Likewise.
14116         * doc/posix-functions/linkat.texi: Likewise.
14117         * doc/posix-functions/llrint.texi: Likewise.
14118         * doc/posix-functions/llrintf.texi: Likewise.
14119         * doc/posix-functions/llrintl.texi: Likewise.
14120         * doc/posix-functions/lockf.texi: Likewise.
14121         * doc/posix-functions/lrintl.texi: Likewise.
14122         * doc/posix-functions/mkdirat.texi: Likewise.
14123         * doc/posix-functions/mkfifoat.texi: Likewise.
14124         * doc/posix-functions/mknodat.texi: Likewise.
14125         * doc/posix-functions/mq_close.texi: Likewise.
14126         * doc/posix-functions/mq_getattr.texi: Likewise.
14127         * doc/posix-functions/mq_notify.texi: Likewise.
14128         * doc/posix-functions/mq_open.texi: Likewise.
14129         * doc/posix-functions/mq_receive.texi: Likewise.
14130         * doc/posix-functions/mq_send.texi: Likewise.
14131         * doc/posix-functions/mq_setattr.texi: Likewise.
14132         * doc/posix-functions/mq_timedreceive.texi: Likewise.
14133         * doc/posix-functions/mq_timedsend.texi: Likewise.
14134         * doc/posix-functions/mq_unlink.texi: Likewise.
14135         * doc/posix-functions/open_memstream.texi: Likewise.
14136         * doc/posix-functions/openat.texi: Likewise.
14137         * doc/posix-functions/posix_fadvise.texi: Likewise.
14138         * doc/posix-functions/posix_fallocate.texi: Likewise.
14139         * doc/posix-functions/posix_madvise.texi: Likewise.
14140         * doc/posix-functions/posix_memalign.texi: Likewise.
14141         * doc/posix-functions/posix_openpt.texi: Likewise.
14142         * doc/posix-functions/readlinkat.texi: Likewise.
14143         * doc/posix-functions/remque.texi: Likewise.
14144         * doc/posix-functions/renameat.texi: Likewise.
14145         * doc/posix-functions/rintl.texi: Likewise.
14146         * doc/posix-functions/sem_unlink.texi: Likewise.
14147         * doc/posix-functions/shm_open.texi: Likewise.
14148         * doc/posix-functions/shm_unlink.texi: Likewise.
14149         * doc/posix-functions/signgam.texi: Likewise.
14150         * doc/posix-functions/sigset.texi: Likewise.
14151         * doc/posix-functions/stpcpy.texi: Likewise.
14152         * doc/posix-functions/stpncpy.texi: Likewise.
14153         * doc/posix-functions/strerror.texi: Likewise.
14154         * doc/posix-functions/strtod.texi: Likewise.
14155         * doc/posix-functions/symlinkat.texi: Likewise.
14156         * doc/posix-functions/unlinkat.texi: Likewise.
14157         * doc/posix-functions/utimensat.texi: Likewise.
14158         * doc/glibc-functions/bindresvport.texi: Likewise.
14159         * doc/glibc-functions/dn_expand.texi: Likewise.
14160         * doc/glibc-functions/exp10.texi: Likewise.
14161         * doc/glibc-functions/exp10f.texi: Likewise.
14162         * doc/glibc-functions/fgetxattr.texi: Likewise.
14163         * doc/glibc-functions/flistxattr.texi: Likewise.
14164         * doc/glibc-functions/fopencookie.texi: Likewise.
14165         * doc/glibc-functions/freeifaddrs.texi: Likewise.
14166         * doc/glibc-functions/fremovexattr.texi: Likewise.
14167         * doc/glibc-functions/fsetxattr.texi: Likewise.
14168         * doc/glibc-functions/getifaddrs.texi: Likewise.
14169         * doc/glibc-functions/getxattr.texi: Likewise.
14170         * doc/glibc-functions/lgetxattr.texi: Likewise.
14171         * doc/glibc-functions/listxattr.texi: Likewise.
14172         * doc/glibc-functions/llistxattr.texi: Likewise.
14173         * doc/glibc-functions/lremovexattr.texi: Likewise.
14174         * doc/glibc-functions/lsetxattr.texi: Likewise.
14175         * doc/glibc-functions/pow10.texi: Likewise.
14176         * doc/glibc-functions/pow10f.texi: Likewise.
14177         * doc/glibc-functions/rcmd_af.texi: Likewise.
14178         * doc/glibc-functions/removexattr.texi: Likewise.
14179         * doc/glibc-functions/res_init.texi: Likewise.
14180         * doc/glibc-functions/res_mkquery.texi: Likewise.
14181         * doc/glibc-functions/res_query.texi: Likewise.
14182         * doc/glibc-functions/res_querydomain.texi: Likewise.
14183         * doc/glibc-functions/res_send.texi: Likewise.
14184         * doc/glibc-functions/rresvport_af.texi: Likewise.
14185         * doc/glibc-functions/setxattr.texi: Likewise.
14186         * doc/glibc-functions/strcasestr.texi: Likewise.
14187
14188 2008-12-15  Bruno Haible  <bruno@clisp.org>
14189
14190         Fix compilation error on OSF/1 4.0.
14191         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
14192         <sys/time.h>, simply delegate to the system header.
14193         Reported by Daniel Richard G. <oss@teragram.com>.
14194
14195 2008-12-15  Bruno Haible  <bruno@clisp.org>
14196
14197         * doc/posix-functions/openat.texi: Mention the 'openat' module.
14198         * doc/posix-functions/fchmodat.texi: Likewise.
14199         * doc/posix-functions/fchownat.texi: Likewise.
14200         * doc/posix-functions/fdopendir.texi: Likewise.
14201         * doc/posix-functions/fstatat.texi: Likewise.
14202         * doc/posix-functions/mkdirat.texi: Likewise.
14203         * doc/posix-functions/unlinkat.texi: Likewise.
14204
14205 2008-12-14  Bruno Haible  <bruno@clisp.org>
14206
14207         Update doc for POSIX:2008.
14208         * doc/posix-functions/faccessat.texi: New file.
14209         * doc/posix-functions/fchmodat.texi: New file.
14210         * doc/posix-functions/fchownat.texi: New file.
14211         * doc/posix-functions/fdopendir.texi: New file.
14212         * doc/posix-functions/fstatat.texi: New file.
14213         * doc/posix-functions/futimens.texi: New file.
14214         * doc/posix-functions/linkat.texi: New file.
14215         * doc/posix-functions/mkdirat.texi: New file.
14216         * doc/posix-functions/mkfifoat.texi: New file.
14217         * doc/posix-functions/mknodat.texi: New file.
14218         * doc/posix-functions/open_wmemstream.texi: New file.
14219         * doc/posix-functions/openat.texi: New file.
14220         * doc/posix-functions/psiginfo.texi: New file.
14221         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
14222         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
14223         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
14224         * doc/posix-functions/readlinkat.texi: New file.
14225         * doc/posix-functions/renameat.texi: New file.
14226         * doc/posix-functions/strerror_l.texi: New file.
14227         * doc/posix-functions/symlinkat.texi: New file.
14228         * doc/posix-functions/unlinkat.texi: New file.
14229         * doc/posix-functions/utimensat.texi: New file.
14230         * doc/gnulib.texi (Function Substitutes): Add these subsections.
14231
14232 2008-12-14  Bruno Haible  <bruno@clisp.org>
14233
14234         Update doc for POSIX:2008.
14235         * doc/posix-functions/alphasort.texi: Renamed from
14236         doc/glibc-functions/alphasort.texi.
14237         * doc/posix-functions/dirfd.texi: Renamed from
14238         doc/glibc-functions/dirfd.texi.
14239         * doc/posix-functions/dprintf.texi: Renamed from
14240         doc/glibc-functions/dprintf.texi.
14241         * doc/posix-functions/duplocale.texi: Renamed from
14242         doc/glibc-functions/duplocale.texi.
14243         * doc/posix-functions/fexecve.texi: Renamed from
14244         doc/glibc-functions/fexecve.texi.
14245         * doc/posix-functions/fmemopen.texi: Renamed from
14246         doc/glibc-functions/fmemopen.texi.
14247         * doc/posix-functions/freelocale.texi: Renamed from
14248         doc/glibc-functions/freelocale.texi.
14249         * doc/posix-functions/getdate_err.texi: Renamed from
14250         doc/glibc-functions/getdate_err.texi.
14251         * doc/posix-functions/isalnum_l.texi: Renamed from
14252         doc/glibc-functions/isalnum_l.texi.
14253         * doc/posix-functions/isalpha_l.texi: Renamed from
14254         doc/glibc-functions/isalpha_l.texi.
14255         * doc/posix-functions/isblank_l.texi: Renamed from
14256         doc/glibc-functions/isblank_l.texi.
14257         * doc/posix-functions/iscntrl_l.texi: Renamed from
14258         doc/glibc-functions/iscntrl_l.texi.
14259         * doc/posix-functions/isdigit_l.texi: Renamed from
14260         doc/glibc-functions/isdigit_l.texi.
14261         * doc/posix-functions/isgraph_l.texi: Renamed from
14262         doc/glibc-functions/isgraph_l.texi.
14263         * doc/posix-functions/islower_l.texi: Renamed from
14264         doc/glibc-functions/islower_l.texi.
14265         * doc/posix-functions/isprint_l.texi: Renamed from
14266         doc/glibc-functions/isprint_l.texi.
14267         * doc/posix-functions/ispunct_l.texi: Renamed from
14268         doc/glibc-functions/ispunct_l.texi.
14269         * doc/posix-functions/isspace_l.texi: Renamed from
14270         doc/glibc-functions/isspace_l.texi.
14271         * doc/posix-functions/isupper_l.texi: Renamed from
14272         doc/glibc-functions/isupper_l.texi.
14273         * doc/posix-functions/iswalnum_l.texi: Renamed from
14274         doc/glibc-functions/iswalnum_l.texi.
14275         * doc/posix-functions/iswalpha_l.texi: Renamed from
14276         doc/glibc-functions/iswalpha_l.texi.
14277         * doc/posix-functions/iswblank_l.texi: Renamed from
14278         doc/glibc-functions/iswblank_l.texi.
14279         * doc/posix-functions/iswcntrl_l.texi: Renamed from
14280         doc/glibc-functions/iswcntrl_l.texi.
14281         * doc/posix-functions/iswctype_l.texi: Renamed from
14282         doc/glibc-functions/iswctype_l.texi.
14283         * doc/posix-functions/iswdigit_l.texi: Renamed from
14284         doc/glibc-functions/iswdigit_l.texi.
14285         * doc/posix-functions/iswgraph_l.texi: Renamed from
14286         doc/glibc-functions/iswgraph_l.texi.
14287         * doc/posix-functions/iswlower_l.texi: Renamed from
14288         doc/glibc-functions/iswlower_l.texi.
14289         * doc/posix-functions/iswprint_l.texi: Renamed from
14290         doc/glibc-functions/iswprint_l.texi.
14291         * doc/posix-functions/iswpunct_l.texi: Renamed from
14292         doc/glibc-functions/iswpunct_l.texi.
14293         * doc/posix-functions/iswspace_l.texi: Renamed from
14294         doc/glibc-functions/iswspace_l.texi.
14295         * doc/posix-functions/iswupper_l.texi: Renamed from
14296         doc/glibc-functions/iswupper_l.texi.
14297         * doc/posix-functions/iswxdigit_l.texi: Renamed from
14298         doc/glibc-functions/iswxdigit_l.texi.
14299         * doc/posix-functions/isxdigit_l.texi: Renamed from
14300         doc/glibc-functions/isxdigit_l.texi.
14301         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
14302         doc/glibc-functions/mbsnrtowcs.texi.
14303         * doc/posix-functions/mkdtemp.texi: Renamed from
14304         doc/glibc-functions/mkdtemp.texi.
14305         * doc/posix-functions/newlocale.texi: Renamed from
14306         doc/glibc-functions/newlocale.texi.
14307         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
14308         doc/glibc-functions/nl_langinfo_l.texi.
14309         * doc/posix-functions/open_memstream.texi: Renamed from
14310         doc/glibc-functions/open_memstream.texi.
14311         * doc/posix-functions/opterr.texi: Renamed from
14312         doc/glibc-functions/opterr.texi.
14313         * doc/posix-functions/optind.texi: Renamed from
14314         doc/glibc-functions/optind.texi.
14315         * doc/posix-functions/optopt.texi: Renamed from
14316         doc/glibc-functions/optopt.texi.
14317         * doc/posix-functions/psignal.texi: Renamed from
14318         doc/glibc-functions/psignal.texi.
14319         * doc/posix-functions/scandir.texi: Renamed from
14320         doc/glibc-functions/scandir.texi.
14321         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
14322         doc/glibc-functions/sched_get_priority_min.texi.
14323         * doc/posix-functions/signgam.texi: Renamed from
14324         doc/glibc-functions/signgam.texi.
14325         * doc/posix-functions/stpcpy.texi: Renamed from
14326         doc/glibc-functions/stpcpy.texi.
14327         * doc/posix-functions/stpncpy.texi: Renamed from
14328         doc/glibc-functions/stpncpy.texi.
14329         * doc/posix-functions/strcasecmp_l.texi: Renamed from
14330         doc/glibc-functions/strcasecmp_l.texi.
14331         * doc/posix-functions/strcoll_l.texi: Renamed from
14332         doc/glibc-functions/strcoll_l.texi.
14333         * doc/posix-functions/strfmon_l.texi: Renamed from
14334         doc/glibc-functions/strfmon_l.texi.
14335         * doc/posix-functions/strftime_l.texi: Renamed from
14336         doc/glibc-functions/strftime_l.texi.
14337         * doc/posix-functions/strncasecmp_l.texi: Renamed from
14338         doc/glibc-functions/strncasecmp_l.texi.
14339         * doc/posix-functions/strndup.texi: Renamed from
14340         doc/glibc-functions/strndup.texi.
14341         * doc/posix-functions/strnlen.texi: Renamed from
14342         doc/glibc-functions/strnlen.texi.
14343         * doc/posix-functions/strsignal.texi: Renamed from
14344         doc/glibc-functions/strsignal.texi.
14345         * doc/posix-functions/strxfrm_l.texi: Renamed from
14346         doc/glibc-functions/strxfrm_l.texi.
14347         * doc/posix-functions/timer_gettime.texi: Renamed from
14348         doc/glibc-functions/timer_gettime.texi.
14349         * doc/posix-functions/tolower_l.texi: Renamed from
14350         doc/glibc-functions/tolower_l.texi.
14351         * doc/posix-functions/toupper_l.texi: Renamed from
14352         doc/glibc-functions/toupper_l.texi.
14353         * doc/posix-functions/towctrans_l.texi: Renamed from
14354         doc/glibc-functions/towctrans_l.texi.
14355         * doc/posix-functions/towlower_l.texi: Renamed from
14356         doc/glibc-functions/towlower_l.texi.
14357         * doc/posix-functions/towupper_l.texi: Renamed from
14358         doc/glibc-functions/towupper_l.texi.
14359         * doc/posix-functions/uselocale.texi: Renamed from
14360         doc/glibc-functions/uselocale.texi.
14361         * doc/posix-functions/vdprintf.texi: Renamed from
14362         doc/glibc-functions/vdprintf.texi.
14363         * doc/posix-functions/wcpcpy.texi:
14364         Renamed from doc/glibc-functions/wcpcpy.texi.
14365         * doc/posix-functions/wcpncpy.texi: Renamed from
14366         doc/glibc-functions/wcpncpy.texi.
14367         * doc/posix-functions/wcscasecmp.texi: Renamed from
14368         doc/glibc-functions/wcscasecmp.texi.
14369         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
14370         doc/glibc-functions/wcscasecmp_l.texi.
14371         * doc/posix-functions/wcscoll_l.texi: Renamed from
14372         doc/glibc-functions/wcscoll_l.texi.
14373         * doc/posix-functions/wcsdup.texi: Renamed from
14374         doc/glibc-functions/wcsdup.texi.
14375         * doc/posix-functions/wcsncasecmp.texi: Renamed from
14376         doc/glibc-functions/wcsncasecmp.texi.
14377         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
14378         doc/glibc-functions/wcsncasecmp_l.texi.
14379         * doc/posix-functions/wcsnlen.texi: Renamed from
14380         doc/glibc-functions/wcsnlen.texi.
14381         * doc/posix-functions/wcsnrtombs.texi: Renamed from
14382         doc/glibc-functions/wcsnrtombs.texi.
14383         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
14384         doc/glibc-functions/wcsxfrm_l.texi.
14385         * doc/posix-functions/wctrans_l.texi: Renamed from
14386         doc/glibc-functions/wctrans_l.texi.
14387         * doc/posix-functions/wctype_l.texi: Renamed from
14388         doc/glibc-functions/wctype_l.texi.
14389         * doc/gnulib.texi (Function Substitutes): Add these subsections.
14390         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
14391         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
14392         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
14393         these subsections.
14394         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
14395         Remove sections.
14396
14397 2008-12-14  Bruno Haible  <bruno@clisp.org>
14398
14399         Update doc for POSIX:2008.
14400         * doc/posix-functions/*.texi: Update URL of POSIX specification.
14401
14402 2008-12-14  Bruno Haible  <bruno@clisp.org>
14403
14404         Update doc for POSIX:2008.
14405         * doc/pastposix-functions/bcmp.texi: Renamed from
14406         doc/posix-functions/bcmp.texi.
14407         * doc/pastposix-functions/bcopy.texi: Renamed from
14408         doc/posix-functions/bcopy.texi.
14409         * doc/pastposix-functions/bsd_signal.texi: Renamed from
14410         doc/posix-functions/bsd_signal.texi.
14411         * doc/pastposix-functions/bzero.texi: Renamed from
14412         doc/posix-functions/bzero.texi.
14413         * doc/pastposix-functions/ecvt.texi: Renamed from
14414         doc/posix-functions/ecvt.texi.
14415         * doc/pastposix-functions/fcvt.texi: Renamed from
14416         doc/posix-functions/fcvt.texi.
14417         * doc/pastposix-functions/ftime.texi: Renamed from
14418         doc/posix-functions/ftime.texi.
14419         * doc/pastposix-functions/gcvt.texi: Renamed from
14420         doc/posix-functions/gcvt.texi.
14421         * doc/pastposix-functions/getcontext.texi: Renamed from
14422         doc/posix-functions/getcontext.texi.
14423         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
14424         doc/posix-functions/gethostbyaddr.texi.
14425         * doc/pastposix-functions/gethostbyname.texi: Renamed from
14426         doc/posix-functions/gethostbyname.texi.
14427         * doc/pastposix-functions/getwd.texi: Renamed from
14428         doc/posix-functions/getwd.texi.
14429         * doc/pastposix-functions/h_errno.texi: Renamed from
14430         doc/posix-functions/h_errno.texi.
14431         * doc/pastposix-functions/index.texi: Renamed from
14432         doc/posix-functions/index.texi.
14433         * doc/pastposix-functions/makecontext.texi: Renamed from
14434         doc/posix-functions/makecontext.texi.
14435         * doc/pastposix-functions/mktemp.texi: Renamed from
14436         doc/posix-functions/mktemp.texi.
14437         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
14438         doc/posix-functions/pthread_attr_getstackaddr.texi.
14439         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
14440         doc/posix-functions/pthread_attr_setstackaddr.texi.
14441         * doc/pastposix-functions/rindex.texi: Renamed from
14442         doc/posix-functions/rindex.texi.
14443         * doc/pastposix-functions/scalb.texi: Renamed from
14444         doc/posix-functions/scalb.texi.
14445         * doc/pastposix-functions/setcontext.texi: Renamed from
14446         doc/posix-functions/setcontext.texi.
14447         * doc/pastposix-functions/swapcontext.texi: Renamed from
14448         doc/posix-functions/swapcontext.texi.
14449         * doc/pastposix-functions/ualarm.texi: Renamed from
14450         doc/posix-functions/ualarm.texi.
14451         * doc/pastposix-functions/usleep.texi: Renamed from
14452         doc/posix-functions/usleep.texi.
14453         * doc/pastposix-functions/vfork.texi: Renamed from
14454         doc/posix-functions/vfork.texi.
14455         * doc/pastposix-functions/wcswcs.texi: Renamed from
14456         doc/posix-functions/wcswcs.texi.
14457         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
14458         (Function Substitutes): Update.
14459
14460 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14461
14462         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
14463         m4/strerror.m4.
14464
14465 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14466             Bruno Haible  <bruno@clisp.org>
14467
14468         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
14469
14470 2008-12-13  Bruno Haible  <bruno@clisp.org>
14471
14472         * modules/strtoull (Depends-on): Remove unistd.
14473
14474 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14475
14476         * modules/strtoull (Depends-on): Add stdlib.
14477
14478 2008-12-11  Simon Josefsson  <simon@josefsson.org>
14479
14480         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
14481
14482 2008-12-10  Jim Meyering  <meyering@redhat.com>
14483
14484         gl_ASSERT: don't say assertions are disabled when they're not
14485         * m4/assert.m4 (gl_ASSERT): Do not make configure report
14486         "checking whether to enable assertions... no", when they are in
14487         fact enabled.  This is solely a bug in the output of configure.
14488         In spite of saying "no", NDEBUG was not defined in that case.
14489         Also, as noted by Eric Blake, leave assertions enabled upon
14490         --enable-assert=INVALID.
14491
14492 2008-12-10  Bruno Haible  <bruno@clisp.org>
14493
14494         Change MODULES.html to refer to POSIX:2008 where possible.
14495         * MODULES.html.sh (POSIX2008_URL): New variable.
14496         (posix_headers): Remove sys/timeb, ucontext.
14497         (posix2001_headers): New variable.
14498         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
14499         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
14500         index, makecontext, mktemp, pthread_attr_getstackaddr,
14501         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
14502         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
14503         (posix2001_functions): New variable.
14504         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
14505         otherwise.
14506
14507 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14508
14509         add missing include to parse-duration.c
14510         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
14511         * modules/parse-duration (Depends-on): Add xalloc.
14512
14513         fix sed script reading maint.mk
14514         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
14515         (syntax-check-rules): Use it.
14516
14517 2008-12-09  Bruno Haible  <bruno@clisp.org>
14518
14519         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
14520         MacOS X 10.4/PowerPC.
14521         Reported by Simon Josefsson.
14522
14523 2008-12-08  Jim Meyering  <meyering@redhat.com>
14524
14525         work around mingw's lack of some S_IF definitions
14526         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
14527         Reported by Simon Josefsson.
14528
14529 2008-12-08  Bruno Haible  <bruno@clisp.org>
14530
14531         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
14532         applied to variables. Needed on MacOS X 10.4/PowerPC.
14533         Reported by Simon Josefsson.
14534
14535 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
14536         and Eric Blake  <ebb9@byu.net>
14537
14538         assert: honor --enable-assert
14539         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
14540         order to honor --enable-assert, rather than treating it as a
14541         synonym for --disable-assert.
14542
14543 2008-12-08  Jim Meyering  <meyering@redhat.com>
14544
14545         * lib/posixtm.c: Remove now-useless declaration of mktime.
14546
14547         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
14548
14549 2008-12-07  Bruno Haible  <bruno@clisp.org>
14550
14551         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
14552         test_once): Mark functions as static.
14553         * tests/test-tls.c (test_tls): Likewise.
14554
14555 2008-12-07  Bruno Haible  <bruno@clisp.org>
14556
14557         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
14558         iconv_register_autodetect.
14559
14560 2008-12-07  Jim Meyering  <meyering@redhat.com>
14561
14562         posixtm.c: avoid a warning
14563         * lib/posixtm.c (posixtime): Don't initialize tm0.
14564         It's no longer needed to placate gcc4's -Wuninitialized,
14565         and the attempt to placate would elicit a new warning.
14566
14567         unicodeio.c: mark unused parameters
14568         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
14569         (fallback_failure_callback): Likewise.
14570
14571 2008-12-07  Bruno Haible  <bruno@clisp.org>
14572
14573         * gnulib-tool (func_create_testdir): When building the tests
14574         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
14575         Reported by Simon Josefsson.
14576
14577 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14578
14579         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
14580
14581 2008-12-06  Bruno Haible  <bruno@clisp.org>
14582
14583         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
14584         Suggested by Eric Blake.
14585
14586 2008-12-06  Bruno Haible  <bruno@clisp.org>
14587
14588         Fix a c-stack test failure on MacOS X.
14589         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
14590         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
14591         handler for SIGBUS as well.
14592         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
14593         install a signal handler for SIGBUS as well.
14594         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
14595
14596 2008-12-06  Bruno Haible  <bruno@clisp.org>
14597
14598         Advocacy documentation.
14599         * doc/gnulib-intro.texi (Benefits): New section.
14600         * doc/gnulib.texi: Update.
14601
14602 2008-12-06  Bruno Haible  <bruno@clisp.org>
14603
14604         Document the 'manywarnings' module.
14605         * doc/manywarnings.texi: New file.
14606         * doc/gnulib.texi: Include it.
14607
14608 2008-12-05  Eric Blake  <ebb9@byu.net>
14609
14610         tests: silence some gcc warnings
14611         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
14612         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
14613         type mismatches.
14614
14615 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14616             Bruno Haible  <bruno@clisp.org>
14617
14618         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
14619
14620 2008-11-29  Jim Meyering  <meyering@redhat.com>
14621
14622         unicodeio.c: mark unused parameters
14623         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
14624         (fallback_failure_callback): Likewise.
14625
14626         fts: fix a thinko
14627         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
14628         (set_stat_type): Return S_IF*-valued "type" directly.
14629         Prompted by James Youngman's spotting a related bug.
14630         Confirmed by further testing through find.
14631
14632         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
14633         * lib/fts.c (D_TYPE): Define.
14634         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
14635         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
14636         (s_ifmt_shift_bits): New function.
14637         (set_stat_type): New function.
14638         (fts_build): When not calling fts_stat, call set_stat_type
14639         to propagate dirent.d_type info to fts_read caller.
14640         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
14641         fts_statp->st_mode type information may be valid.
14642
14643 2008-11-28  Simon Josefsson  <simon@josefsson.org>
14644
14645         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
14646         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
14647         <sds@gnu.org>.
14648
14649 2008-11-20  Bruno Haible  <bruno@clisp.org>
14650
14651         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
14652         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
14653         INCLUDE_NEXT.
14654         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
14655         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
14656         * modules/math (Makefile.am): Substitute
14657         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
14658         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
14659
14660 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
14661             Bruno Haible  <bruno@clisp.org>
14662
14663         * lib/stdint.in.h: Define all type macros so that their expansion is
14664         a single typedef'ed token. Fixes a compilation failure in Boost which
14665         does "using ::int8_t;".
14666
14667 2008-11-18  Simon Josefsson  <simon@josefsson.org>
14668
14669         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
14670         gl_MANYWARN_ALL_GCC.
14671         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
14672         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
14673         * modules/manywarnings: New file.
14674         * MODULES.html.sh: Mention manywarnings module.
14675
14676 2008-11-18  Bruno Haible  <bruno@clisp.org>
14677
14678         * doc/gnulib-tool.texi (Unit tests): New section.
14679
14680 2008-11-18  Simon Josefsson  <simon@josefsson.org>
14681
14682         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
14683         paths like 'lib/po/foo.po'.
14684
14685 2008-11-17  Simon Josefsson  <simon@josefsson.org>
14686
14687         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
14688         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
14689
14690 2008-11-17  Simon Josefsson  <simon@josefsson.org>
14691
14692         * m4/warnings.m4: Use CPPFLAGS to really check whether the
14693         parameter works.
14694
14695 2008-11-17  Simon Josefsson  <simon@josefsson.org>
14696
14697         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
14698
14699 2008-11-17  Bruce Korb  <bkorb@gnu.org>
14700
14701         * modules/parse-duration-tests: New file.
14702         * tests/test-parse-duration.sh: New file.
14703         * tests/test-parse-duration.c: New file.
14704
14705         New module 'parse-duration'.
14706         * lib/parse-duration.h: New file.
14707         * lib/parse-duration.c: New file.
14708         * modules/parse-duration: New file.
14709
14710 2008-11-17  Bruno Haible  <bruno@clisp.org>
14711
14712         * tests/test-select-out.sh: Comment out the first pipe test.
14713         Reported by Simon Josefsson.
14714
14715 2008-11-17  Bruno Haible  <bruno@clisp.org>
14716
14717         * modules/getaddrinfo (Depends-on): Add servent, hostent.
14718         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
14719         gl_HOSTENT.
14720
14721 2008-11-17  Bruno Haible  <bruno@clisp.org>
14722
14723         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
14724         -lnetwork and -lnet. Needed for Haiku and BeOS.
14725
14726 2008-11-16  Bruno Haible  <bruno@clisp.org>
14727
14728         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
14729
14730 2008-11-16  Bruno Haible  <bruno@clisp.org>
14731
14732         Avoid test failure on Haiku.
14733         * tests/test-fsync.c: Include <errno.h>.
14734         (main): Don't require that fsync (0) fails.
14735
14736 2008-11-15  Bruno Haible  <bruno@clisp.org>
14737
14738         New module 'hostent'.
14739         * modules/hostent: New file.
14740         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
14741
14742 2008-11-15  Bruno Haible  <bruno@clisp.org>
14743
14744         New module 'servent'.
14745         * modules/servent: New file.
14746         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
14747
14748 2008-11-15  Bruno Haible  <bruno@clisp.org>
14749
14750         Avoid generating same test program with two different rules.
14751         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
14752         test-frexp to test-frexp-nolibm.
14753         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
14754         test-frexpl to test-frexpl-nolibm.
14755
14756 2008-11-15  Bruno Haible  <bruno@clisp.org>
14757
14758         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
14759         $(FREXPL_LIBM).
14760
14761 2008-11-15  Bruno Haible  <bruno@clisp.org>
14762
14763         * lib/netdb.in.h: Activate the definitions also when the system's
14764         <netdb.h> has 'struct addrinfo'.
14765         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
14766         EAI_OVERFLOW or AI_NUMERICSERV.
14767         * doc/posix-headers/netdb.texi: Document the problem.
14768
14769 2008-11-15  Bruno Haible  <bruno@clisp.org>
14770
14771         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
14772
14773         Make the 'sched' module work on platforms where <sched.h> exists but
14774         is incomplete (such as Haiku).
14775         * lib/sched.in.h; Include the system's <sched.h> if it exists.
14776         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
14777         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
14778         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
14779         HAVE_STRUCT_SCHED_PARAM.
14780         * modules/sched (Depends-on): Add include_next.
14781         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
14782         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
14783         * doc/posix-headers/sched.texi: Document the issue.
14784
14785 2008-11-13  Jim Meyering  <meyering@redhat.com>
14786
14787         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
14788         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
14789         test would fail due to the difference in the Report bugs to ...
14790         line.  The expected address is empty, "<>", while the actual
14791         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
14792
14793 2008-11-12  Bruno Haible  <bruno@clisp.org>
14794
14795         lstat: don't compile lstat.c on systems lacking lstat
14796         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
14797         which don't have lstat; this is handled by lib/sys_stat.in.h already.
14798         Reported by Daniel P. Berrange via Jim Meyering.
14799
14800 2008-11-12  Jim Meyering  <meyering@redhat.com>
14801
14802         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
14803
14804 2008-11-12  Simon Josefsson  <simon@josefsson.org>
14805
14806         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
14807         instead.
14808
14809 2008-11-12  Bruno Haible  <bruno@clisp.org>
14810
14811         * lib/unicodeio.c: Include unistr.h.
14812         (utf8_wctomb): Remove function.
14813         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
14814
14815 2008-11-12  Simon Josefsson  <simon@josefsson.org>
14816
14817         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
14818         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
14819         <bruno@clisp.org>.
14820         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
14821
14822 2008-11-12  Simon Josefsson  <simon@josefsson.org>
14823
14824         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
14825         * doc/gnulib.texi: Add section for warnings.
14826
14827 2008-11-11  Bruno Haible  <bruno@clisp.org>
14828
14829         * lib/sockets.h: Add a comment.
14830
14831 2008-11-11  Karl Berry  <karl@gnu.org>
14832
14833         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
14834
14835 2008-11-11  Eric Blake  <ebb9@byu.net>
14836
14837         fdl.texi: avoid git symlinks
14838         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
14839
14840 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
14841
14842         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
14843
14844 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
14845
14846         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
14847         (gl_WARN_ADD): Substitute $2 if literal.
14848
14849 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
14850
14851         * m4/warning.m4: Remove.
14852
14853 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
14854
14855         * m4/warnings.m4: Almost complete rewrite. :-)
14856
14857 2008-11-10  Simon Josefsson  <simon@josefsson.org>
14858
14859         * modules/warnings: New module.
14860         * m4/warnings.m4: New file.
14861         * MODULES.html.sh: Mention warnings module.
14862         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
14863         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
14864
14865 2008-11-10  Eric Blake  <ebb9@byu.net>
14866
14867         fdl.texi: make a symlink to the latest version
14868         * doc/standards.texi: Revert today's earlier change.
14869         * doc/fdl-1.2.texi: Rename from old fdl.texi...
14870         * doc/fdl.texi: ...and replace this with a symlink to the newer
14871         fdl-1.3.texi.
14872
14873 2008-11-10  Bruno Haible  <bruno@clisp.org>
14874
14875         * tests/test-select-fd.c (main): Accept the result file name as fourth
14876         argument.
14877         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
14878         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
14879
14880 2008-11-10  Bruno Haible  <bruno@clisp.org>
14881
14882         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
14883         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
14884         as autoconf-substituted macros.
14885         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
14886         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
14887         gl_NETDB_H_DEFAULTS. Set these variables.
14888         * modules/netdb (Makefile.am): Substitute these variables.
14889
14890 2008-11-10  Eric Blake  <ebb9@byu.net>
14891
14892         standards.texi: include correct file for FDL 1.3
14893         * doc/standards.texi (GNU Free Documentation License): Change
14894         include file to pull in FDL 1.3, not 1.2.
14895
14896         fdl.texi: revert accidental change to license
14897         * doc/fdl.texi: This is FDL 1.2, not 1.3.
14898
14899 2008-11-10  Bruno Haible  <bruno@clisp.org>
14900
14901         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
14902         cross-compiling guesses also when the native compile gives no result.
14903
14904 2008-11-10  Bruno Haible  <bruno@clisp.org>
14905
14906         * lib/spawni.c (__spawni): Force variable into the stack.
14907
14908 2008-11-10  Bruno Haible  <bruno@clisp.org>
14909
14910         Add support for Haiku.
14911         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
14912         glibc and BeOS, but also on Haiku.
14913         * lib/fpurge.c (fpurge): Likewise.
14914         * lib/freadable.c (freadable): Likewise.
14915         * lib/freadahead.c (freadahead): Likewise.
14916         * lib/freading.c (freading): Likewise.
14917         * lib/freadptr.c (freadptr): Likewise.
14918         * lib/freadseek.c (freadptrinc): Likewise.
14919         * lib/fseeko.c (rpl_fseeko): Likewise.
14920         * lib/fseterr.c (fseterr): Likewise.
14921         * lib/fwritable.c (fwritable): Likewise.
14922         * lib/fwriting.c (fwriting): Likewise.
14923         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
14924
14925 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
14926
14927         * lib/config.charset: Treat Haiku like BeOS.
14928
14929 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
14930
14931         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
14932         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
14933
14934 2008-11-08  Bruno Haible  <bruno@clisp.org>
14935
14936         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
14937         AC_CACHE_CHECK.
14938
14939 2008-11-08  Bruno Haible  <bruno@clisp.org>
14940
14941         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
14942
14943 2008-11-08  Bruno Haible  <bruno@clisp.org>
14944
14945         * tests/test-select-fd.c: New file.
14946         * tests/test-select-in.sh: New file.
14947         * tests/test-select-out.sh: New file.
14948         * tests/test-select-stdin.c: New file.
14949         * modules/select-tests (Files): Add the new files.
14950         (Depends-on): Add gettimeofday.
14951         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
14952         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
14953         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
14954
14955 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
14956             Bruno Haible  <bruno@clisp.org>
14957
14958         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
14959
14960 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
14961
14962         * build-aux/pmccabe2html: Added support for C++ source files.
14963
14964 2008-11-05  Ben Pfaff  <blp@gnu.org>
14965
14966         Fix lib/close.c build on Windows.
14967         * modules/close (Files): Add lib/w32sock.h.
14968
14969 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
14970
14971         Accept Bison's NEWS format.
14972         * build-aux/announce-gen (print_news_deltas): Tweak
14973         $re_prefix.
14974
14975 2008-11-04  Bruno Haible  <bruno@clisp.org>
14976
14977         * modules/random_r (Maintainer): Add glibc.
14978
14979 2008-11-04  Simon Josefsson  <simon@josefsson.org>
14980
14981         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
14982         by karl@freefriends.org (Karl Berry).
14983         * doc/alloca.texi: Likewise.
14984         * doc/c-ctype.texi: Likewise.
14985         * doc/c-strcase.texi: Likewise.
14986         * doc/c-strcaseeq.texi: Likewise.
14987         * doc/c-strcasestr.texi: Likewise.
14988         * doc/c-strstr.texi: Likewise.
14989         * doc/c-strtod.texi: Likewise.
14990         * doc/c-strtold.texi: Likewise.
14991         * doc/ctime.texi: Likewise.
14992         * doc/error.texi: Likewise.
14993         * doc/fdl.texi: Likewise.
14994         * doc/gcd.texi: Likewise.
14995         * doc/getdate.texi: Likewise.
14996         * doc/gnulib-intro.texi: Likewise.
14997         * doc/gnulib-tool.texi: Likewise.
14998         * doc/gnulib.texi: Likewise.
14999         * doc/inet_ntoa.texi: Likewise.
15000         * doc/maintain.texi: Likewise.
15001         * doc/make-stds.texi: Likewise.
15002         * doc/quote.texi: Likewise.
15003         * doc/regexprops-generic.texi: Likewise.
15004         * doc/standards.texi: Likewise.
15005         * doc/verify.texi: Likewise.
15006         * doc/visibility.texi: Likewise.
15007         * doc/gnulib.texi (GNU Free Documentation License): Include
15008         fdl-1.3.texi instead of fdl.texi.
15009
15010 2008-11-04  Simon Josefsson  <simon@josefsson.org>
15011
15012         * doc/fdl-1.3.texi: New file, from
15013         <http://www.gnu.org/licenses/fdl-1.3.texi>.
15014         * modules/fdl-1.3: Add.
15015         * MODULES.html.sh: Add fdl-1.3.
15016
15017 2008-11-03  Bruno Haible  <bruno@clisp.org>
15018
15019         Make determination of absolute name of header file work with AIX xlc.
15020         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
15021         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
15022         preprocessing.
15023         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
15024         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
15025
15026 2008-11-03  Simon Josefsson  <simon@josefsson.org>
15027
15028         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
15029         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
15030         <ludo@gnu.org>.
15031
15032 2008-11-02  Bruno Haible  <bruno@clisp.org>
15033
15034         Mark 'strpbrk' obsolete.
15035         * modules/strpbrk (Status, Notice): New sections.
15036         * modules/strtok_r (Depends-on): Add strpbrk.
15037
15038 2008-11-02  Bruno Haible  <bruno@clisp.org>
15039
15040         Mark 'strdup' obsolete.
15041         * modules/strdup (Status, Notice): New sections.
15042         * modules/findprog (Depends-on): Add strdup.
15043         * modules/getaddrinfo (Depends-on): Likewise.
15044         * modules/localename (Depends-on): Likewise.
15045         * modules/relocatable-lib (Depends-on): Likewise.
15046         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
15047         * modules/relocatable-prog (Depends-on): Likewise.
15048         * modules/trim (Depends-on): Likewise.
15049         * modules/unictype/gen-ctype (Depends-on): Likewise.
15050         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
15051
15052 2008-11-02  Bruno Haible  <bruno@clisp.org>
15053
15054         Mark 'strcspn' obsolete.
15055         * modules/strcspn (Status, Notice): New sections.
15056
15057 2008-11-02  Bruno Haible  <bruno@clisp.org>
15058
15059         Mark 'rmdir' obsolete.
15060         * modules/rmdir (Status, Notice): New sections.
15061         * modules/clean-temp (Depends-on): Add rmdir.
15062         * modules/openat (Depends-on): Likewise.
15063
15064 2008-11-02  Bruno Haible  <bruno@clisp.org>
15065
15066         Mark 'raise' obsolete.
15067         * modules/raise (Status, Notice): New sections.
15068         (Include): Specify <signal.h>.
15069         * modules/stdio (Depends-on): Add raise.
15070         * modules/write (Depends-on): Likewise.
15071
15072 2008-11-02  Bruno Haible  <bruno@clisp.org>
15073
15074         Mark 'memset' obsolete.
15075         * modules/memset (Status, Notice): New sections.
15076
15077 2008-11-02  Bruno Haible  <bruno@clisp.org>
15078
15079         Mark 'memmove' obsolete.
15080         * modules/memmove (Status, Notice): New sections.
15081         * modules/argp (Depends-on): Add memmove.
15082         * modules/argz (Depends-on): Likewise.
15083         * modules/canonicalize (Depends-on): Likewise.
15084         * modules/canonicalize-lgpl (Depends-on): Likewise.
15085         * modules/fts (Depends-on): Likewise.
15086         * modules/getcwd (Depends-on): Likewise.
15087         * modules/human (Depends-on): Likewise.
15088         * modules/regex (Depends-on): Likewise.
15089         * modules/striconveh (Depends-on): Likewise.
15090         * modules/trim (Depends-on): Likewise.
15091         * modules/unistr/u8-move (Depends-on): Likewise.
15092         * modules/unistr/u16-move (Depends-on): Likewise.
15093         * modules/unistr/u32-move (Depends-on): Likewise.
15094
15095 2008-11-02  Bruno Haible  <bruno@clisp.org>
15096
15097         Mark 'memcpy' obsolete.
15098         * modules/memcpy (Status, Notice): New sections.
15099
15100 2008-11-02  Bruno Haible  <bruno@clisp.org>
15101
15102         Mark 'memcmp' obsolete.
15103         * modules/memcmp (Status, Notice): New sections.
15104         * modules/argmatch (Depends-on): Add memchr.
15105         * modules/backupfile (Depends-on): Likewise.
15106         * modules/c-strcasestr (Depends-on): Likewise.
15107         * modules/crypto/des (Depends-on): Likewise.
15108         * modules/csharpcomp (Depends-on): Likewise.
15109         * modules/fnmatch (Depends-on): Likewise.
15110         * modules/git-merge-changelog (Depends-on): Likewise.
15111         * modules/isnand (Depends-on): Likewise.
15112         * modules/isnand-nolibm (Depends-on): Likewise.
15113         * modules/isnanf (Depends-on): Likewise.
15114         * modules/isnanf-nolibm (Depends-on): Likewise.
15115         * modules/isnanl (Depends-on): Likewise.
15116         * modules/isnanl-nolibm (Depends-on): Likewise.
15117         * modules/mbchar (Depends-on): Likewise.
15118         * modules/memcoll (Depends-on): Likewise.
15119         * modules/quotearg (Depends-on): Likewise.
15120         * modules/regex (Depends-on): Likewise.
15121         * modules/relocatable-prog (Depends-on): Likewise.
15122         * modules/same (Depends-on): Likewise.
15123         * modules/signbit (Depends-on): Likewise.
15124         * modules/strcasestr-simple (Depends-on): Likewise.
15125         * modules/unictype/gen-ctype (Depends-on): Likewise.
15126         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
15127         * modules/uniname/uniname (Depends-on): Likewise.
15128         * modules/unistr/u8-cmp (Depends-on): Likewise.
15129
15130 2008-11-02  Bruno Haible  <bruno@clisp.org>
15131
15132         Mark 'memchr' obsolete.
15133         * modules/memchr (Status, Notice): New sections.
15134         * modules/argp (Depends-on): Add memchr.
15135         * modules/base64 (Depends-on): Likewise.
15136         * modules/c-strcasestr (Depends-on): Likewise.
15137         * modules/chdir-long (Depends-on): Likewise.
15138         * modules/fnmatch (Depends-on): Likewise.
15139         * modules/getsubopt (Depends-on): Likewise.
15140         * modules/git-merge-changelog (Depends-on): Likewise.
15141         * modules/glob (Depends-on): Likewise.
15142         * modules/strcasestr-simple (Depends-on): Likewise.
15143         * modules/strnlen (Depends-on): Likewise.
15144
15145 2008-11-02  Bruno Haible  <bruno@clisp.org>
15146
15147         Mark 'atexit' obsolete.
15148         * modules/atexit (Status, Notice): New sections.
15149         * modules/chdir-long (Depends-on): Add atexit.
15150         * modules/wait-process (Depends-on): Likewise.
15151
15152 2008-11-02  Bruno Haible  <bruno@clisp.org>
15153
15154         * gnulib-tool: New option --with-obsolete.
15155         (func_usage): Document it.
15156         (func_modules_transitive_closure): Drop obsolete dependencies if
15157         incobsolete is not true.
15158         (func_import): Read and save the incobsolete variable to the cache.
15159
15160 2008-11-02  Bruno Haible  <bruno@clisp.org>
15161
15162         * modules/TEMPLATE-EXTENDED: New field 'Status'.
15163         * gnulib-tool: New option --extract-status.
15164         (func_usage): Document it.
15165         (sed_extract_prog): Recognize it.
15166         (func_get_status): New function.
15167
15168 2008-10-30  Simon Josefsson  <simon@josefsson.org>
15169
15170         * modules/sockets (License): Change from LGPL to LGPLv2+.
15171
15172 2008-10-28  Simon Josefsson  <simon@josefsson.org>
15173
15174         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
15175
15176 2008-10-28  Simon Josefsson  <simon@josefsson.org>
15177
15178         * MODULES.html.sh (Support for systems lacking POSIX:2001):
15179         Mention times and sys_times.
15180         * modules/sys_times, modules/sys_times-tests: New modules.
15181         * modules/times, modules/times-tests: Likewise
15182         * m4/sys_times_h.m4: New file.
15183         * lib/sys_times.in.h: Likewise
15184         * lib/times.c: Likewise.
15185         * tests/test-sys_times.c: Likewise.
15186         * tests/test-times.c: Likewise.
15187         * doc/posix-headers/sys_times.texi: Update.
15188         * doc/posix-functions/times.texi: Update.
15189
15190 2008-10-28  Jim Meyering  <meyering@redhat.com>
15191
15192         * modules/tempname (Depends-on): Add lstat.
15193
15194         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
15195
15196 2008-10-28  Simon Josefsson  <simon@josefsson.org>
15197
15198         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
15199         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
15200         using idiom used elsewhere in gnulib.
15201
15202 2008-10-27  Jim Meyering  <meyering@redhat.com>
15203
15204         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
15205
15206 2008-10-27  Simon Josefsson  <simon@josefsson.org>
15207
15208         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
15209         TESTS_ENVIRONMENT, for shell scripts that needs to call built
15210         programs.
15211         * tests/test-argp-2.sh: Use $EXEEXT when needed.
15212
15213 2008-10-27  Simon Josefsson  <simon@josefsson.org>
15214
15215         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
15216
15217 2008-10-27  Bruno Haible  <bruno@clisp.org>
15218
15219         * tests/test-lstat.c: Include <stdio.h>.
15220
15221 2008-10-27  Simon Josefsson  <simon@josefsson.org>
15222
15223         * modules/lstat-tests: New module.
15224         * tests/test-lstat.c: New file.
15225
15226 2008-10-26  Jim Meyering  <meyering@redhat.com>
15227
15228         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
15229
15230 2008-10-26  Simon Josefsson  <simon@josefsson.org>
15231             Bruno Haible  <bruno@clisp.org>
15232
15233         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
15234         * modules/configmake (Include): Add a note that the include must come
15235         after all system headers.
15236         * lib/javaversion.c: Include configmake.h after all other includes.
15237
15238 2008-10-26  Bruno Haible  <bruno@clisp.org>
15239
15240         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
15241         HAVE_STRUCT_RANDOM_DATA to 1.
15242         (gl_STDLIB_H): Simplify.
15243
15244 2008-10-26  Simon Josefsson  <simon@josefsson.org>
15245
15246         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
15247         substitute HAVE_STRUCT_RANDOM_DATA.
15248         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
15249         random_data.
15250         * modules/stdlib (Makefile.am): Substitute
15251         HAVE_STRUCT_RANDOM_DATA.
15252
15253 2008-10-26  Simon Josefsson  <simon@josefsson.org>
15254
15255         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
15256         * doc/gnulib-intro.texi (Copyright): Likewise.
15257
15258 2008-10-26  Simon Josefsson  <simon@josefsson.org>
15259
15260         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
15261         findings.
15262
15263 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
15264             Bruno Haible  <bruno@clisp.org>
15265
15266         * lib/unistd.in.h: Include <winsock2.h>.
15267         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
15268         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
15269         Provide dummy declarations.
15270         (gethostname): Override.
15271         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
15272         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
15273         gl_PREREQ_SYS_H_WINSOCK2.
15274         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
15275         * doc/posix-functions/gethostname.texi: More details.
15276
15277 2008-10-25  Bruno Haible  <bruno@clisp.org>
15278
15279         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
15280         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
15281         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
15282
15283         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
15284         here ...
15285         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
15286         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
15287         gl_UNISTD_H_DEFAULTS.
15288
15289 2008-10-25  Eric Blake  <ebb9@byu.net>
15290
15291         signbit: avoid spurious compiler failure
15292         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
15293         declarations inside function.
15294
15295 2008-10-24  Simon Josefsson  <simon@josefsson.org>
15296             Bruno Haible  <bruno@clisp.org>
15297
15298         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
15299         * modules/random_r (Depends-on): Add stdint.
15300
15301 2008-10-24  Bruno Haible  <bruno@clisp.org>
15302
15303         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
15304         Eggert.
15305         * modules/strerror (License): Likewise.
15306
15307 2008-10-24  Jim Meyering  <meyering@redhat.com>
15308
15309         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
15310         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
15311
15312 2008-10-24  Eric Blake  <ebb9@byu.net>
15313
15314         getgroups: fix compilation when getgroups is available
15315         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
15316         but with <config.h> override of getgroups disabled.
15317
15318 2008-10-24  Simon Josefsson  <simon@josefsson.org>
15319
15320         * doc/gnulib.texi (Header files): Add note about C++ problems.
15321         Explained by Bruno Haible <bruno@clisp.org>.
15322
15323 2008-10-23  Bruno Haible  <bruno@clisp.org>
15324
15325         Define a dummy SA_NODEFER macro on Interix.
15326         * lib/signal.in.h (SA_NODEFER): Define fallback.
15327         Reported by Aleksey Cheusov <cheusov@tut.by> via
15328         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
15329
15330 2008-10-23  Bruno Haible  <bruno@clisp.org>
15331
15332         * modules/freadahead (License): Change to LGPLv2+.
15333         Suggested by Simon Josefsson.
15334
15335 2008-10-23  Jim Meyering  <meyering@redhat.com>
15336
15337         random_r: new module
15338         * modules/random_r: New file.
15339         * m4/random_r.m4: New file.
15340         * lib/random_r.c: New file, from glibc.
15341         * modules/random_r-tests: New file.
15342         * tests/test-random_r.c: New file.
15343         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
15344          Declare.
15345         (RAND_MAX): Define.
15346         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
15347         * modules/stdlib: Substitute them, too.
15348         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
15349         * doc/glibc-functions/initstate_r.texi: Mention the new module.
15350         * doc/glibc-functions/random_r.texi: Likewise.
15351         * doc/glibc-functions/setstate_r.texi: Likewise.
15352         * doc/glibc-functions/srandom_r.texi: Likewise.
15353         * config/srclist.txt: Mention it.
15354
15355 2008-10-23  David Lutterkort  <lutter@redhat.com>
15356
15357         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
15358         link requirement
15359
15360 2008-10-23  Jim Meyering  <meyering@redhat.com>
15361
15362         selinux-h: mark parameters of stub functions as intentionally unused
15363         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
15364         * lib/se-context.in.h: Likewise.
15365
15366 2008-10-22  Simon Josefsson  <simon@josefsson.org>
15367
15368         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
15369
15370 2008-10-22  Simon Josefsson  <simon@josefsson.org>
15371
15372         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
15373
15374 2008-10-22  Eric Blake  <ebb9@byu.net>
15375
15376         glthread/thread: avoid compiler warning
15377         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
15378         Add unreachable abort to silence compiler.
15379
15380 2008-10-22  Eric Blake  <ebb9@byu.net>
15381
15382         netdb: also supply struct addrinfo for cygwin 1.5.x
15383         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
15384         older cygwin.
15385         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
15386         cygwin.
15387         * doc/posix-headers/netdb.texi (netdb.h): Document this.
15388
15389 2008-10-22  Bruno Haible  <bruno@clisp.org>
15390
15391         * users.txt: Update entry about pspp.
15392
15393 2008-10-21  Bruno Haible  <bruno@clisp.org>
15394
15395         Simplification.
15396         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
15397         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
15398
15399         Simplification.
15400         * lib/ioctl.c (ioctl): Don't undefine.
15401         * lib/socket.c (socket): Don't undefine.
15402
15403         Remove unused module indicator macros.
15404         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
15405         GNULIB_$1 as a C macro.
15406
15407         * doc/posix-functions/close.texi: Undo last change.
15408         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
15409         Windows platforms.
15410
15411 2008-10-21  Bruno Haible  <bruno@clisp.org>
15412
15413         Add gethostname() declaration to <unistd.h>.
15414         * lib/unistd.in.h (gethostname): New declaration.
15415         * lib/gethostname.c: Include <unistd.h>.
15416         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
15417         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
15418         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
15419         and HAVE_GETHOSTNAME.
15420         * modules/gethostname (Depends-on): Add unistd.
15421         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
15422         (Include): Specify <unistd.h>.
15423         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
15424         HAVE_GETHOSTNAME.
15425         * tests/test-gethostname.c: Include <unistd.h> first.
15426
15427 2008-10-21  Bruno Haible  <bruno@clisp.org>
15428
15429         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
15430         * modules/select-tests (Depends-on): Likewise.
15431         Reported by Simon Josefsson.
15432
15433 2008-10-21  Simon Josefsson  <simon@josefsson.org>
15434
15435         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
15436         * lib/accept.c: New file, based on winsock.c.
15437         * lib/bind.c: New file, based on winsock.c.
15438         * lib/connect.c: New file, based on winsock.c.
15439         * lib/getpeername.c: New file, based on winsock.c.
15440         * lib/getsockname.c: New file, based on winsock.c.
15441         * lib/getsockopt.c: New file, based on winsock.c.
15442         * lib/ioctl.c: New file, based on winsock.c.
15443         * lib/listen.c: New file, based on winsock.c.
15444         * lib/recv.c: New file, based on winsock.c.
15445         * lib/recvfrom.c: New file, based on winsock.c.
15446         * lib/send.c: New file, based on winsock.c.
15447         * lib/sendto.c: New file, based on winsock.c.
15448         * lib/setsockopt.c: New file, based on winsock.c.
15449         * lib/shutdown.c: New file, based on winsock.c.
15450         * lib/socket.c: New file, based on winsock.c.
15451         * lib/w32sock.h: New file, based on winsock.c.
15452         * lib/winsock.c: Remove file.
15453         * modules/accept: Likewise.
15454         * modules/bind: Likewise.
15455         * modules/connect: Likewise.
15456         * modules/getpeername: Likewise.
15457         * modules/getsockname: Likewise.
15458         * modules/getsockopt: Likewise.
15459         * modules/ioctl: Likewise.
15460         * modules/listen: Likewise.
15461         * modules/recv: Likewise.
15462         * modules/recvfrom: Likewise.
15463         * modules/send: Likewise.
15464         * modules/sendto: Likewise.
15465         * modules/setsockopt: Likewise.
15466         * modules/shutdown: Likewise.
15467         * modules/socket: Use socket.c instead of winsock.c.
15468         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
15469         * doc/posix-functions/accept.texi: Doc fix.
15470         * doc/posix-functions/bind.texi: Doc fix.
15471         * doc/posix-functions/close.texi: Doc fix.
15472         * doc/posix-functions/connect.texi: Doc fix.
15473         * doc/posix-functions/getpeername.texi: Doc fix.
15474         * doc/posix-functions/getsockname.texi: Doc fix.
15475         * doc/posix-functions/getsockopt.texi: Doc fix.
15476         * doc/posix-functions/ioctl.texi: Doc fix.
15477         * doc/posix-functions/listen.texi: Doc fix.
15478         * doc/posix-functions/recv.texi: Doc fix.
15479         * doc/posix-functions/recvfrom.texi: Doc fix.
15480         * doc/posix-functions/send.texi: Doc fix.
15481         * doc/posix-functions/sendto.texi: Doc fix.
15482         * doc/posix-functions/setsockopt.texi: Doc fix.
15483         * doc/posix-functions/shutdown.texi: Doc fix.
15484         * doc/posix-functions/socket.texi: Doc fix.
15485
15486 2008-10-20  Bruno Haible  <bruno@clisp.org>
15487
15488         Take into account the role of SIGABRT_COMPAT on Windows 2008.
15489         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
15490         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
15491         as an alias for SIGABRT.
15492         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
15493         (sigaction): Map it to SIGABRT.
15494         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
15495
15496 2008-10-20  Bruno Haible  <bruno@clisp.org>
15497
15498         * lib/fts.c: Don't include lstat.h.
15499         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
15500
15501         Move the lstat() declaration to <sys/stat.h>.
15502         * lib/lstat.h: Remove file.
15503         * lib/sys_stat.in.h: Add special invocation convention.
15504         (lstat): New declaration.
15505         * lib/lstat.c (orig_lstat): New function.
15506         (rpl_lstat): Use orig_lstat instead of lstat.
15507         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
15508         AC_C_INLINE. Set REPLACE_LSTAT.
15509         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
15510         and REPLACE_LSTAT.
15511         * modules/lstat (Files): Remove lib/lstat.h.
15512         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
15513         (Include): Specify <sys/stat.h> instead of lstat.h.
15514         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
15515         REPLACE_LSTAT.
15516         * NEWS: Mention the change.
15517
15518 2008-10-20  Bruno Haible  <bruno@clisp.org>
15519
15520         * modules/posix_spawn-tests: New file.
15521         * tests/test-posix_spawn3.c: New file.
15522
15523 2008-10-20  Bruno Haible  <bruno@clisp.org>
15524
15525         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
15526         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
15527         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
15528         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
15529         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
15530
15531 2008-10-20  Bruno Haible  <bruno@clisp.org>
15532
15533         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
15534         of posix_spawn on AIX 5.3.
15535
15536 2008-10-20  Bruno Haible  <bruno@clisp.org>
15537
15538         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
15539
15540 2008-10-20  Bruno Haible  <bruno@clisp.org>
15541
15542         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
15543         of AC_LANG_PROGRAM.
15544
15545 2008-10-20  Simon Josefsson  <simon@josefsson.org>
15546
15547         * lib/netdb.in.h: Don't define GNU specific constants until they
15548         are supported or needed.  Reported by Bruno Haible
15549         <bruno@clisp.org>.
15550
15551 2008-10-20  Simon Josefsson  <simon@josefsson.org>
15552
15553         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
15554
15555 2008-10-20  Simon Josefsson  <simon@josefsson.org>
15556
15557         * lib/getaddrinfo.h: Remove file.
15558         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
15559         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
15560         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
15561         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
15562         * modules/netdb: Substitute GNULIB_GETADDRINFO.
15563         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
15564         * tests/test-getaddrinfo.c: Likewise.
15565         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
15566         * NEWS: Mention change.
15567
15568 2008-10-19  Bruno Haible  <bruno@clisp.org>
15569
15570         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
15571
15572 2008-10-19  Bruno Haible  <bruno@clisp.org>
15573
15574         * lib/wait-process.c: Include simply <sys/wait.h>.
15575         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
15576         WIFSTOPPED): Remove fallback definitions.
15577         * modules/wait-process (Depends-on): Add sys_wait.
15578
15579         New module 'sys_wait'.
15580         * modules/sys_wait: New file.
15581         * lib/sys_wait.in.h: New file, partially copied from
15582         lib/wait-process.c.
15583         * m4/sys_wait_h.m4: New file.
15584         * doc/posix-headers/sys_wait.texi: Mention the new module.
15585
15586 2008-10-19  Bruno Haible  <bruno@clisp.org>
15587
15588         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
15589
15590 2008-10-19  Bruno Haible  <bruno@clisp.org>
15591
15592         Assume that waitpid() fills an 'int' status, not a 'union wait'.
15593         * lib/wait-process.c (WAIT_T): Remove type.
15594         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
15595         (wait_subprocess): Update.
15596
15597 2008-10-19  Bruno Haible  <bruno@clisp.org>
15598
15599         New module 'atoll'.
15600         * modules/atoll: New file.
15601         * lib/stdlib.in.h (atoll): New declaration.
15602         * lib/atoll.c: New file, from glibc with modifications.
15603         * m4/atoll.m4: New file.
15604         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
15605         HAVE_ATOLL.
15606         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
15607         * doc/posix-functions/atoll.texi: Mention the new module.
15608
15609 2008-10-19  Bruno Haible  <bruno@clisp.org>
15610
15611         Add strtoull() declaration to <stdlib.h>.
15612         * lib/stdlib.in.h (strtoull): New declaration.
15613         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
15614         Set HAVE_STRTOULL.
15615         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
15616         HAVE_STRTOULL.
15617         * modules/strtoull (Depends-on): Add stdlib.
15618         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
15619         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
15620         HAVE_STRTOULL.
15621
15622 2008-10-19  Bruno Haible  <bruno@clisp.org>
15623
15624         Add strtoll() declaration to <stdlib.h>.
15625         * lib/stdlib.in.h (strtoll): New declaration.
15626         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
15627         Set HAVE_STRTOLL.
15628         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
15629         HAVE_STRTOLL.
15630         * modules/strtoll (Depends-on): Add stdlib.
15631         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
15632         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
15633
15634 2008-10-19  Bruno Haible  <bruno@clisp.org>
15635
15636         * modules/bcopy (Depends-on): Add strings.
15637         (Include): Specify <strings.h>.
15638
15639 2008-10-19  Bruno Haible  <bruno@clisp.org>
15640
15641         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
15642
15643 2008-10-19  Bruno Haible  <bruno@clisp.org>
15644
15645         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
15646         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
15647         mingw.
15648
15649 2008-10-19  Bruno Haible  <bruno@clisp.org>
15650
15651         * lib/atanl.c: Don't include isnanl.h.
15652         * lib/cosl.c: Likewise.
15653         * lib/ldexpl.c: Likewise.
15654         * lib/logl.c: Likewise.
15655         * lib/sinl.c: Likewise.
15656         * lib/sqrtl.c: Likewise.
15657         * lib/tanl.c: Likewise.
15658
15659         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
15660         * lib/isnanf.h: Remove file.
15661         * lib/isnand.h: Remove file.
15662         * lib/isnanl.h: Remove file.
15663         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
15664         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
15665         macros.
15666         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
15667         HAVE_ISNANF, don't define it as a C macro.
15668         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
15669         HAVE_ISNAND, don't define it as a C macro.
15670         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
15671         HAVE_ISNANL, don't define it as a C macro.
15672         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
15673         HAVE_ISNAN[FDL].
15674         * modules/isnanf (Files): Remove lib/isnanf.h.
15675         (Depends-on): Add math.
15676         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
15677         (Include): Specify <math.h> instead of isnanf.h.
15678         * modules/isnand (Files): Remove lib/isnand.h.
15679         (Depends-on): Add math.
15680         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
15681         (Include): Specify <math.h> instead of isnand.h.
15682         * modules/isnanl (Files): Remove lib/isnanl.h.
15683         (Depends-on): Add math.
15684         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
15685         (Include): Specify <math.h> instead of isnanl.h.
15686         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
15687         HAVE_ISNAN[FDL].
15688         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
15689         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
15690         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
15691         * NEWS: Mention the change.
15692
15693 2008-10-18  Bruno Haible  <bruno@clisp.org>
15694
15695         Add getusershell(), setusershell(), endusershell() declarations to
15696         <unistd.h>.
15697         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
15698         declarations.
15699         * lib/getusershell.c: Include unistd.h.
15700         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
15701         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
15702         HAVE_GETUSERSHELL.
15703         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
15704         and HAVE_GETUSERSHELL.
15705         * modules/getusershell (Depends-on): Add unistd, extensions.
15706         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
15707         (Include): Specify <unistd.h>.
15708         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
15709         HAVE_GETUSERSHELL.
15710
15711 2008-10-18  Bruno Haible  <bruno@clisp.org>
15712
15713         Add a getloadavg() declaration to <stdlib.h>.
15714         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
15715         getloadavg declaration.
15716         (getloadavg): New declaration.
15717         * lib/getloadavg.c: Include <stdlib.h> first.
15718         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
15719         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
15720         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
15721         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
15722         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
15723         * modules/getloadavg (Depends-on): Add stdlib, extensions.
15724         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
15725         (Include): Specify <stdlib.h>.
15726         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
15727         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
15728
15729 2008-10-18  Bruno Haible  <bruno@clisp.org>
15730
15731         * lib/dirchownmod.c: Don't include lchmod.h.
15732
15733         Move the lchmod() declaration to <sys/stat.h>.
15734         * lib/lchmod.h: Remove file.
15735         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
15736         (lchmod): New declaration, moved here from lib/lchown.h.
15737         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
15738         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
15739         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
15740         and HAVE_LCHMOD.
15741         * modules/lchmod (Files): Remove lib/lchmod.h.
15742         (Depends-on): Add sys_stat, extensions.
15743         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
15744         (Include): Specify <sys/stat.h> instead of lchmod.h.
15745         * modules/sys_stat (Depends-on): Add link-warning.
15746         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
15747         definition of GL_LINK_WARNING.
15748         * NEWS: Mention the change.
15749
15750 2008-10-18  Bruno Haible  <bruno@clisp.org>
15751
15752         * lib/fchdir.c: Don't include dirfd.h.
15753         * lib/fts.c: Likewise.
15754         * lib/getcwd.c: Likewise.
15755         * lib/glob.c: Likewise.
15756
15757         Move the dirfd() declaration to <dirent.h>.
15758         * lib/dirfd.h: Remove file.
15759         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
15760         (dirfd): New declaration.
15761         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
15762         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
15763         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
15764         HAVE_DECL_DIRFD.
15765         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
15766         HAVE_DECL_DIRFD.
15767         * modules/dirfd (Files): Remove lib/dirfd.h.
15768         (Depends-on): Add dirent, extensions.
15769         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
15770         (Include): Specify <dirent.h> instead of dirfd.h.
15771         * modules/dirent (Depends-on): Add link-warning.
15772         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
15773         definition of GL_LINK_WARNING.
15774         * NEWS: Mention the change.
15775
15776 2008-10-18  Bruno Haible  <bruno@clisp.org>
15777
15778         Move the euidaccess() declaration to <unistd.h>.
15779         * lib/euidaccess.h: Remove file.
15780         * lib/unistd.in.h (euidaccess): New declaration.
15781         * lib/euidaccess.c: Don't include euidaccess.h.
15782         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
15783         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
15784         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
15785         and HAVE_EUIDACCESS.
15786         * modules/euidaccess (Files): Remove lib/euidaccess.h.
15787         (Depends-on): Add unistd.
15788         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
15789         (Include): Specify <unistd.h> instead of euidaccess.h.
15790         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
15791         HAVE_EUIDACCESS.
15792         * NEWS: Mention the change.
15793
15794 2008-10-18  Bruno Haible  <bruno@clisp.org>
15795
15796         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
15797
15798         Move the getdomainname() declaration to <unistd.h>.
15799         * lib/getdomainname.h: Remove file.
15800         * lib/unistd.in.h (getdomainname): New declaration.
15801         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
15802         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
15803         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
15804         HAVE_GETDOMAINNAME.
15805         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
15806         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
15807         * modules/getdomainname (Files): Remove lib/getdomainname.h.
15808         (Depends-on): Add unistd, extensions.
15809         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
15810         (Includes): Specify <unistd.h> instead of getdomainname.h.
15811         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
15812         HAVE_GETDOMAINNAME.
15813         * NEWS: Mention the change.
15814
15815 2008-10-18  Bruno Haible  <bruno@clisp.org>
15816
15817         * modules/dirent: New file.
15818         * m4/dirent_h.m4: New file.
15819         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
15820         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
15821         * modules/fchdir (Files): Remove lib/dirent.in.h.
15822         (Depends-on): Add dirent.
15823         (Makefile.am): Move rules to modules/dirent.
15824         * doc/posix-headers/dirent.texi: Mention the new module.
15825
15826 2008-10-18  Bruno Haible  <bruno@clisp.org>
15827
15828         Avoid -Wunused-parameter warnings in public gnulib header files.
15829         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
15830         macro.
15831         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
15832
15833 2008-10-18  Bruno Haible  <bruno@clisp.org>
15834
15835         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
15836         * doc/glibc-functions/error.texi: Mention the module 'error'.
15837         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
15838         * doc/glibc-functions/getdomainname.texi: Mention the module
15839         'getdomainname'.
15840         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
15841         * doc/glibc-functions/getpagesize.texi: Mention the module
15842         'getpagesize'.
15843         * doc/glibc-functions/getusershell.texi: Mention the module
15844         'getusershell'.
15845         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
15846         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
15847         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
15848         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
15849         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
15850         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
15851         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
15852         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
15853         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
15854         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
15855         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
15856         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
15857         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
15858         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
15859
15860 2008-10-17  Bruno Haible  <bruno@clisp.org>
15861
15862         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
15863         HP-UX and IRIX, use -0.0L.
15864         * tests/test-ceill.c (minus_zero): Likewise.
15865         * tests/test-floorl.c (minus_zero): Likewise.
15866         * tests/test-frexpl.c (minus_zero): Likewise.
15867         * tests/test-isnan.c (minus_zerol): Likewise.
15868         * tests/test-isnanl.h (minus_zero): Likewise.
15869         * tests/test-ldexpl.c (minus_zero): Likewise.
15870         * tests/test-roundl.c (minus_zero): Likewise.
15871         * tests/test-signbit.c (minus_zerol): Likewise.
15872         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
15873         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
15874         * tests/test-truncl.c (minus_zero): Likewise.
15875         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
15876         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
15877         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
15878         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
15879
15880 2008-10-17  Bruno Haible  <bruno@clisp.org>
15881
15882         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
15883         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
15884         that it gets activated only for gcc >= 3.0.
15885         * lib/dirent.in.h: Likewise.
15886         * lib/errno.in.h: Likewise.
15887         * lib/fcntl.in.h: Likewise.
15888         * lib/float.in.h: Likewise.
15889         * lib/iconv.in.h: Likewise.
15890         * lib/inttypes.in.h: Likewise.
15891         * lib/locale.in.h: Likewise.
15892         * lib/math.in.h: Likewise.
15893         * lib/netdb.in.h: Likewise.
15894         * lib/netinet_in.in.h: Likewise.
15895         * lib/search.in.h: Likewise.
15896         * lib/signal.in.h: Likewise.
15897         * lib/spawn.in.h: Likewise.
15898         * lib/stdarg.in.h: Likewise.
15899         * lib/stdint.in.h: Likewise.
15900         * lib/stdio.in.h: Likewise.
15901         * lib/stdlib.in.h: Likewise.
15902         * lib/string.in.h: Likewise.
15903         * lib/strings.in.h: Likewise.
15904         * lib/sys_file.in.h: Likewise.
15905         * lib/sys_ioctl.in.h: Likewise.
15906         * lib/sys_select.in.h: Likewise.
15907         * lib/sys_socket.in.h: Likewise.
15908         * lib/sys_stat.in.h: Likewise.
15909         * lib/sys_time.in.h: Likewise.
15910         * lib/sysexits.in.h: Likewise.
15911         * lib/time.in.h: Likewise.
15912         * lib/unistd.in.h: Likewise.
15913         * lib/wchar.in.h: Likewise.
15914         * lib/wctype.in.h: Likewise.
15915         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
15916
15917 2008-10-17  Jim Meyering  <meyering@redhat.com>
15918
15919         ignore-value: don't depend on inline module
15920         * modules/ignore-value (Depends-on): Remove 'inline'.
15921         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
15922         Suggestion from Bruno Haible.
15923
15924 2008-10-17  Bruno Haible  <bruno@clisp.org>
15925
15926         New implementation of condition variables for Win32.
15927         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
15928         (gl_linked_waitqueue_t): New type.
15929         (gl_cond_t): Use it.
15930         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
15931         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
15932         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
15933         (glthread_cond_init_func, glthread_cond_wait_func,
15934         glthread_cond_timedwait_func, glthread_cond_signal_func,
15935         glthread_cond_broadcast_func, glthread_cond_destroy_func):
15936         Reimplemented on the basis of gl_linked_waitqueue_t.
15937         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
15938         gl_waitqueue_t.
15939         (gl_rwlock_t): Update.
15940         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
15941
15942 2008-10-17  Simon Josefsson  <simon@josefsson.org>
15943
15944         * modules/recvfrom (Depends-on): Add dependency on getpeername.
15945         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
15946
15947 2008-10-17  Jim Meyering  <meyering@redhat.com>
15948
15949         ignore-value: new module
15950         * modules/ignore-value: New file.
15951         * lib/ignore-value.h: New file.
15952         * MODULES.html.sh (Compiler warning management): New section,
15953         just for this module.  More to come.
15954
15955 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
15956
15957         open-safer.c: avoid 'signed and unsigned in conditional...' warning
15958         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
15959         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
15960
15961 2008-10-16  Jim Meyering  <meyering@redhat.com>
15962
15963         openat-die.c: avoid 'no previous prototype' warning
15964         * lib/openat-die.c: Include "openat.h".
15965         Reported by Reuben Thomas <rrt@sc3d.org>.
15966
15967 2008-10-16  Simon Josefsson  <simon@josefsson.org>
15968
15969         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
15970         * lib/netdb.in.h: Fix typo.
15971         Reported by Bruno Haible  <bruno@clisp.org>
15972
15973         * lib/netdb.in.h: Include sys/socket.h for platforms without
15974         netdb.h, to get structures like hostent on MinGW.
15975         * modules/netdb (Depends-on): Add sys_socket.
15976
15977 2008-10-15  Simon Josefsson  <simon@josefsson.org>
15978
15979         * modules/netdb, modules/netdb-tests: New file.
15980         * m4/netdb_h.m4: New file.
15981         * lib/netdb.in.h: Add, currently just an empty file pending
15982         definitions.
15983         * tests/test-netdb.c: New file.
15984         * doc/posix-headers/netdb.texi: Mention that we replace it if
15985         needed.
15986         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
15987         netdb.
15988
15989 2008-10-15  Simon Josefsson  <simon@josefsson.org>
15990
15991         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
15992         with code.
15993
15994 2008-10-13  Bruno Haible  <bruno@clisp.org>
15995
15996         * lib/glthread/cond.c (glthread_cond_wait_func,
15997         glthread_cond_timedwait_func): Add a comment.
15998
15999 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
16000
16001         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
16002         * tests/test-select.c: Likewise,
16003
16004 2008-10-13  Bruno Haible  <bruno@clisp.org>
16005
16006         * lib/glthread/cond.c (glthread_cond_wait_func,
16007         glthread_cond_timedwait_func): Fix variable name.
16008         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
16009
16010 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
16011
16012         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
16013         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
16014         struct sockaddr.sa_len.
16015         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
16016
16017 2008-10-13  Simon Josefsson  <simon@josefsson.org>
16018
16019         * build-aux/pmccabe2html: Add css and css_url parameters.
16020
16021 2008-10-12  Bruno Haible  <bruno@clisp.org>
16022
16023         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
16024         calling aclx_get.
16025         Reported by Rainer Tammer <tammer@tammer.net>.
16026
16027 2008-10-12  Bruno Haible  <bruno@clisp.org>
16028
16029         Use msvcrt aware primitives for creation/termination of Win32 threads.
16030         * lib/glthread/thread.c: Include <process.h>.
16031         (glthread_create_func): Use _beginthreadex instead of CreateThread.
16032         (wrapper_func): Update signature.
16033         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
16034
16035 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
16036             Bruno Haible  <bruno@clisp.org>
16037
16038         Provide a Win32 implementation of the 'cond' module.
16039         * lib/glthread/cond.h [USE_WIN32]: New implementation.
16040         * lib/glthread/cond.c (glthread_cond_init_func,
16041         glthread_cond_wait_func, glthread_cond_timedwait_func,
16042         glthread_cond_signal_func, glthread_cond_broadcast_func,
16043         glthread_cond_destroy_func) [USE_WIN32]: New functions.
16044         * modules/cond (Dependencies): Add gettimeofday.
16045
16046 2008-10-11  Bruno Haible  <bruno@clisp.org>
16047
16048         Make sleep work on older versions of mingw.
16049         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
16050         only whether it exists.
16051         * doc/posix-functions/sleep.texi: Mention the problem with older
16052         versions of mingw.
16053
16054 2008-10-11  Bruno Haible  <bruno@clisp.org>
16055
16056         New module 'shutdown'.
16057         * modules/shutdown: New file.
16058         * lib/sys_socket.in.h (shutdown): New declaration.
16059         * lib/winsock.c (shutdown): New function.
16060         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
16061         GNULIB_SHUTDOWN.
16062         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
16063         * doc/posix-functions/shutdown.texi: Document the new module.
16064
16065 2008-10-11  Jim Meyering  <meyering@redhat.com>
16066
16067         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
16068
16069 2008-10-11  Bruno Haible  <bruno@clisp.org>
16070
16071         New module 'fclose'.
16072         * modules/fclose: New file.
16073         * lib/stdio.in.h (fclose): New declaration.
16074         * lib/fclose.c: New file.
16075         * m4/fclose.m4: New file.
16076         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
16077         REPLACE_FCLOSE.
16078         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
16079         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
16080         REPLACE_FCLOSE.
16081         * modules/close (Depends-on): fclose.
16082         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
16083
16084 2008-10-11  Bruno Haible  <bruno@clisp.org>
16085
16086         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
16087         set errno and don't call _close.
16088
16089 2008-10-10  Bruno Haible  <bruno@clisp.org>
16090
16091         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
16092         ACL, not afterwards. Fixes test failure on Cygwin.
16093
16094 2008-10-09  Ben Pfaff  <blp@gnu.org>
16095
16096         * build-aux/announce-gen: Fix gnulib version related part of usage
16097         message.  Die with a useful error message if no tarballs are
16098         found.
16099
16100 2008-10-10  Jim Meyering  <meyering@redhat.com>
16101
16102         bootstrap: use git's --depth=N option only if it's supported
16103         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
16104         recognize the --depth option.  Reported by Pádraig Brady.
16105
16106 2008-10-09  Bruno Haible  <bruno@clisp.org>
16107
16108         New module 'ioctl'.
16109         * modules/ioctl: New file.
16110         * lib/sys_socket.in.h (ioctl): Remove declaration.
16111         * lib/winsock.c: Include <sys/ioctl.h>.
16112         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
16113         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
16114         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
16115         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
16116         * doc/posix-functions/ioctl.texi: Mention the new module.
16117
16118 2008-10-09  Bruno Haible  <bruno@clisp.org>
16119
16120         New module 'sys_ioctl'.
16121         * lib/sys_ioctl.in.h: New file.
16122         * m4/sys_ioctl_h.m4: New file.
16123         * modules/sys_ioctl: New file.
16124         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
16125
16126 2008-10-09  Bruno Haible  <bruno@clisp.org>
16127
16128         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
16129         * lib/winsock.c: Include <stdarg.h>.
16130         (rpl_ioctl): Change to second argument 'int' and then varargs.
16131
16132 2008-10-09  Bruno Haible  <bruno@clisp.org>
16133
16134         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
16135         when the sys_socket module is present and the system has <winsock2.h>.
16136
16137 2008-10-09  Bruno Haible  <bruno@clisp.org>
16138
16139         * doc/posix-functions/close.texi: Mention module 'close' instead of
16140         module 'sys_socket'.
16141
16142 2008-10-09  Bruno Haible  <bruno@clisp.org>
16143
16144         * doc/glibc-headers/sys_ioctl.texi: New file.
16145         * doc/gnulib.texi: Include it.
16146
16147 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
16148             Bruno Haible  <bruno@clisp.org>
16149
16150         Combine the two replacements of 'close'.
16151         * lib/sys_socket.in.h (close): Define to a reminder to include
16152         <unistd.h>.
16153         (_gl_close_fd_maybe_socket): New declaration.
16154         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
16155         * lib/winsock.c (close): Remove undefinition.
16156         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
16157         needed for the gnulib module 'close'.
16158         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
16159         define to an error symbol or to a warning, if suitable.
16160         * lib/close.c: Include <sys/socket.h>.
16161         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
16162         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
16163         UNISTD_H_HAVE_WINSOCK2_H.
16164         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
16165         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
16166         UNISTD_H_HAVE_WINSOCK2_H.
16167         * modules/sys_socket (Files): Add m4/unistd_h.m4.
16168         (configure.ac): Set a module indicator.
16169         (Makefile.am): Substitute GNULIB_CLOSE.
16170         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
16171         * modules/poll-tests (Depends-on): Add close.
16172         * modules/select-tests (Depends-on): Likewise.
16173
16174 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
16175             Bruno Haible  <bruno@clisp.org>
16176
16177         New module 'close'.
16178         * modules/close: New file.
16179         * lib/unistd.in.h (close): Move declaration out of the
16180         FCHDIR_REPLACEMENT scope.
16181         (_gl_unregister_fd): New declaration.
16182         * lib/close.c: New file.
16183         * lib/fchdir.c (rpl_close): Remove function.
16184         * m4/close.m4: New file.
16185         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
16186         close.
16187         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
16188         REPLACE_CLOSE.
16189         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
16190         REPLACE_CLOSE.
16191         * modules/fchdir (Depends-on): Add close.
16192
16193 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
16194             Bruno Haible  <bruno@clisp.org>
16195
16196         * lib/fcntl.in.h (open): Simplify conditionals.
16197         (_gl_register_fd): New declaration.
16198         * lib/fchdir.c (rpl_open): Remove function.
16199         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
16200         also.
16201         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
16202         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
16203         open.
16204
16205 2008-10-09  Jim Meyering  <meyering@redhat.com>
16206
16207         GNUmakefile: use the more name-space-friendly "_version"
16208         * top/GNUmakefile (_dummy): Update.
16209         (_version): Rename from "version".
16210
16211 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
16212             Bruno Haible  <bruno@clisp.org>
16213
16214         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
16215         rpl_close.
16216         (_gl_register_fd): New function, extracted from rpl_open.
16217         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
16218         (rpl_open, rpl_opendir): Use _gl_register_fd.
16219
16220 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
16221
16222         Fix organization of 'open' replacement.
16223         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
16224         (gl_FUNC_OPEN): Use it.
16225         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
16226
16227 2008-10-08  Bruno Haible  <bruno@clisp.org>
16228
16229         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
16230
16231 2008-10-08  Simon Josefsson  <simon@josefsson.org>
16232
16233         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
16234         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
16235         listen).
16236
16237 2008-10-08  Eric Blake  <ebb9@byu.net>
16238
16239         GNUmakefile: add 'make version' target
16240         * top/GNUmakefile (_curr-ver): Split version update rules...
16241         (version): ...into a target.
16242
16243 2008-10-07  Bruno Haible  <bruno@clisp.org>
16244
16245         Use a more portable replacement expression for -0.0L.
16246         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
16247         instead of -0.0L. Fix m4 quotation.
16248
16249         * tests/test-signbit.c: Include <float.h>.
16250         (minus_zero): New variable.
16251         (test_signbitl): Use minus_zero instead of -zero.
16252         * modules/signbit-tests (Depends-on): Add float.
16253
16254         * tests/test-ceill.c: Include <float.h>.
16255         (zero): Remove variable.
16256         (minus_zero): New variable.
16257         (main): Use minus_zero instead of -zero.
16258         * modules/ceill-tests (Depends-on): Add float.
16259
16260         * tests/test-floorl.c: Include <float.h>.
16261         (zero): Remove variable.
16262         (minus_zero): New variable.
16263         (main): Use minus_zero instead of -zero.
16264         * modules/floorl-tests (Depends-on): Add float.
16265
16266         * tests/test-roundl.c: Include <float.h>.
16267         (zero): Remove variable.
16268         (minus_zero): New variable.
16269         (main): Use minus_zero instead of -zero.
16270         * modules/roundl-tests (Depends-on): Add float.
16271
16272         * tests/test-truncl.c: Include <float.h>.
16273         (zero): Remove variable.
16274         (minus_zero): New variable.
16275         (main): Use minus_zero instead of -zero.
16276         * modules/truncl-tests (Depends-on): Add float.
16277
16278         * tests/test-frexpl.c (zero): Remove variable.
16279         (minus_zero): New variable.
16280         (main): Use minus_zero instead of -zero.
16281         * modules/frexpl-tests (Depends-on): Add float.
16282
16283         * tests/test-isnan.c (zerol): Remove variable.
16284         (minus_zerol): New variable.
16285         (test_long_double): Use minus_zerol instead of -zerol.
16286         * modules/isnan-tests (Depends-on): Add float.
16287
16288         * tests/test-isnanl.h (zero): Remove variable.
16289         (minus_zero): New variable.
16290         (main): Use minus_zero instead of -zero.
16291         * modules/isnanl-nolibm-tests (Depends-on): Add float.
16292         * modules/isnanl-tests (Depends-on): Add float.
16293
16294         * tests/test-ldexpl.c (zero): Remove variable.
16295         (minus_zero): New variable.
16296         (main): Use minus_zero instead of -zero.
16297         * modules/ldexpl-tests (Depends-on): Add float.
16298
16299         * tests/test-snprintf-posix.h (zerol): Remove variable.
16300         (minus_zerol): New variable.
16301         (test_function): Use minus_zerol instead of -zerol.
16302         * modules/snprintf-posix-tests (Depends-on): Add float.
16303         * modules/vsnprintf-posix-tests (Depends-on): Add float.
16304
16305         * tests/test-sprintf-posix.h (zerol): Remove variable.
16306         (minus_zerol): New variable.
16307         (test_function): Use minus_zerol instead of -zerol.
16308         * modules/sprintf-posix-tests (Depends-on): Add float.
16309         * modules/vsprintf-posix-tests (Depends-on): Add float.
16310
16311         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
16312         (minus_zerol): New variable.
16313         (test_function): Use minus_zerol instead of -zerol.
16314         * modules/vasnprintf-posix-tests (Depends-on): Add float.
16315
16316         * tests/test-vasprintf-posix.c (zerol): Remove variable.
16317         (minus_zerol): New variable.
16318         (test_function): Use minus_zerol instead of -zerol.
16319         * modules/vasprintf-posix-tests (Depends-on): Add float.
16320
16321 2008-10-07  Simon Josefsson  <simon@josefsson.org>
16322
16323         * MODULES.html.sh (Support for building documentation): Mention
16324         pmccabe2html.  Sort entries.
16325
16326         Add pmccabe2html module, from gnupdf.
16327         * build-aux/pmccabe.css: New file.
16328         * build-aux/pmccabe2html: New file.
16329         * m4/pmccabe2html.m4: New file.
16330         * modules/pmccabe2html: New file.
16331
16332 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
16333
16334         flock: new module
16335         * MODULES.html.sh: Add to list of modules.
16336         * lib/flock.c: flock implementation for Windows and Unix systems
16337         which have fcntl.
16338         * doc/glibc-functions/flock.texi: Update documentation.
16339         * lib/sys_file.in.h: <sys/file.h> header file.
16340         * m4/flock.m4: M4 macros.
16341         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
16342         * modules/flock: flock module.
16343         * modules/flock-tests: flock tests module.
16344         * modules/sys_file: sys/file.h module.
16345         * tests/test-flock.c: test suite for flock.
16346
16347 2008-10-06  Jim Meyering  <meyering@redhat.com>
16348
16349         bootstrap: check for LT_INIT more portably still ;-)
16350         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
16351         Spotted by Bruno Haible.
16352
16353 2008-10-06  Eric Blake  <ebb9@byu.net>
16354
16355         test-signbit: avoid tripping Irix cc bug on -0.0L
16356         * tests/test-signbit.c (minus_zerol): Delete, and replace with
16357         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
16358         entire testsuite consistent and avoids an Irix 6.2 bug.
16359
16360 2008-10-05  Bruno Haible  <bruno@clisp.org>
16361             Jim Meyering  <jim@meyering.net>
16362
16363         Add an option for ignoring EPIPE during close_stdout.
16364         * lib/closeout.h: Include <stdbool.h>.
16365         (close_stdout_set_ignore_EPIPE): New declaration.
16366         * lib/closeout.c: Include <stdbool.h>.
16367         (ignore_EPIPE): New variable.
16368         (close_stdout_set_ignore_EPIPE): New function.
16369         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
16370         * lib/close-stream.c (close_stream): Mention the possible EPIPE
16371         failure.
16372         * modules/closeout (Depends-on): Add stdbool.
16373
16374 2008-10-05  Bruno Haible  <bruno@clisp.org>
16375
16376         * modules/accept: New file.
16377         * modules/bind: New file.
16378         * modules/connect: New file.
16379         * modules/getpeername: New file.
16380         * modules/getsockname: New file.
16381         * modules/getsockopt: New file.
16382         * modules/listen: New file.
16383         * modules/recv: New file.
16384         * modules/recvfrom: New file.
16385         * modules/send: New file.
16386         * modules/sendto: New file.
16387         * modules/setsockopt: New file.
16388         * modules/socket: New file.
16389         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
16390         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
16391         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
16392         the particular module is requested. Add a link warning when the
16393         particular module is not requested.
16394         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
16395         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
16396         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
16397         the particular module is requested.
16398         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
16399         gl_SYS_SOCKET_H_DEFAULTS): New macros.
16400         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
16401         * modules/sys_socket (Depends-on): Add link-warning.
16402         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
16403         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
16404         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
16405         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
16406         GL_LINK_WARNING.
16407         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
16408         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
16409         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
16410         * doc/posix-functions/getpeername.texi: Mention the new module
16411         'getpeername'.
16412         * doc/posix-functions/getsockname.texi: Mention the new module
16413         'getsockname'.
16414         * doc/posix-functions/getsockopt.texi: Mention the new module
16415         'getsockopt'.
16416         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
16417         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
16418         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
16419         * doc/posix-functions/send.texi: Mention the new module 'send'.
16420         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
16421         * doc/posix-functions/setsockopt.texi: Mention the new module
16422         'setsockopt'.
16423         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
16424         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
16425         listen, connect, accept.
16426         * modules/select-tests (Depends-on): Likewise.
16427
16428 2008-10-05  Bruno Haible  <bruno@clisp.org>
16429
16430         * lib/winsock.c (strerror): Remove unused #undef.
16431         (rpl_close): Remove unused local variable.
16432
16433         * modules/sys_socket (Depends-on); Add errno.
16434
16435 2008-10-05  Bruno Haible  <bruno@clisp.org>
16436
16437         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
16438         (select): Add a link warning when the 'select' module is not used.
16439         * modules/sys_select (Depends-on): Add link-warning.
16440         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
16441         Suggested by Paolo Bonzini.
16442
16443 2008-10-05  Jim Meyering  <meyering@redhat.com>
16444
16445         bootstrap: check for LT_INIT more portably
16446         * build-aux/bootstrap: Avoid using grep -E, since it's not
16447         portable enough.  Suggestion from Bruno Haible.
16448
16449 2008-10-05  Bruno Haible  <bruno@clisp.org>
16450
16451         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
16452         as being fixed by gnulib.
16453
16454 2008-10-05  Bruno Haible  <bruno@clisp.org>
16455
16456         * modules/select-tests: New file, mostly copied from
16457         modules/sys_select-tests.
16458         * tests/test-select.c: New file, mostly copied from
16459         tests/test-sys_select.c.
16460         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
16461         * modules/sys_select-tests (Depends-on): Remove all dependencies.
16462         (Makefile.am): Remove test_sys_select_LDADD.
16463
16464         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
16465         to an undefined symbol, for an error message.
16466         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
16467         (gl_SYS_SELECT_H_DEFAULTS): New macro.
16468         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
16469         winsock-select.c here.
16470         * modules/sys_select (Files): Remove lib/winsock-select.c.
16471         (Depends-on): Remove alloca.
16472         (Makefile.am): Substitute GNULIB_SELECT.
16473         * modules/select: New file.
16474         * doc/posix-functions/select.texi: Update.
16475
16476 2008-10-05  Bruno Haible  <bruno@clisp.org>
16477
16478         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
16479         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
16480         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
16481         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
16482         getdtablesize.
16483         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
16484         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
16485
16486 2008-10-05  Bruno Haible  <bruno@clisp.org>
16487
16488         * modules/getdtablesize-tests: New file.
16489         * tests/test-getdtablesize.c: New file.
16490
16491         New module 'getdtablesize'.
16492         * lib/unistd.in.h (getdtablesize): New declaration.
16493         * lib/getdtablesize.c: New file.
16494         * m4/getdtablesize.m4: New file.
16495         * modules/getdtablesize: New file.
16496         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
16497         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
16498         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
16499         HAVE_GETDTABLESIZE.
16500         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
16501
16502 2008-10-05  Bruno Haible  <bruno@clisp.org>
16503
16504         * modules/sched (Makefile.am): Fix typo.
16505         Reported by Simon Josefsson.
16506
16507 2008-10-05  Jim Meyering  <meyering@redhat.com>
16508
16509         bootstrap: check for LT_INIT, too
16510         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
16511         are deprecated.  Suggestion from Ralf Wildenhues.
16512
16513 2008-10-05  Bruno Haible  <bruno@clisp.org>
16514
16515         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
16516         overriding them by ours.
16517         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
16518
16519 2008-10-05  Jim Meyering  <meyering@redhat.com>
16520
16521         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
16522         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
16523         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
16524
16525 2008-10-04  Bruno Haible  <bruno@clisp.org>
16526
16527         * modules/dup2 (License): Change to LGPLv2+.
16528         * modules/sleep (License): Likewise.
16529         * modules/perror (License): Likewise.
16530         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
16531         Blake.
16532         * modules/signal (License): Likewise.
16533         * modules/sigprocmask (License): Likewise.
16534         * modules/raise (License): Change to LGPLv2+, with approval by Jim
16535         Meyering.
16536
16537 2008-10-04  Bruno Haible  <bruno@clisp.org>
16538
16539         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
16540         Reported by Rainer Tammer <tammer@tammer.net>.
16541
16542 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
16543             Bruno Haible  <bruno@clisp.org>
16544
16545         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
16546         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
16547         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
16548
16549 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
16550
16551         filevercmp: new module
16552         * lib/filevercmp.h: New function filevercmp comparing version strings.
16553         * lib/filevercmp.c: Implementation of filevercmp function.
16554         * modules/filevercmp: Module metadata.
16555         * tests/test-filevercmp.c: Unit test for new module.
16556         * modules/filevercmp-tests: Unit test metadata.
16557         * MODULES.html.sh: Add filevercmp module.
16558
16559 2008-10-03  Bruno Haible  <bruno@clisp.org>
16560
16561         * lib/c-ctype.h: Add comment.
16562         Reported by Jim Meyering.
16563
16564 2008-10-02  Bruno Haible  <bruno@clisp.org>
16565
16566         * modules/posix_spawn-internal (Depends-on): Add 'open'.
16567
16568 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
16569
16570         * build-aux/bootstrap: Allow renaming bootstrap, and change the
16571         name of bootstrap.conf accordingly.
16572
16573 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
16574
16575         * build-aux/bootstrap: Install git-merge-changelog configuration
16576         items into .gitconfig if needed.
16577
16578 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
16579
16580         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
16581         git repository, and initialize/update it accordingly.
16582
16583 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
16584
16585         * modules/fsync-tests: New file.
16586         * tests/test-fsync.c: New file.
16587
16588         New module 'fsync'.
16589         * lib/fsync.c: New file.
16590         * m4/fsync.m4: New file.
16591         * modules/fsync: New file.
16592         * lib/unistd.in.h (fsync): New declaration.
16593         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
16594         GNULIB_FSYNC and HAVE_FSYNC.
16595         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
16596         * MODULES.html.sh (posix_functions): Add fsync.
16597         * doc/posix-functions/fsync.texi: Mention the new module.
16598
16599 2008-10-02  Jim Meyering  <meyering@redhat.com>
16600
16601         fts.c: sync with similar code from coreutils' remove.c
16602         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
16603         Guard also with "#if defined __linux__", since for now at least,
16604         this code is Linux-kernel-specific.
16605
16606 2008-10-02  Jim Meyering  <meyering@redhat.com>
16607
16608         fts: bug fixes
16609         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
16610         Include <sys/vfs.h>, not <sys/statfs.h>.
16611
16612         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
16613         Include <sys/vfs.h>, not <sys/statfs.h>.
16614
16615 2008-10-01  Bruno Haible  <bruno@clisp.org>
16616
16617         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
16618         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
16619         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
16620         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
16621         * doc/posix-functions/posix_spawnp.texi: Likewise.
16622         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
16623         whether posix_spawn actually works.
16624         * m4/pipe.m4 (gl_PIPE): Likewise.
16625         * modules/execute (Files): Add m4/posix_spawn.m4.
16626         * modules/pipe (Files): Add m4/posix_spawn.m4.
16627         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
16628
16629 2008-10-01  Jim Meyering  <meyering@redhat.com>
16630
16631         remove trailing spaces
16632         * NEWS: Likewise.
16633         * lib/poll.c (poll): Likewise.
16634         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
16635         * lib/winsock.c (rpl_close): Likewise.
16636         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
16637         * modules/yield: Likewise.
16638         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
16639         * tests/test-sys_select.c (connect_to_socket): Likewise.
16640
16641         fts.c: adjust a new interface to be more generally useful
16642         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
16643         (fts_build): Adjust caller.
16644
16645 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
16646
16647         * modules/cond-tests: New file.
16648         * tests/test-cond.c: New file.
16649
16650 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
16651             Bruno Haible  <bruno@clisp.org>
16652
16653         * modules/cond (Dependencies): Add errno, time.
16654         * lib/glthread/cond.h: Include <time.h>.
16655         (gl_cond_define, gl_cond_define_initialized): Use the same definition
16656         across platforms.
16657
16658 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
16659             Bruno Haible  <bruno@clisp.org>
16660
16661         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
16662
16663 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
16664             Bruno Haible  <bruno@clisp.org>
16665
16666         * modules/tls-tests (Depends-on): Add thread, yield.
16667         (configure.ac): Remove all checks.
16668         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
16669         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
16670         gl_thread_self): Remove definitions. Include glthread/thread.h and
16671         glthread/yield.h instead.
16672         (test_tls): Pass an additional NULL argument to gl_thread_join.
16673
16674 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
16675             Bruno Haible  <bruno@clisp.org>
16676
16677         * modules/lock-tests (Depends-on): Add thread, yield.
16678         (configure.ac): Remove all checks.
16679         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
16680         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
16681         gl_thread_self): Remove definitions. Include glthread/thread.h and
16682         glthread/yield.h instead.
16683         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
16684         additional NULL argument to gl_thread_join.
16685
16686 2008-09-30  Bruno Haible  <bruno@clisp.org>
16687
16688         Fix the Win32 implementation of the 'thread' module.
16689         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
16690         pointer type.
16691         (gl_thread_self): Invoke gl_thread_self_func.
16692         (gl_thread_self_func): New declaration.
16693         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
16694         (do_init_self_key, init_self_key): New functions.
16695         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
16696         Remove some fields.
16697         (running_threads, running_lock): Remove variables.
16698         (get_current_thread_handle): New function.
16699         (gl_thread_self_func, wrapper_func, glthread_create_func,
16700         glthread_join_func, gl_thread_exit_func): Largely rewritten and
16701         simplified.
16702
16703 2008-09-30  Bruno Haible  <bruno@clisp.org>
16704
16705         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
16706         files.
16707
16708 2008-09-30  Jim Meyering  <meyering@redhat.com>
16709
16710         fts.m4: correct the test for statfs.f_type
16711         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
16712         when checking for statfs.f_type.
16713
16714 2008-09-15  Simon Josefsson  <simon@josefsson.org>
16715
16716         tests: avoid some compiler warnings
16717         * tests/test-memchr.c (main): Pass NULL indirectly.
16718         * tests/test-getdate.c (main): Remove unused variable 'ret'.
16719
16720 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
16721
16722         getdate.y: disallow countable dayshifts like "4 yesterday ago"
16723         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
16724         exactly specified dayshifts.
16725         (dayshift): New rule.
16726         (rel): Add dayshift.
16727         (relative_time_table) [tomorrow, yesterday, today, now]:
16728         Use tDAY_SHIFT in place of tDAY_UNIT.
16729         * tests/test-getdate.c: Add tests for now-disallowed countable
16730         dayshifts, e.g., "4 yesterday ago".
16731
16732 2008-09-29  Bruno Haible  <bruno@clisp.org>
16733
16734         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
16735         * tests/test-posix_spawn1.in.sh: Renamed from
16736         tests/test-posix_spawn.in.sh.
16737         * tests/test-posix_spawn2.c: New file.
16738         * tests/test-posix_spawn2.in.sh: New file.
16739         * modules/posix_spawnp-tests (Files): Update.
16740         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
16741
16742 2008-09-29  Bruno Haible  <bruno@clisp.org>
16743
16744         Propagate effects of putenv/setenv/unsetenv to child processes.
16745         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
16746         * lib/pipe.c (create_pipe): Likewise.
16747
16748 2008-09-29  Bruno Haible  <bruno@clisp.org>
16749
16750         Enable use of shell scripts as executables in mingw.
16751         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
16752         run the program as a shell script.
16753         * lib/pipe.c (create_pipe): Likewise.
16754         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
16755         resulting array.
16756
16757 2008-09-29  Eric Blake  <ebb9@byu.net>
16758
16759         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
16760
16761 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
16762
16763         * doc/posix-functions/accept.texi: Update mingw problems.
16764         * doc/posix-functions/bind.texi: Update mingw problems.
16765         * doc/posix-functions/close.texi: Update mingw problems.
16766         * doc/posix-functions/connect.texi: Update mingw problems.
16767         * doc/posix-functions/getpeername.texi: Update mingw problems.
16768         * doc/posix-functions/getsockname.texi: Update mingw problems.
16769         * doc/posix-functions/getsockopt.texi: Update mingw problems.
16770         * doc/posix-functions/ioctl.texi: Update mingw problems.
16771         * doc/posix-functions/listen.texi: Update mingw problems.
16772         * doc/posix-functions/recv.texi: Update mingw problems.
16773         * doc/posix-functions/recvfrom.texi: Update mingw problems.
16774         * doc/posix-functions/select.texi: Update mingw problems.
16775         * doc/posix-functions/send.texi: Update mingw problems.
16776         * doc/posix-functions/sendto.texi: Update mingw problems.
16777         * doc/posix-functions/setsockopt.texi: Update mingw problems.
16778         * doc/posix-functions/socket.texi: Update mingw problems.
16779
16780 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
16781             Bruno Haible  <bruno@clisp.org>
16782
16783         * lib/sys_select.in.h: Include sys/time.h.
16784         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
16785         * modules/sys_select: Depend on sys_time.
16786         * tests/test-sys_select.c: Test that sys/select.h defines struct
16787         timeval fully.
16788
16789 2008-09-29  Bruno Haible  <bruno@clisp.org>
16790
16791         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
16792         * lib/sys_select.in.h: Likewise.
16793
16794 2008-09-29  Bruno Haible  <bruno@clisp.org>
16795
16796         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
16797
16798 2008-09-29  Bruno Haible  <bruno@clisp.org>
16799
16800         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
16801         Set LIBSOCKET instead of augmenting LIBS.
16802         * modules/sockets (Link): New section.
16803         * modules/sockets-tests (test_sockets_LDADD): New variable.
16804         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
16805         * modules/poll-tests (test_poll_LDADD): New variable.
16806         * NEWS: Document the change.
16807
16808 2008-09-29  Bruno Haible  <bruno@clisp.org>
16809
16810         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
16811         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
16812         ARPA_INET_H directly.
16813         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
16814
16815 2008-09-28  Bruno Haible  <bruno@clisp.org>
16816
16817         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
16818         from gl_HEADER_SYS_SOCKET.
16819         (gl_HEADER_SYS_SOCKET): Invoke it.
16820         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
16821
16822 2008-09-28  Bruno Haible  <bruno@clisp.org>
16823
16824         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
16825         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
16826         Needed on OSF/1 4.0.
16827
16828 2008-09-28  Bruno Haible  <bruno@clisp.org>
16829
16830         Override open more carefully.
16831         * lib/open.c (orig_open): New function.
16832         (rpl_open): Use orig_open instead of open.
16833         * lib/fcntl.in.h: Add special invocation convention.
16834         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
16835         (gl_FUNC_OPEN): Invoke it.
16836
16837         Override freopen more carefully.
16838         * lib/freopen.c (orig_freopen): New function.
16839         (rpl_freopen): Use orig_freopen instead of freopen.
16840         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
16841         (gl_FUNC_FREOPEN): Invoke it.
16842
16843         Override fopen more carefully.
16844         * lib/fopen.c (orig_fopen): New function.
16845         (rpl_fopen): Use orig_fopen instead of fopen.
16846         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
16847         (gl_FUNC_FOPEN): Invoke it.
16848         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
16849
16850 2008-09-28  Bruno Haible  <bruno@clisp.org>
16851
16852         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
16853         SIGPIPE.
16854
16855 2008-09-28  Bruno Haible  <bruno@clisp.org>
16856
16857         * tests/test-sigaction.c (handler, main): Disable the check whether
16858         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
16859         glibc systems with LinuxThreads.
16860
16861 2008-09-28  Bruno Haible  <bruno@clisp.org>
16862
16863         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
16864
16865         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
16866         with AIX xlc.
16867         * lib/fcntl.in.h (open): Likewise.
16868         Reported by Rainer Tammer <tammer@tammer.net>.
16869
16870 2008-09-28  Bruno Haible  <bruno@clisp.org>
16871
16872         * modules/posix_spawnp-tests: New file.
16873         * tests/test-posix_spawn.c: New file.
16874         * tests/test-posix_spawn.in.sh: New file.
16875
16876         New module 'posix_spawnp'.
16877         * modules/posix_spawnp: New file.
16878         * lib/spawnp.c: New file, from GNU libc with modifications.
16879         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
16880
16881         New module 'posix_spawn'.
16882         * modules/posix_spawn: New file.
16883         * lib/spawn.c: New file, from GNU libc with modifications.
16884         * doc/posix-functions/posix_spawn.texi: Mention the new module.
16885
16886         New module 'posix_spawnattr_destroy'.
16887         * modules/posix_spawnattr_destroy: New file.
16888         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
16889         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
16890         module.
16891
16892         New module 'posix_spawnattr_setsigmask'.
16893         * modules/posix_spawnattr_setsigmask: New file.
16894         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
16895         modifications.
16896         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
16897         new module.
16898
16899         New module 'posix_spawnattr_getsigmask'.
16900         * modules/posix_spawnattr_getsigmask: New file.
16901         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
16902         modifications.
16903         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
16904         new module.
16905
16906         New module 'posix_spawnattr_setsigdefault'.
16907         * modules/posix_spawnattr_setsigdefault: New file.
16908         * lib/spawnattr_setdefault.c: New file, from GNU libc with
16909         modifications.
16910         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
16911         new module.
16912
16913         New module 'posix_spawnattr_getsigdefault'.
16914         * modules/posix_spawnattr_getsigdefault: New file.
16915         * lib/spawnattr_getdefault.c: New file, from GNU libc with
16916         modifications.
16917         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
16918         new module.
16919
16920         New module 'posix_spawnattr_setschedpolicy'.
16921         * modules/posix_spawnattr_setschedpolicy: New file.
16922         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
16923         modifications.
16924         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
16925         new module.
16926
16927         New module 'posix_spawnattr_getschedpolicy'.
16928         * modules/posix_spawnattr_getschedpolicy: New file.
16929         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
16930         modifications.
16931         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
16932         new module.
16933
16934         New module 'posix_spawnattr_setschedparam'.
16935         * modules/posix_spawnattr_setschedparam: New file.
16936         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
16937         modifications.
16938         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
16939         new module.
16940
16941         New module 'posix_spawnattr_getschedparam'.
16942         * modules/posix_spawnattr_getschedparam: New file.
16943         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
16944         modifications.
16945         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
16946         new module.
16947
16948         New module 'posix_spawnattr_setpgroup'.
16949         * modules/posix_spawnattr_setpgroup: New file.
16950         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
16951         modifications.
16952         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
16953         module.
16954
16955         New module 'posix_spawnattr_getpgroup'.
16956         * modules/posix_spawnattr_getpgroup: New file.
16957         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
16958         modifications.
16959         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
16960         module.
16961
16962         New module 'posix_spawnattr_setflags'.
16963         * modules/posix_spawnattr_setflags: New file.
16964         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
16965         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
16966         module.
16967
16968         New module 'posix_spawnattr_getflags'.
16969         * modules/posix_spawnattr_getflags: New file.
16970         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
16971         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
16972         module.
16973
16974         New module 'posix_spawnattr_init'.
16975         * modules/posix_spawnattr_init: New file.
16976         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
16977         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
16978         module.
16979
16980         New module 'posix_spawn_file_actions_destroy'.
16981         * modules/posix_spawn_file_actions_destroy: New file.
16982         * lib/spawn_faction_destroy.c: New file, from GNU libc with
16983         modifications.
16984         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
16985         the new module.
16986
16987         New module 'posix_spawn_file_actions_addopen'.
16988         * modules/posix_spawn_file_actions_addopen: New file.
16989         * lib/spawn_faction_addopen.c: New file, from GNU libc with
16990         modifications.
16991         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
16992         the new module.
16993
16994         New module 'posix_spawn_file_actions_adddup2'.
16995         * modules/posix_spawn_file_actions_adddup2: New file.
16996         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
16997         modifications.
16998         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
16999         the new module.
17000
17001         New module 'posix_spawn_file_actions_addclose'.
17002         * modules/posix_spawn_file_actions_addclose: New file.
17003         * lib/spawn_faction_addclose.c: New file, from GNU libc with
17004         modifications.
17005         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
17006         the new module.
17007
17008         New module 'posix_spawn_file_actions_init'.
17009         * modules/posix_spawn_file_actions_init: New file.
17010         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
17011         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
17012         new module.
17013
17014         New module 'posix_spawn-internal'.
17015         * modules/posix_spawn-internal: New file.
17016         * lib/spawn_int.h: New file, from GNU libc with modifications.
17017         * lib/spawni.c: New file, from GNU libc with modifications.
17018         * m4/posix_spawn.m4: New file.
17019
17020         New module 'spawn'.
17021         * modules/spawn: New file.
17022         * lib/spawn.in.h: New file, from GNU libc with modifications.
17023         * m4/spawn_h.m4: New file.
17024         * doc/posix-headers/spawn.texi: Mention the new module.
17025
17026 2008-09-28  Bruno Haible  <bruno@clisp.org>
17027
17028         * modules/sched-tests: New file.
17029         * tests/test-sched.c: New file.
17030
17031         New module 'sched'.
17032         * modules/sched: New file.
17033         * lib/sched.in.h: New file.
17034         * m4/sched_h.m4: New file.
17035         * doc/posix-headers/sched.texi: Mention the new module.
17036
17037 2008-09-27  Eric Blake  <ebb9@byu.net>
17038
17039         Fix previous patch, and tweak references to $0.
17040         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
17041         (func_version, func_gnulib_dir): Don't call this program
17042         gnulib-tool.
17043         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
17044         with using $0 in function.
17045         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
17046         (func_fatal_error): Reuse the name the user invoked us with.
17047
17048 2008-09-27  Bruno Haible  <bruno@clisp.org>
17049
17050         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
17051         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
17052         (gl_ICONV_H): Not here.
17053         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
17054         instead of assigning ICONV_H directly.
17055
17056         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
17057         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
17058         WCHAR_H directly.
17059
17060 2008-09-27  Bruno Haible  <bruno@clisp.org>
17061
17062         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
17063         * modules/arpa_inet (Depends-on): Add link-warning.
17064         (Makefile.am): Insert the definition of GL_LINK-WARNING.
17065         * modules/unistd (Makefile.am): Likewise.
17066
17067 2008-09-26  Bruno Haible  <bruno@clisp.org>
17068
17069         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
17070         variables.
17071         (func_version): Essentially copied from gnulib-tool.
17072         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
17073         func_readlink): Copied from gnulib-tool.
17074
17075 2008-09-26  Bruno Haible  <bruno@clisp.org>
17076
17077         * gnulib-tool (func_version): Change directory to $gnulib_dir before
17078         invoking git-version-gen.
17079
17080 2008-09-26  Bruno Haible  <bruno@clisp.org>
17081
17082         * posix-modules: Update to directory names changed on 2008-01-19.
17083         Remove commas in output before splitting into words. No more need to
17084         avoid 'ftruncate' since 2007-02-19.
17085
17086 2008-09-26  Bruno Haible  <bruno@clisp.org>
17087
17088         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
17089
17090 2008-09-26  Bruno Haible  <bruno@clisp.org>
17091
17092         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
17093         * modules/fwriteerror (Depends-on): Add errno.
17094
17095 2008-09-26  Bruno Haible  <bruno@clisp.org>
17096
17097         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
17098         * tests/test-vc-list-files-cvs.sh: Likewise.
17099
17100 2008-09-26  Bruno Haible  <bruno@clisp.org>
17101
17102         * doc/posix-headers/sys_resource.texi: Reorder items.
17103
17104 2008-09-26  Jim Meyering  <meyering@redhat.com>
17105
17106         fts: tweak inode comparison function
17107         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
17108         inode numbers, as documented.
17109
17110         fts: sort dirent entries on inode number before traversing
17111         This avoids a quadratic, seek-related performance penalty when
17112         operating on a directory containing many entries (measurable at 10k;
17113         3.5 hours at 2 million entries with a cold cache) on certain types
17114         of file systems, including ext3 and ext4, but not tmpfs.
17115         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
17116         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
17117         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
17118         (fs_handles_readdir_ordered_dirents_efficiently): New function.
17119         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
17120         (fts_build): Set the stat.st_ino member from D_INO.
17121         If it is likely to be useful, sort dirent entries on inode number.
17122
17123         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
17124         and the struct statfs.f_type member.
17125         * modules/fts (Depends-on): Add d-ino.
17126
17127 2008-09-26  Bruno Haible  <bruno@clisp.org>
17128
17129         * modules/sigpipe-die (Depends-on): Add sigpipe.
17130
17131         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
17132         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
17133         and GNULIB_STDIO_H_SIGPIPE are set.
17134         * lib/stdio-write.c: New file.
17135         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
17136         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
17137         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
17138         REPLACE_STDIO_WRITE_FUNCS.
17139         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
17140         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
17141         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
17142         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
17143         * modules/stdio (Files): Add lib/stdio-write.c.
17144         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
17145         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
17146         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
17147         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
17148         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
17149         REPLACE_FPRINTF_POSIX.
17150         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
17151         REPLACE_PRINTF_POSIX.
17152         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
17153         REPLACE_VFPRINTF_POSIX.
17154         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
17155         REPLACE_VPRINTF_POSIX.
17156         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
17157         SIGPIPE issue.
17158         * doc/posix-functions/fputc.texi: Likewise.
17159         * doc/posix-functions/fputs.texi: Likewise.
17160         * doc/posix-functions/fwrite.texi: Likewise.
17161         * doc/posix-functions/printf.texi: Likewise.
17162         * doc/posix-functions/putc.texi: Likewise.
17163         * doc/posix-functions/putchar.texi: Likewise.
17164         * doc/posix-functions/puts.texi: Likewise.
17165         * doc/posix-functions/vfprintf.texi: Likewise.
17166         * doc/posix-functions/vprintf.texi: Likewise.
17167
17168         * modules/safe-write (Depends-on): Add write.
17169
17170         * modules/sigpipe-tests: New file.
17171         * tests/test-sigpipe.c: New file.
17172         * tests/test-sigpipe.sh: New file.
17173
17174         * modules/write: New file.
17175         * lib/unistd.in.h: Include <sys/types.h>.
17176         (write): New declaration.
17177         * lib/write.c: New file.
17178         * m4/write.m4: New file.
17179         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
17180         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
17181         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
17182         GNULIB_WRITE, REPLACE_WRITE.
17183         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
17184         and the SIGPIPE issue.
17185
17186         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
17187         (raise): New declaration.
17188         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
17189         (ext_signal): New function.
17190         (rpl_raise): New function.
17191         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
17192         GNULIB_SIGNAL_H_SIGPIPE.
17193         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
17194         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
17195
17196         * modules/sigpipe: New file.
17197         * m4/sigpipe.m4: New file.
17198
17199 2008-09-25  Derek Price  <derek@ximbiot.com>
17200             Bruno Haible  <bruno@clisp.org>
17201
17202         * gnulib-tool (func_import): Report all license incompatibilities, not
17203         just the first one.
17204
17205 2008-09-25  Bruno Haible  <bruno@clisp.org>
17206
17207         * gnulib-tool (func_import): When computing the edits, consider not
17208         only the Makefile.ams that exist but also those that will be generated.
17209
17210 2008-09-25  Simon Josefsson  <simon@josefsson.org>
17211
17212         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
17213         fixes gnulib-tool --test warning about duplicate dependency.
17214
17215 2008-09-25  Bruno Haible  <bruno@clisp.org>
17216
17217         * gnulib-tool: Don't ask the user to perform edits in the generated
17218         Makefile.ams.
17219         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
17220         apply to the Makefile.am being generated.
17221         (func_emit_tests_Makefile_am): Execute edits that apply to the
17222         Makefile.am being generated.
17223         (func_import): Setup list of Makefile.am edits before emitting the
17224         Makefile.ams, not at the end.
17225         (func_create_testdir): Update.
17226         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
17227
17228 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
17229
17230         * gnulib-tool (func_import): Store the --tests-base option in the
17231         comment in gnulib-cache.m4.
17232
17233 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
17234
17235         * NEWS: Document increased portability that sys_select now provides.
17236
17237         * lib/sys_select.in.h: Install select wrapper.
17238         * lib/sys_socket.in.h: Use more descriptive name when there is no
17239         select wrapper.
17240         * lib/winsock-select.c: New.
17241         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
17242         Require gl_HEADER_SYS_SOCKET.
17243         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
17244         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
17245         * tests/test-sys_select.c: Add functional tests.
17246
17247 2008-09-24  Eric Blake  <ebb9@byu.net>
17248
17249         open, fopen: close fd leak in last patch
17250         * lib/open.c (rpl_open): Close fd before returning error.
17251         * lib/fopen.c (rpl_fopen): Close fd before returning error.
17252         * doc/posix-functions/open.texi (open): Document that Irix also
17253         has the bug.
17254         * doc/posix-functions/fopen.texi (fopen): Likewise.
17255         Reported by Paolo Bonzini.
17256
17257 2008-09-24  Bruno Haible  <bruno@clisp.org>
17258
17259         Ensure that a filename ending in a slash cannot be used to access a
17260         non-directory.
17261         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
17262         to check whether it's really a directory.
17263         * lib/fopen.c: Include fcntl.h, unistd.h.
17264         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
17265         and fdopen().
17266         * modules/fopen (Depends-on): Add unistd.
17267         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
17268         * tests/test-fopen.c (main): Likewise.
17269         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
17270         * doc/posix-functions/fopen.texi: Likewise.
17271         Reported by Eric Blake.
17272
17273 2008-09-23  Eric Blake  <ebb9@byu.net>
17274
17275         c-stack: avoid compiler optimizations when provoking overflow
17276         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
17277         recursion harder to optimize, to ensure a stack overflow occurs.
17278         * tests/test-c-stack.c (recurse): Likewise.
17279         Borrowed from libsigsegv.
17280
17281         c-stack: work around Irix sigaltstack bug
17282         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
17283         whether sigaltstack uses wrong end of stack_t (copied in part from
17284         libsigsegv).
17285         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
17286         Irix bug, without requiring an over-allocation.
17287         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
17288         bug.
17289
17290         fopen: document mingw bug on directories
17291         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
17292         not allowing a stream visiting a directory, even though reading
17293         from such a stream is not portable.
17294
17295 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
17296
17297         * lib/poll.c: Rewrite.
17298         * modules/poll: Depend on alloca.
17299
17300 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
17301
17302         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
17303         instead define prototypes for a full set of wrappers.  Ensure
17304         that Cygwin does not use the compatibility code, which is only
17305         for MinGW.
17306         * lib/winsock.c: New.
17307         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
17308         * modules/sys_socket: Add lib/winsock.c.
17309
17310         * modules/poll-tests: Add errno and perror.
17311         * tests/test-poll.c: Use ioctl, not ioctlsocket.
17312
17313 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
17314
17315         * tests/test-poll.c: Downgrade minimum needed Winsock version.
17316
17317 2008-09-23  Bruno Haible  <bruno@clisp.org>
17318
17319         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
17320         * doc/glibc-functions/*: Likewise.
17321
17322 2008-09-23  Simon Josefsson  <simon@josefsson.org>
17323
17324         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
17325         success.
17326
17327 2008-09-22  Eric Blake  <ebb9@byu.net>
17328             Bruno Haible  <bruno@clisp.org>
17329
17330         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
17331         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
17332         supply %A but mishandle pseudo-NaN.
17333         Reported by Simon Josefsson.
17334
17335 2008-09-21  Bruno Haible  <bruno@clisp.org>
17336
17337         * tests/test-lock.c (main): Tweak skip message.
17338         * tests/test-tls.c (main): Likewise.
17339
17340 2008-09-21  Bruno Haible  <bruno@clisp.org>
17341
17342         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
17343         whether 'struct sigaction' has sa_sigaction here...
17344         (gl_PREREQ_SIG_HANDLER_H): ... not here.
17345         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
17346
17347 2008-09-21  Bruno Haible  <bruno@clisp.org>
17348
17349         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
17350         section.
17351         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
17352         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
17353         the new section.
17354         (Support for obsolete systems lacking POSIX:2001): New section.
17355         (String handling <string.h>): Move strdup to the new section.
17356         Suggested by Simon Josefsson and Paolo Bonzini.
17357
17358 2008-09-21  Bruno Haible  <bruno@clisp.org>
17359
17360         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
17361         exponents in %e and %g results on 'long double'. Needed for mingw's
17362         improved *printf functions.
17363         * tests/test-vasprintf-posix.c (test_function): Likewise.
17364         * tests/test-snprintf-posix.h (test_function): Likewise.
17365         * tests/test-sprintf-posix.h (test_function): Likewise.
17366         Reported by Eric Blake.
17367
17368 2008-09-21  Bruno Haible  <bruno@clisp.org>
17369
17370         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
17371         * tests/test-sprintf-posix.h (test_function): Likewise.
17372
17373 2008-09-21  Bruno Haible  <bruno@clisp.org>
17374
17375         * modules/getpass (Depends-on): Add strdup-posix.
17376
17377         New module 'strdup-posix'.
17378         * modules/strdup-posix: New file.
17379         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
17380         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
17381         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
17382         REPLACE_STRDUP.
17383         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
17384         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
17385         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
17386         strdup-posix.
17387
17388         * modules/strdup (Depends-on): Remove malloc-posix.
17389
17390 2008-09-20  Bruno Haible  <bruno@clisp.org>
17391
17392         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
17393         Wildenhues.
17394
17395 2008-09-20  Bruno Haible  <bruno@clisp.org>
17396
17397         Ensure that wint_t gets defined on IRIX 5.3.
17398         * lib/wchar.in.h (wint_t): Define if not defined by the system.
17399         * lib/wctype.in.h (wint_t): Likewise.
17400         (__wctype_wint_t): Remove type.
17401         (isw*): Use wint_t instead of __wctype_wint_t.
17402         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
17403         * modules/wchar (Files): Add m4/wint_t.m4.
17404         (Makefile.am): Substitute HAVE_WINT_T.
17405         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
17406         * tests/test-wctype.c: Check that wint_t is defined.
17407         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
17408         * doc/posix-headers/wctype.texi: Likewise.
17409         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17410
17411 2008-09-18  Bruno Haible  <bruno@clisp.org>
17412
17413         * gnulib-tool (func_exit): Update comment.
17414
17415 2008-09-18  Simon Josefsson  <simon@josefsson.org>
17416
17417         * modules/getaddrinfo (Depends-on): Remove strdup, this module
17418         assumes strdup exists and does not depend on strdup to return
17419         ENOMEM on out of memory conditions.
17420
17421 2008-09-18  Bruno Haible  <bruno@clisp.org>
17422
17423         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
17424         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
17425         digits for the exponent.
17426
17427 2008-09-18  Jim Meyering  <meyering@redhat.com>
17428             Bruno Haible  <bruno@clisp.org>
17429
17430         * lib/vasnprintf.c (decimal_point_char): Define also if
17431         NEED_PRINTF_INFINITE_LONG_DOUBLE.
17432
17433 2008-09-16  Bruno Haible  <bruno@clisp.org>
17434         and Eric Blake  <ebb9@byu.net>
17435
17436         vasnprintf: support Irix 5.3
17437         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
17438         that mishandle long double infinity.
17439         Reported by Tom G. Christensen.
17440
17441 2008-09-16  Bruno Haible  <bruno@clisp.org>
17442
17443         * doc/glibc-functions/scandir.texi: Mention the function is missing on
17444         Solaris 9.
17445         * doc/glibc-functions/alphasort.texi: Likewise.
17446         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
17447
17448 2008-09-16  Jim Meyering  <meyering@redhat.com>
17449
17450         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
17451         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
17452         a umask modification leak out of a subshell.  Otherwise, the
17453         opensolaris /bin/sh would be accepted and thus cause unwarranted
17454         failures in the coreutils test suite.
17455
17456 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
17457
17458         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
17459         to succeed.
17460
17461 2008-09-16  Jim Meyering  <meyering@redhat.com>
17462
17463         avoid spurious test failure when library is built without ACL support
17464         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
17465         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
17466         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
17467         * tests/test-copy-acl.sh: Likewise.
17468
17469 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17470
17471         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
17472         based on character occurrence counts.
17473
17474 2008-09-15  Eric Blake  <ebb9@byu.net>
17475
17476         tests: avoid some compiler warnings
17477         * tests/test-memchr.c (main): Pass NULL indirectly.
17478         * tests/test-closein.c (main): Avoid unused variable.
17479
17480 2008-09-15  Bruno Haible  <bruno@clisp.org>
17481
17482         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
17483         are missing on OpenBSD 4.0 individually.
17484         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
17485
17486 2008-09-15  Bruno Haible  <bruno@clisp.org>
17487
17488         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
17489         * doc/posix-functions/strerror.texi: Mention also Cygwin.
17490         * doc/posix-functions/perror.texi: Likewise.
17491         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
17492         is missing.
17493         Reported by Eric Blake.
17494
17495         * lib/errno.in.h: Use replacement values >= 2000.
17496         Reported by Eric Blake.
17497
17498 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17499
17500         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
17501         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
17502         limit.
17503         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
17504         compareseq was aborted.
17505
17506 2008-09-14  Bruno Haible  <bruno@clisp.org>
17507
17508         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
17509         yvec_edit_count.
17510         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
17511         (fstrcmp_bounded): Simplify result computation accordingly.
17512
17513 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17514
17515         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
17516         (fstrcmp): Define in terms of fstrcmp_bounded.
17517         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
17518         lower_bound argument.
17519         Return quickly if the result is certainly < lower_bound.
17520         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
17521
17522 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17523
17524         * lib/diffseq.h (EARLY_ABORT): New macro.
17525         (compareseq): Change return type to bool. Return true when EARLY_ABORT
17526         evaluates to true.
17527
17528 2008-09-14  Bruno Haible  <bruno@clisp.org>
17529
17530         * modules/perror-tests: New file.
17531         * tests/test-perror.sh: New file.
17532         * tests/test-perror.c: New file.
17533
17534         New module 'perror'.
17535         * lib/stdio.in.h (perror): New declaration.
17536         * lib/perror.c: New file.
17537         * m4/perror.m4: New file.
17538         * modules/perror: New file.
17539         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
17540         * doc/posix-functions/perror.texi: Mention the perror module.
17541         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
17542         REPLACE_PERROR.
17543         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
17544         REPLACE_PERROR.
17545
17546 2008-09-14  Bruno Haible  <bruno@clisp.org>
17547
17548         * modules/stdio (Makefile.am): Reorder to match the order in
17549         lib/stdio.in.h.
17550         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
17551
17552 2008-09-13  Bruno Haible  <bruno@clisp.org>
17553
17554         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
17555
17556 2008-09-13  Bruno Haible  <bruno@clisp.org>
17557
17558         Extend strerror to cover the added errno values.
17559         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
17560         (rpl_strerror): Provide error messages for the added errno values and
17561         for the WSA* values.
17562         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
17563         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
17564         strerror.
17565         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
17566         * modules/strerror (Depends-on): Add errno.
17567         * doc/posix-functions/strerror.texi: Document the change.
17568         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
17569         and EOVERFLOW.
17570
17571 2008-09-13  Bruno Haible  <bruno@clisp.org>
17572
17573         * modules/EOVERFLOW: Remove file.
17574         * m4/eoverflow.m4: Remove file.
17575         * modules/EOVERFLOW-tests: Remove file.
17576         * tests/test-EOVERFLOW.c: Remove file.
17577         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
17578         * modules/ftell (Depends-on): Likewise.
17579         * modules/getdelim (Depends-on): Likewise.
17580         * modules/getugroups (Depends-on): Likewise.
17581         * modules/poll (Depends-on): Likewise.
17582         * modules/snprintf (Depends-on): Likewise.
17583         * modules/sprintf-posix (Depends-on): Likewise.
17584         * modules/vasnprintf (Depends-on): Likewise.
17585         * modules/vasprintf (Depends-on): Likewise.
17586         * modules/vfprintf-posix (Depends-on): Likewise.
17587         * modules/vsnprintf (Depends-on): Likewise.
17588         * modules/vsprintf-posix (Depends-on): Likewise.
17589         * modules/xvasprintf (Depends-on): Likewise.
17590         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
17591         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
17592         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
17593         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
17594         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
17595         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
17596         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
17597         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
17598         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
17599         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
17600         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
17601         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
17602         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
17603         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
17604         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
17605         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
17606         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
17607         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
17608         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
17609         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
17610         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
17611         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
17612         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
17613         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
17614         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
17615         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
17616         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
17617         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
17618         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
17619         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
17620         * MODULES.html.sh: Remove EOVERFLOW.
17621         * NEWS: Mention the change.
17622
17623 2008-09-13  Bruno Haible  <bruno@clisp.org>
17624
17625         * modules/errno-tests: New file.
17626         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
17627
17628         * lib/errno.in.h: New file.
17629         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
17630         * modules/errno: New file.
17631         * doc/posix-headers/errno.texi: Update documentation.
17632         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
17633
17634 2008-09-13  Bruno Haible  <bruno@clisp.org>
17635
17636         * tests/test-poll.c: Use #if for native Windows, rather than testing
17637         __MSVCRT__.
17638
17639 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
17640             Bruno Haible  <bruno@clisp.org>
17641
17642         * lib/glob.c: Don't include <pwd.h> on native Windows.
17643         (WINDOWS32): New macro.
17644         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
17645
17646 2008-09-13  Bruno Haible  <bruno@clisp.org>
17647
17648         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
17649         (ETIMEDOUT): Remove macro.
17650         (glthread_cond_timedwait_multithreaded): New declaration.
17651         (glthread_cond_timedwait): Use it.
17652         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
17653         (glthread_cond_timedwait_multithreaded): New function.
17654
17655 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
17656
17657         * modules/poll-tests: Do not check for io.h.
17658         * tests/test-poll.c: Check for __MSVCRT__ instead.
17659
17660 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
17661
17662         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
17663         * modules/poll-tests: Add inet_pton, stdbool, sockets.
17664         * tests/test-poll.c: Use them.  Use _pipe on Windows.
17665
17666 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
17667
17668         * modules/poll-tests: New.
17669         * tests/test-poll.c: New.
17670
17671 2008-09-12  Eric Blake  <ebb9@byu.net>
17672
17673         frexp: test for NetBSD failure on -0.0
17674         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
17675         not all, bugs from NetBSD 3.0 have been fixed.
17676         * doc/posix-functions/frexp.texi (frexp): Document bug.
17677         Reported by Thomas Klausner.
17678
17679         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
17680         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
17681         literal -0.0.
17682         Reported by Jonathan C. Patschke <jp@centtech.com>.
17683
17684 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
17685
17686         * lib/glthread/cond.h: Use dummy implementation also if
17687         USE_WIN32_THREADS.
17688
17689 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
17690
17691         * modules/fnmatch-posix (License): Change to LGPLv2+.
17692         * modules/fnmatch-gnu (License): Likewise.
17693
17694 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
17695
17696         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
17697
17698 2008-09-11  Jim Meyering  <meyering@redhat.com>
17699
17700         * users.txt: Add gtk-vnc.
17701
17702 2008-09-08  Simon Josefsson  <simon@josefsson.org>
17703
17704         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
17705         rotate amounts.
17706
17707         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
17708         required for 16-bit and 8-bit rotates.
17709         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
17710         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
17711         UINT8_MAX instead of hard-coded constants.
17712         Suggested by Paul Eggert.
17713
17714 2008-09-07  Bruno Haible  <bruno@clisp.org>
17715
17716         * tests/test-striconveh.c (main): Check behaviour when converting from
17717         UTF-7.
17718
17719         Make striconveh work better with stateful encodings.
17720         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
17721         that iconv does not increment the inptr when returning -1/EINVAL.
17722
17723 2008-09-07  Bruno Haible  <bruno@clisp.org>
17724
17725         * build-aux/config.rpath: Update according to libtool-2.2.6.
17726         * build-aux/config.libpath: Likewise.
17727
17728 2008-09-06  Bruno Haible  <bruno@clisp.org>
17729
17730         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
17731         * lib/freadptr.c (freadptr): Likewise.
17732         * lib/freadseek.c (freadptrinc): Likewise.
17733         Reported by Simon Josefsson.
17734
17735 2008-09-06  Bruno Haible  <bruno@clisp.org>
17736
17737         * modules/freadptr (License): Change to LGPLv2+.
17738         * modules/freadseek (License): Likewise.
17739         Suggested by Eric Blake.
17740
17741         * modules/memchr2 (License): Change to LGPLv2+.
17742         Approved by Eric Blake.
17743
17744 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17745             Bruno Haible  <bruno@clisp.org>
17746
17747         Make gnulib-tool work with native 'sed' on AIX.
17748         * gnulib-tool (sed_noop): New variable.
17749         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
17750         func_add_or_update, func_create_testdir): Use it to initialize sed
17751         script variables.
17752         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
17753
17754 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
17755             Bruno Haible  <bruno@clisp.org>
17756
17757         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
17758         also works after #include directives.
17759
17760 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
17761
17762         getdate.y: reject an out-of-range timezone value
17763         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
17764         the range [-24...+24].  When specified with only one or two digits,
17765         * tests/test-getdate.c: Tests for the fix.
17766         * doc/getdate.texi: Document this change.
17767
17768 2008-09-03  Bruno Haible  <bruno@clisp.org>
17769
17770         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
17771
17772 2008-09-02  Simon Josefsson  <simon@josefsson.org>
17773
17774         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
17775         <bruce.korb@gmail.com> with ideas from Ben Pfaff
17776         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
17777         Blake <ebb9@byu.net>.
17778
17779         * tests/test-bitrotate.c: Add more test vectors.
17780
17781 2008-09-02  Eric Blake  <ebb9@byu.net>
17782
17783         vasnprintf-posix: handle large precision via %.*d
17784         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
17785         when handling it ourselves.
17786         * tests/test-vasnprintf-posix.c (test_function): Add test.
17787         * tests/test-snprintf-posix.h (test_function): Likewise.
17788         * tests/test-sprintf-posix.h (test_function): Likewise.
17789         * tests/test-vasprintf-posix.c (test_function): Likewise.
17790         Reported by Alain Guibert.
17791
17792 2008-09-01  Eric Blake  <ebb9@byu.net>
17793
17794         c-stack: make configure-time check more robust
17795         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
17796         successful sigaction call.
17797         Reported by Tom G. Christensen.
17798
17799 2008-09-01  Bruno Haible  <bruno@clisp.org>
17800
17801         New module 'findprog-lgpl'.
17802         * modules/findprog-lgpl: New file.
17803         * lib/findprog-lgpl.c: New file.
17804         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
17805         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
17806         to decide whether to use strdup or xstrdup, concatenated_filename or
17807         xconcatenated_filename.
17808
17809 2008-09-01  Bruno Haible  <bruno@clisp.org>
17810
17811         Split module 'concat-filename' into 'concat-filename' (LGPL) and
17812         'xconcat-filename' (GPL).
17813         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
17814         (License): Change to LGPLv2+.
17815         * modules/xconcat-filename: New file.
17816         * lib/concat-filename.h (concatenated_filename): Change specification.
17817         (xconcatenated_filename): New declaration.
17818         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
17819         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
17820         memory situations.
17821         * lib/xconcat-filename.c: New file.
17822         * NEWS: Mention the change.
17823         * lib/findprog.c: Include concat-filename.h, not filename.h.
17824         (find_in_path): Use xconcatenated_filename instead of
17825         concatenated_filename.
17826         * lib/javacomp.c: Include concat-filename.h, not filename.h.
17827         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
17828         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
17829         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
17830         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
17831         instead of concatenated_filename.
17832         * lib/javaexec.c: Include concat-filename.h, not filename.h.
17833         (execute_java_class): Use xconcatenated_filename instead of
17834         concatenated_filename.
17835         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
17836         * modules/javacomp (Depends-on): Likewise.
17837         * modules/javaexec (Depends-on): Likewise.
17838
17839 2008-09-01  Bruno Haible  <bruno@clisp.org>
17840
17841         Split module 'filename' into 'filename' and 'concat-filename'.
17842         * modules/filename: Keep only lib/filename.h.
17843         (License): Change to LGPLv2+.
17844         * modules/concat-filename: New file, extracted from modules/filename.
17845         * lib/filename.h (concatenated_filename): Remove declaration.
17846         * lib/concat-filename.h: New file, extracted from lib/filename.h.
17847         * lib/concat-filename.c: Include concat-filename.h.
17848         * NEWS: Mention the change.
17849
17850 2008-09-01  Simon Josefsson  <simon@josefsson.org>
17851
17852         * lib/bitrotate.h (rotl8, rotr8): Add.
17853
17854         * modules/bitrotate (configure.ac): Need
17855         AC_REQUIRE([AC_C_INLINE]).
17856         (Description): Mention stdint.h.  Reported by Bruno Haible
17857         <bruno@clisp.org>.
17858
17859         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
17860         Paolo Bonzini <bonzini@gnu.org>.
17861
17862 2008-08-31  Bruno Haible  <bruno@clisp.org>
17863
17864         Assume Solaris specific bi-arch conventions on Solaris systems.
17865         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
17866         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
17867         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
17868         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
17869         like acl_libdirstem.
17870         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
17871         acl_libdirstem.
17872         * NEWS: Mention the change.
17873         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
17874
17875 2008-08-31  Jim Meyering  <meyering@redhat.com>
17876
17877         * lib/strftime.h: Add comments describing the two added arguments.
17878
17879         remove duplicate #include directives
17880         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
17881         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
17882
17883 2008-08-31  Bruno Haible  <bruno@clisp.org>
17884
17885         New module 'sigpipe-die'.
17886         * modules/sigpipe-die: New file.
17887         * lib/sigpipe-die.h: New file.
17888         * lib/sigpipe-die.c: New file.
17889         * MODULES.html.sh (Signal handling): Add sigpipe-die.
17890
17891 2008-08-31  Bruno Haible  <bruno@clisp.org>
17892
17893         Don't override previously installed signal handlers.
17894         * lib/fatal-signal.c (saved_sigactions): New variable.
17895         (uninstall_handlers): Reset the signal to the saved handler, not
17896         to SIG_DFL (except when ignored).
17897         (install_handlers): Save the previous handlers.
17898
17899 2008-08-30  Bruno Haible  <bruno@clisp.org>
17900
17901         * gnulib-tool (func_reset_sigpipe): New function.
17902         (func_get_automake_snippet, func_modules_transitive_closure,
17903         func_import): Invoke it before a join command that reads from stdin,
17904         to avoid "echo: write error: Broken pipe" error messages on stderr.
17905         Reported by Sam Steingold <sds@gnu.org>.
17906
17907 2008-08-30  Bruno Haible  <bruno@clisp.org>
17908
17909         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
17910         Code copied from m4/open.m4.
17911         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
17912         access and the filename ends in a slash. Code copied from lib/open.c.
17913         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
17914         * tests/test-fopen.c (main): Check against bug with trailing slash.
17915
17916 2008-08-29  Bruno Haible  <bruno@clisp.org>
17917
17918         Avoid some "gcc -pedantic" warnings.
17919         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
17920         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
17921         * lib/dirent.in.h: Likewise.
17922         * lib/fcntl.in.h: Likewise.
17923         * lib/float.in.h: Likewise.
17924         * lib/iconv.in.h: Likewise.
17925         * lib/inttypes.in.h: Likewise.
17926         * lib/locale.in.h: Likewise.
17927         * lib/math.in.h: Likewise.
17928         * lib/netinet_in.in.h: Likewise.
17929         * lib/search.in.h: Likewise.
17930         * lib/signal.in.h: Likewise.
17931         * lib/stdarg.in.h: Likewise.
17932         * lib/stdint.in.h: Likewise.
17933         * lib/stdio.in.h: Likewise.
17934         * lib/stdlib.in.h: Likewise.
17935         * lib/string.in.h: Likewise.
17936         * lib/strings.in.h: Likewise.
17937         * lib/sys_select.in.h: Likewise.
17938         * lib/sys_socket.in.h: Likewise.
17939         * lib/sys_stat.in.h: Likewise.
17940         * lib/sys_time.in.h: Likewise.
17941         * lib/sysexits.in.h: Likewise.
17942         * lib/time.in.h: Likewise.
17943         * lib/unistd.in.h: Likewise.
17944         * lib/wchar.in.h: Likewise.
17945         * lib/wctype.in.h: Likewise.
17946         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
17947         * modules/fchdir (Makefile.am): Likewise.
17948         * modules/fcntl (Makefile.am): Likewise.
17949         * modules/float (Makefile.am): Likewise.
17950         * modules/iconv_open (Makefile.am): Likewise.
17951         * modules/inttypes (Makefile.am): Likewise.
17952         * modules/locale (Makefile.am): Likewise.
17953         * modules/math (Makefile.am): Likewise.
17954         * modules/netinet_in (Makefile.am): Likewise.
17955         * modules/search (Makefile.am): Likewise.
17956         * modules/signal (Makefile.am): Likewise.
17957         * modules/stdarg (Makefile.am): Likewise.
17958         * modules/stdint (Makefile.am): Likewise.
17959         * modules/stdio (Makefile.am): Likewise.
17960         * modules/stdlib (Makefile.am): Likewise.
17961         * modules/string (Makefile.am): Likewise.
17962         * modules/strings (Makefile.am): Likewise.
17963         * modules/sys_select (Makefile.am): Likewise.
17964         * modules/sys_socket (Makefile.am): Likewise.
17965         * modules/sys_stat (Makefile.am): Likewise.
17966         * modules/sys_time (Makefile.am): Likewise.
17967         * modules/sysexits (Makefile.am): Likewise.
17968         * modules/time (Makefile.am): Likewise.
17969         * modules/unistd (Makefile.am): Likewise.
17970         * modules/wchar (Makefile.am): Likewise.
17971         * modules/wctype (Makefile.am): Likewise.
17972         Reported by Reuben Thomas <rrt@sc3d.org>.
17973
17974 2008-08-29  Bruno Haible  <bruno@clisp.org>
17975
17976         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
17977         any more.
17978
17979 2008-08-29  Simon Josefsson  <simon@josefsson.org>
17980
17981         * MODULES.html.sh (Misc): Add bitrotate.
17982
17983         * modules/bitrotate: New file.
17984
17985         * lib/bitrotate.h: New file.
17986
17987         * modules/bitrotate-tests: New file.
17988
17989         * tests/test-bitrotate.c: New file.
17990
17991         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
17992         on the bitrotate module.
17993
17994         * lib/arctwo.c: Use new bitrotate module.
17995
17996 2008-08-29  Jim Meyering  <meyering@redhat.com>
17997
17998         bootstrap: merge changes from coreutils
17999         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
18000         of copied files.  Remove a kludge, now that this is fixed.
18001         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
18002         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
18003         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
18004
18005 2008-08-29  Bruno Haible  <bruno@clisp.org>
18006
18007         * MODULES.html.sh: Remove --cvs-urls option.
18008
18009 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
18010
18011         maint.mk: adjust to file name change
18012         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
18013
18014 2008-08-28  Jim Meyering  <meyering@redhat.com>
18015
18016         * modules/getndelim2 (License): Relicense to LGPLv2+.
18017         Approved by Richard Stallman for the version of 1995, and by
18018         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
18019
18020 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
18021
18022         * lib/getdelim.c (flockfile, funlockfile): Make all of them
18023         dummy if one is not available.  Do not touch them if
18024         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
18025         (getc_maybe_unlocked): New.
18026         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
18027
18028 2008-08-26  Eric Blake  <ebb9@byu.net>
18029
18030         doc/INSTALL: resync from autoconf
18031         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
18032         (INSTALL_PRELUDE): Delete; this is done more efficiently by
18033         moving...
18034         * install.texi [!autoconf]: ...here.  Resync from autoconf.
18035         * INSTALL: Regenerate.
18036         * INSTALL.ISO: New file.
18037         * INSTALL.UTF-8: Likewise.
18038
18039 2008-08-26  Jim Meyering  <meyering@redhat.com>
18040
18041         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
18042         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
18043         these definitions conditional, so that they may be overridden, too.
18044
18045 2008-08-26  Bruno Haible  <bruno@clisp.org>
18046
18047         Generate INSTALL file variants with prettier quotes.
18048         * doc/Makefile (INSTALL_PRELUDE): New macro.
18049         (INSTALL): Use it.
18050         (INSTALL.ISO, INSTALL.UTF-8): New rules.
18051
18052 2008-08-26  Bruno Haible  <bruno@clisp.org>
18053
18054         Run makeinfo in an English locale.
18055         * doc/Makefile (MAKEINFO): New variable.
18056
18057 2008-08-26  Bruno Haible  <bruno@clisp.org>
18058
18059         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
18060         Suggested by Eric Blake.
18061
18062 2008-08-25  Bruno Haible  <bruno@clisp.org>
18063
18064         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
18065
18066 2008-08-25  Eric Blake  <ebb9@byu.net>
18067
18068         c-stack: test that stack overflow can be caught
18069         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
18070         that platform allows handling stack overflow; at least OS/2 EMX
18071         has sigaltstack, but crashes before transferring control to
18072         handler on stack overflow.
18073         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
18074         check for HAVE_STACK_OVERFLOW_HANDLING.
18075         Reported by Elbert Pol.
18076
18077 2008-08-25  Bruno Haible  <bruno@clisp.org>
18078
18079         * doc/posix-functions/strftime.texi: Fix description of strftime
18080         module.
18081
18082 2008-08-24  Bruno Haible  <bruno@clisp.org>
18083
18084         * tests/uniwidth/test-uc_width2.c: New file.
18085         * tests/uniwidth/test-uc_width2.sh: New file.
18086         * modules/uniwidth/width-tests (Files): Add the new files.
18087         (TESTS): Add uniwidth/test-uc_width2.sh.
18088         (TESTS_ENVIRONMENT): New variable.
18089         (check_PROGRAMS): Add test-uc_width2.
18090         (test_uc_width2_SOURCES): New variable.
18091
18092         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
18093         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
18094         not 0x00AB.
18095         Reported by Alexander V. Lukyanov <lav@netis.ru>.
18096
18097 2008-08-22  Eric Blake  <ebb9@byu.net>
18098
18099         test-lock, test-tls: mention why a test is skipped
18100         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
18101         skipped.
18102         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
18103
18104         count-one-bits: relax license
18105         * modules/count-one-bits (License): Relicense to LGPLv2+.
18106         Suggested by Ludovic Courtès, approved by Ben Pfaff.
18107
18108 2008-08-22  Andreas Schwab  <schwab@suse.de>
18109
18110         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
18111         Remove spurious space in assignment.
18112
18113 2008-08-21  Simon Josefsson  <simon@josefsson.org>
18114
18115         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
18116         Paul Eggert <eggert@CS.UCLA.EDU>.
18117
18118 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
18119
18120         * modules/gettext: Add m4/threadlib.m4.
18121
18122 2008-08-19  Eric Blake  <ebb9@byu.net>
18123
18124         test-c-stack: fix compilation failure on FreeBSD 5.0
18125         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
18126         headers before <sys/resource.h>.
18127         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
18128         the bug.
18129         Reported by Nelson H. F. Beebe.
18130
18131         strverscmp: migrate from "strverscmp.h" to <string.h>
18132         * modules/string (Makefile.am): Add new hooks.
18133         * modules/strverscmp (Files): Remove strverscmp.h.
18134         (Depends-on): Add string.
18135         (configure.ac): Add indicator.
18136         (Include): Mention new header.
18137         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
18138         defaults.
18139         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
18140         results.
18141         * lib/strverscmp.h: Delete.
18142         * lib/string.in.h (strverscmp): Provide declaration, when needed.
18143         * tests/test-strverscmp.c (includes): Adjust client.
18144         * lib/check-version.c (includes): Likewise.
18145         * NEWS: Document the change.
18146
18147         strverscmp: add unit test
18148         * modules/strverscmp-tests: New file.
18149         * tests/test-strverscmp.c: Likewise.
18150
18151 2008-08-19  Simon Josefsson  <simon@josefsson.org>
18152
18153         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
18154         regarding Windows crypto stuff, from Mono.
18155
18156 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
18157
18158         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
18159         if present, for intel RND.  Return error on failures.
18160
18161 2008-08-18  Ben Pfaff  <blp@gnu.org>
18162
18163         gitlog-to-changelog: give better diagnostic for failed pipe-open
18164         * build-aux/gitlog-to-changelog: Improve error message: suggest
18165         that the version of Git may be too old.
18166
18167 2008-08-18  Simon Josefsson  <simon@josefsson.org>
18168
18169         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
18170         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
18171
18172 2008-08-18  Bruno Haible  <bruno@clisp.org>
18173
18174         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
18175         pthread_in_use().
18176
18177 2008-08-18  Bruno Haible  <bruno@clisp.org>
18178
18179         * lib/glthread/threadlib.c: Include <pthread.h>.
18180
18181 2008-08-18  Bruno Haible  <bruno@clisp.org>
18182
18183         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
18184         glthread_recursive_lock_* macros.
18185         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
18186         Fix syntax error.
18187
18188 2008-08-18  Bruno Haible  <bruno@clisp.org>
18189
18190         * lib/glthread/thread.c: Avoid forcing a context switch right after
18191         thread creation.
18192
18193 2008-08-17  Bruno Haible  <bruno@clisp.org>
18194
18195         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
18196         * lib/glthread/thread.h: Provide Win32 specific implementation.
18197         * modules/thread (Files): Add lib/glthread/thread.c.
18198         (Depends-on): Add lock.
18199         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
18200
18201 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
18202
18203         New module 'yield'.
18204         * modules/yield: New file.
18205         * lib/glthread/yield.h: New file.
18206         * m4/yield.m4: New file.
18207         * MODULES.html.sh (Multithreading): Add yield.
18208
18209 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
18210
18211         New module 'thread'.
18212         * modules/thread: New file.
18213         * lib/glthread/thread.h: New file.
18214         * m4/thread.m4: New file.
18215         * MODULES.html.sh (Multithreading): Add thread.
18216
18217 2008-08-17  Bruno Haible  <bruno@clisp.org>
18218
18219         * lib/glthread/lock.h: Include <stdlib.h> always.
18220         * lib/glthread/tls.h: Likewise.
18221         * lib/glthread/cond.h: Likewise.
18222
18223 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
18224
18225         New module 'cond'.
18226         * modules/cond: New file.
18227         * lib/glthread/cond.h: New file.
18228         * lib/glthread/cond.c: New file.
18229         * m4/cond.m4: New file.
18230         * MODULES.html.sh (Multithreading): Add cond.
18231
18232 2008-08-16  Eric Blake  <ebb9@byu.net>
18233
18234         c-stack: fix regression on Irix 5.3 from 2008-06-21
18235         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
18236         sa_sigaction...
18237         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
18238         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
18239         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
18240         * modules/signal (Makefile.am): Use the value.
18241         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
18242         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
18243         * doc/posix-headers/signal.texi (signal.h): Document this
18244         portability issue.
18245         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
18246         Reported by Tom G. Christensen.
18247
18248 2008-08-17  Bruno Haible  <bruno@clisp.org>
18249
18250         New module 'threadlib'.
18251         * modules/threadlib: New file.
18252         * lib/glthread/threadlib.c: New file, extracted from
18253         lib/glthread/lock.c.
18254         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
18255         functions.
18256         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
18257         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
18258         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
18259         macros.
18260         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
18261         (gl_DISABLE_THREADS): Remove macro.
18262         * modules/lock (Files): Remove build-aux/config.rpath.
18263         (Depends-on): Remove havelib. Add threadlib.
18264         (configure.ac-early): Remove section.
18265         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
18266         * modules/tls (Depends-on): Remove lock. Add threadlib.
18267         (Link): New section, copied from threadlib.
18268         * MODULES.html.sh (Multithreading): Add threadlib.
18269
18270 2008-08-14  Bruno Haible  <bruno@clisp.org>
18271
18272         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
18273         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
18274         glthread_rwlock_unlock, glthread_rwlock_destroy,
18275         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
18276         glthread_recursive_lock_destroy): Define as macros always.
18277         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
18278         glthread_lock_lock.
18279         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
18280         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
18281         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
18282         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
18283         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
18284         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
18285         (glthread_recursive_lock_lock_func): Renamed from
18286         glthread_recursive_lock_lock.
18287         (glthread_recursive_lock_unlock_func): Renamed from
18288         glthread_recursive_lock_unlock.
18289         (glthread_recursive_lock_destroy_func): Renamed from
18290         glthread_recursive_lock_destroy.
18291
18292 2008-08-14  Bruno Haible  <bruno@clisp.org>
18293
18294         * lib/glthread/lock.h: Renamed from lib/lock.h.
18295         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
18296         * lib/glthread/tls.h: Renamed from lib/tls.h.
18297         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
18298         * lib/fstrcmp.c: Update includes.
18299         * lib/strsignal.c: Update includes.
18300         * modules/lock (Files, Makefile.am): Update.
18301         (Include): Change to "glthread/lock.h".
18302         * modules/tls (Files, Makefile.am): Update.
18303         (Include): Change to "glthread/tls.h".
18304         * tests/test-lock.c: Update includes.
18305         * tests/test-tls.c: Update includes.
18306         * NEWS: Mention the renamed header files.
18307
18308 2008-08-11  Jim Meyering  <meyering@redhat.com>
18309
18310         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
18311
18312 2008-08-11  Eric Blake  <ebb9@byu.net>
18313
18314         test-c-stack: avoid C99-ism
18315         * tests/test-c-stack.c (main): Fix whitespace, move declaration
18316         before statement.
18317         Reported by Alain Guibert.
18318
18319 2008-08-10  Jim Meyering  <meyering@redhat.com>
18320
18321         ensure that return value of uinttostr et al are not ignored
18322         * lib/inttostr.h (__GNUC_PREREQ): Define.
18323         (__attribute_warn_unused_result__): Define.
18324         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
18325
18326 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
18327
18328         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
18329         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
18330
18331 2008-08-07  Jim Meyering  <meyering@redhat.com>
18332
18333         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
18334
18335         * modules/mkstemp (License): Relicense under LGPLv2+.
18336         * modules/tempname (License): Likewise.
18337
18338 2008-08-06  Bruno Haible  <bruno@clisp.org>
18339
18340         * lib/poll.c (poll): Further micro-optimization.
18341
18342 2008-08-06  Jim Meyering  <meyering@redhat.com>
18343
18344         inet_pton.c: use locale-independent tolower
18345         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
18346         (inet_pton6): Use c_tolower rather than tolower.
18347         * modules/inet_pton (Depends-on): Add c-ctype.
18348
18349 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
18350
18351         * lib/poll.c (poll): Avoid division when timeout is 0, cache
18352         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
18353
18354 2008-08-06  Jim Meyering  <meyering@redhat.com>
18355
18356         * modules/inet_pton (License): Relicense under LGPLv2+.
18357
18358 2008-08-03  Bruno Haible  <bruno@clisp.org>
18359
18360         Additional non-aborting API for lock and tls.
18361         * lib/lock.h: Include <errno.h>.
18362         (glthread_lock_init): New macro/function.
18363         (gl_lock_init): Define as wrapper around glthread_lock_init.
18364         (glthread_lock_lock): New macro/function.
18365         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
18366         (glthread_lock_unlock): New macro/function.
18367         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
18368         (glthread_lock_destroy): New macro/function.
18369         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
18370         (glthread_rwlock_init): New macro/function.
18371         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
18372         (glthread_rwlock_rdlock): New macro/function.
18373         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
18374         (glthread_rwlock_wrlock): New macro/function.
18375         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
18376         (glthread_rwlock_unlock): New macro/function.
18377         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
18378         (glthread_rwlock_destroy): New macro/function.
18379         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
18380         (glthread_recursive_lock_init): New macro/function.
18381         (gl_recursive_lock_init): Define as wrapper around
18382         glthread_recursive_lock_init.
18383         (glthread_recursive_lock_lock): New macro/function.
18384         (gl_recursive_lock_lock): Define as wrapper around
18385         glthread_recursive_lock_lock.
18386         (glthread_recursive_lock_unlock): New macro/function.
18387         (gl_recursive_lock_unlock): Define as wrapper around
18388         glthread_recursive_lock_unlock.
18389         (glthread_recursive_lock_destroy): New macro/function.
18390         (gl_recursive_lock_destroy): Define as wrapper around
18391         glthread_recursive_lock_destroy.
18392         (glthread_once): New macro/function.
18393         (gl_once): Define as wrapper around glthread_once.
18394         Update function declarations.
18395         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
18396         glthread_rwlock_init. Return error code.
18397         (glthread_rwlock_rdlock_multithreaded): Renamed from
18398         glthread_rwlock_rdlock. Return error code.
18399         (glthread_rwlock_wrlock_multithreaded): Renamed from
18400         glthread_rwlock_wrlock. Return error code.
18401         (glthread_rwlock_unlock_multithreaded): Renamed from
18402         glthread_rwlock_unlock. Return error code.
18403         (glthread_rwlock_destroy_multithreaded): Renamed from
18404         glthread_rwlock_destroy. Return error code.
18405         (glthread_recursive_lock_init_multithreaded): Renamed from
18406         glthread_recursive_lock_init. Return error code.
18407         (glthread_recursive_lock_lock_multithreaded): Renamed from
18408         glthread_recursive_lock_lock. Return error code.
18409         (glthread_recursive_lock_unlock_multithreaded): Renamed from
18410         glthread_recursive_lock_unlock. Return error code.
18411         (glthread_recursive_lock_destroy_multithreaded): Renamed from
18412         glthread_recursive_lock_destroy. Return error code.
18413         (glthread_once_call): Make static.
18414         (glthread_once_multithreaded): Renamed from glthread_once.
18415         * lib/tls.h: Include <errno.h>.
18416         (glthread_tls_key_init): New macro/function.
18417         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
18418         (glthread_tls_set): New macro/function.
18419         (gl_tls_set): Define as wrapper around glthread_tls_set.
18420         (glthread_tls_key_destroy): New macro/function.
18421         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
18422         Update function declarations.
18423         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
18424         glthread_tls_get.
18425         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
18426
18427 2008-08-04  Eric Blake  <ebb9@byu.net>
18428
18429         gnumakefile: use space, not TAB, outside of targets
18430         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
18431
18432 2008-08-02  Jim Meyering  <meyering@redhat.com>
18433
18434         getdate.y: avoid locale-dependent date parsing failure
18435         In Turkish locales, getdate would fail to recognize keywords
18436         containing a lowercase "i".  The solution is not to rely on
18437         locale-sensitive case-conversion.
18438         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
18439         (lookup_word): Use c_toupper in place of toupper.
18440         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
18441         Reported by Vefa Bicakci <bicave@superonline.com> in
18442         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
18443         * modules/getdate (Depends-on): Add c-ctype.
18444
18445 2008-08-02  Bruno Haible  <bruno@clisp.org>
18446
18447         * gnulib-tool (func_import): When updating or creating a .gitignore
18448         file, prepend each added line with a slash, and ignore leading slashes
18449         from the existing lines.
18450         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
18451
18452 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18453
18454         Portability fix for GNU make 3.79.1.
18455         * top/GNUmakefile: Avoid 'else COND', which older GNU make
18456         versions do not understand.
18457
18458 2008-08-01  Bruno Haible  <bruno@clisp.org>
18459
18460         Work around bug of HP-UX 10.20 cc with -0.0 literal.
18461         * tests/test-isnanf.h (zero): New variable.
18462         (main): Avoid literal -0.0f.
18463         * tests/test-isnand.h (zero): New variable.
18464         (main): Avoid literal -0.0.
18465         * tests/test-isnanl.h (zero): New variable.
18466         (main): Avoid literal -0.0L.
18467         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
18468         (test_float, test_double, test_long_double): Avoid literals -0.0f,
18469         -0.0, -0.0L.
18470         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
18471         (test_signbitd): Avoid literal -0.0.
18472         (test_signbitl): Avoid literal -0.0L.
18473         * tests/test-ceilf1.c (zero): New variable.
18474         (main): Avoid literal -0.0f.
18475         * tests/test-ceill.c (zero): New variable.
18476         (main): Avoid literal -0.0L.
18477         * tests/test-floorf1.c (zero): New variable.
18478         (main): Avoid literal -0.0f.
18479         * tests/test-floorl.c (zero): New variable.
18480         (main): Avoid literal -0.0L.
18481         * tests/test-roundf1.c (zero): New variable.
18482         (main): Avoid literal -0.0f.
18483         * tests/test-round1.c (zero): New variable.
18484         (main): Avoid literal -0.0.
18485         * tests/test-roundl.c (zero): New variable.
18486         (main): Avoid literal -0.0L.
18487         * tests/test-truncf1.c (zero): New variable.
18488         (main): Avoid literal -0.0f.
18489         * tests/test-trunc1.c (zero): New variable.
18490         (main): Avoid literal -0.0.
18491         * tests/test-truncl.c (zero): New variable.
18492         (main): Avoid literal -0.0L.
18493         * tests/test-frexp.c (zero): New variable.
18494         (main): Avoid literal -0.0.
18495         * tests/test-frexpl.c (zero): New variable.
18496         (main): Avoid literal -0.0L.
18497         * tests/test-ldexpl.c (zero): New variable.
18498         (main): Avoid literal -0.0L.
18499         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
18500         (zerod, zerol): New variables.
18501         (test_function): Avoid literals -0.0, -0.0L.
18502         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
18503         (zerod, zerol): New variables.
18504         (test_function): Avoid literals -0.0, -0.0L.
18505         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
18506         (zerod, zerol): New variables.
18507         (test_function): Avoid literals -0.0, -0.0L.
18508         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
18509         (zerod, zerol): New variables.
18510         (test_function): Avoid literals -0.0, -0.0L.
18511         * tests/test-strtod.c (zero): New variable.
18512         (main): Avoid literal -0.0.
18513         Reported by Jonathan C. Patschke <jp@centtech.com>.
18514
18515 2008-07-31  Jim Meyering  <meyering@redhat.com>
18516
18517         sha256.h: correct definition of SHA224_DIGEST_SIZE
18518         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
18519         Reported by Paulie Pena IV <paulie4@gmail.com>.
18520         Define as 224 / 8, rather than as a literal.
18521         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
18522         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
18523         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
18524
18525 2008-07-31  Bruno Haible  <bruno@clisp.org>
18526
18527         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
18528         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
18529         Reported by Jonathan Patschke <jp@centtech.com>.
18530
18531 2008-07-31  Bruno Haible  <bruno@clisp.org>
18532
18533         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
18534         Reported by Paolo Bonzini <bonzini@gnu.org>.
18535
18536 2008-07-30  Eric Blake  <ebb9@byu.net>
18537
18538         test-strtod: allow compilation without -lm
18539         * tests/test-strtod.c (main): Avoid link dependence on fabs.
18540         Reported by Dennis Clarke <blastwave@gmail.com>.
18541
18542 2008-07-28  Jim Meyering  <meyering@redhat.com>
18543
18544         bootstrap: work also when there are no .po files in po/
18545         * build-aux/bootstrap (update_po_files): Complete the change
18546         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
18547
18548 2008-07-27  Jim Meyering  <meyering@redhat.com>
18549
18550         * users.txt: Add zile.
18551
18552 2008-07-26  Ben Pfaff  <blp@gnu.org>
18553
18554         Add missing dependencies on new m4/exponent[fdl].m4 files.
18555         * modules/isnanf-nolibm: Add m4/exponentf.m4.
18556         * modules/isnand-nolibm: Add m4/exponentd.m4.
18557         * modules/isnanl-nolibm: Add m4/exponentl.m4.
18558         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
18559         m4/isnan[fdl].m4, because the macros actually used moved.
18560         Reported by Jim Meyering.
18561
18562 2008-07-14  Ben Pfaff  <blp@gnu.org>
18563
18564         Add isinf module.
18565         * lib/isinf.c: New file.
18566         * lib/math.in.h: Define isinf macro if we have decided to replace
18567         it.
18568         * m4/isinf.m4: New file.
18569         * m4/math_h.m4: Initialize and substitute variables for isinf
18570         module.
18571         * modules/isinf: New file.
18572         * modules/isinf-tests: New file.
18573         * modules/math: Add substitutions for new module.
18574         * tests/test-isinf.c: New file.
18575         * doc/posix-functions/isinf.texi: Mention new module.
18576         * MODULES.html.sh: Mention new module.
18577
18578 2008-07-14  Ben Pfaff  <blp@gnu.org>
18579
18580         Factor out some macros for use by additional modules.
18581         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
18582         exponentf.m4.
18583         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
18584         exponentd.m4.
18585         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
18586         file exponentl.m4.
18587         * m4/exponentf.m4: New file.
18588         * m4/exponentd.m4: New file.
18589         * m4/exponentl.m4: New file.
18590         * modules/isnanf: Use new file m4/exponentf.m4.
18591         * modules/isnand: Use new file m4/exponentd.m4.
18592         * modules/isnanl: Use new file m4/exponentl.m4.
18593
18594 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
18595
18596         mktime.c: normalize tp->tm_isdst value to -1/0/1.
18597         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
18598         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
18599         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
18600
18601         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
18602         readlink on platforms without PATH_MAX.
18603
18604 2008-07-21  Eric Blake  <ebb9@byu.net>
18605
18606         Warn, not fail, on stale version.
18607         * top/GNUmakefile (_curr-ver): Tone down previous patch.
18608
18609         Don't allow installation with stale devel version number.
18610         * top/GNUmakefile (_is-install-target): New macro.
18611         (_curr-ver): Forbid installation with stale version number.
18612
18613 2008-07-20  Bruno Haible  <bruno@clisp.org>
18614
18615         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
18616         TESTS_ENVIRONMENT.
18617         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
18618
18619 2008-07-20  Bruno Haible  <bruno@clisp.org>
18620
18621         * lib/c-stack.h (c_stack_action): Add documentation.
18622         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
18623
18624 2008-07-20  Bruno Haible  <bruno@clisp.org>
18625
18626         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
18627         * modules/readlink (License): Likewise.
18628
18629 2008-07-17  Eric Blake  <ebb9@byu.net>
18630
18631         * modules/c-stack (Link): Fix typo.
18632
18633         Make c-stack use libsigsegv, when available.
18634         * modules/c-stack (Depends-on): Add libsigsegv.
18635         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
18636         needed.
18637         * lib/c-stack.c (SIGSTKSZ): Define fallback.
18638         (segv_handler, overflow_handler, c_stack_action)
18639         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
18640         implementation when libsigsegv is available, but only when using
18641         the library is necessary.
18642         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
18643         comment, explaining why XSI check fails on Linux.
18644         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
18645         * tests/test-c-stack2.sh: Tweak skip message.
18646         * NEWS: Document new link-time requirements.
18647
18648 2008-07-16  Eric Blake  <ebb9@byu.net>
18649
18650         c-stack: Expose false positives when not using libsigsegv.
18651         * modules/c-stack-tests (Files): Expand test.
18652         * tests/test-c-stack.c (main): Add means to conditionally trigger
18653         non-overflow SIGSEGV.
18654         * tests/test-c-stack2.sh: New file.
18655
18656 2008-07-14  Bruno Haible  <bruno@clisp.org>
18657
18658         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
18659         Reported by Eric Blake.
18660
18661 2008-07-14  Sam Steingold  <sds@gnu.org>
18662             Bruno Haible  <bruno@clisp.org>
18663
18664         New module libsigsegv.
18665         * modules/libsigsegv: New file.
18666         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
18667         modifications.
18668         * MODULES.html.sh (Signal handling): New section.
18669
18670 2008-07-14  Bruno Haible  <bruno@clisp.org>
18671
18672         * modules/unictype/ctype-* (Description): Add the word "function".
18673         Improves the resulting doc in MODULES.html.
18674
18675 2008-07-12  Ben Pfaff  <blp@gnu.org>
18676
18677         Add longlong module.
18678         * modules/longlong: New file.
18679
18680 2008-07-12  Bruno Haible  <bruno@clisp.org>
18681
18682         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
18683         to empty.
18684
18685 2008-07-10  Ben Pfaff  <blp@gnu.org>
18686
18687         Add isnan module.
18688         * doc/posix-functions/isnan.texi: Mention new module.
18689         * lib/math.in.h: Define isnan macro if we have decided to replace
18690         it.
18691         * m4/isnan.m4: New file.
18692         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
18693         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
18694         also.
18695         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
18696         redundancy.
18697         * m4/math_h.m4: Initialize and substitute variables for isnan
18698         module.
18699         * modules/isnan: New file.
18700         * modules/isnan-tests: New file.
18701         * modules/math: Add substitutions for new module.
18702         * tests/test-isnan.c: New file.
18703         * MODULES.html.sh: Mention new module.
18704
18705 2008-07-10  Ben Pfaff  <blp@gnu.org>
18706
18707         Add isnanf module.
18708         * lib/isnanf.m4: New file.
18709         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
18710         (gl_HAVE_ISNANF_IN_LIBM): New macro.
18711         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
18712         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
18713         * modules/isnanf: New file.
18714         * modules/isnanf-tests: New file.
18715         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
18716         files.
18717         * tests/test-isnanf-nolibm.c: factored most of its contents into
18718         new file tests/test-isnanf.h.
18719         * tests/test-isnanf.h: New file.
18720         * tests/test-isnanf.c: New file.
18721         * MODULES.html.sh: Mention new module.
18722         * doc/glibc-functions/isnanf.texi: Mention new module.
18723
18724 2008-07-10  Ben Pfaff  <blp@gnu.org>
18725
18726         Add isnand module.
18727         * lib/isnand.h: New file.
18728         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
18729         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
18730         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
18731         functionality also.
18732         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
18733         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
18734         (gl_HAVE_ISNAND_IN_LIBM): New macro.
18735         * modules/isnand: New file.
18736         * modules/isnand-tests: New file.
18737         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
18738         files.
18739         * tests/test-isnand-nolibm.c: factored most of its contents into
18740         new file tests/test-isnand.h.
18741         * tests/test-isnand.h: New file.
18742         * tests/test-isnand.c: New file.
18743         * MODULES.html.sh: Mention new module.
18744
18745 2008-07-10  Ben Pfaff  <blp@gnu.org>
18746
18747         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
18748         * lib/isnand.h: Rename lib/isnand-nolibm.h.
18749         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
18750         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
18751         * modules/isnanf-nolibm: Update references to renamed files.
18752         * modules/isnand-nolibm: Likewise.
18753         * modules/isnanf-nolibm-tests: Likewise.
18754         * modules/isnand-nolibm-tests: Likewise.
18755         * lib/frexp.c: Likewise.
18756         * lib/isfinite.c: Likewise.
18757         * lib/signbitd.c: Likewise.
18758         * lib/signbitf.c: Likewise.
18759         * lib/vasnprintf.c: Likewise.
18760         * tests/test-ceilf1.c: Likewise.
18761         * tests/test-ceilf2.c: Likewise.
18762         * tests/test-floorf1.c: Likewise.
18763         * tests/test-floorf2.c: Likewise.
18764         * tests/test-frexp.c: Likewise.
18765         * tests/test-round1.c: Likewise.
18766         * tests/test-round2.c: Likewise.
18767         * tests/test-roundf1.c: Likewise.
18768         * tests/test-strtod.c: Likewise.
18769         * tests/test-trunc1.c: Likewise.
18770         * tests/test-trunc2.c: Likewise.
18771         * tests/test-truncf1.c: Likewise.
18772         * tests/test-truncf2.c: Likewise.
18773         * NEWS: Mention the renamed header files.
18774
18775 2008-07-11  Jim Meyering  <meyering@redhat.com>
18776
18777         vc-list-files: make the last-resort awk code more portable
18778         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
18779         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
18780         does not support it.
18781
18782 2008-07-10  Eric Blake  <ebb9@byu.net>
18783
18784         Work with tar's bootstrap.
18785         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
18786         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
18787         an m4 comment.
18788
18789 2008-07-09  Jim Meyering  <meyering@redhat.com>
18790
18791         posix-shell.m4: fix typo that made this test malfunction
18792         * m4/posix-shell.m4: Remove capitalization in variable name.
18793
18794 2008-07-08  Bruno Haible  <bruno@clisp.org>
18795
18796         * m4/onceonly.m4: Update comments.
18797         Reported by Ben Pfaff <blp@cs.stanford.edu>.
18798
18799 2008-07-04  Jim Meyering  <meyering@redhat.com>
18800
18801         * users.txt: Add vc-dwim.
18802         (bison, coreutils): Use the gitweb URL.
18803
18804 2008-07-03  Jim Meyering  <meyering@redhat.com>
18805
18806         * users.txt: Add libffcall.  From Sam Steingold.
18807
18808 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
18809
18810         getdate.y: do not ignore TZ with relative day, month or year offset
18811         * lib/getdate.y (get_date): Move the tz-handling block to follow the
18812         relative-date-handling, since otherwise, the latter would clobber the
18813         sole output (an updated Start value) of the tz-handling block.
18814         * tests/test-getdate.c: Tests for the fix
18815
18816 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18817
18818         Recognize 'foo_LIBRARIES += libgnu.a'.
18819         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
18820         makefile snippet has already specified an installation location,
18821         also using '+='.
18822
18823 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
18824
18825         getdate.y: factor out common actions
18826         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
18827         Use them in place of open-coded actions.
18828
18829 2008-07-01  Simon Josefsson  <simon@josefsson.org>
18830
18831         Add self-test for getdate module.
18832         * modules/getdate-tests: New file.
18833         * tests/test-getdate.c: New file.
18834
18835 2008-06-29  Bruno Haible  <bruno@clisp.org>
18836
18837         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
18838         .gitignore.
18839         Reported by Sylvain Beucler <beuc@beuc.net>.
18840
18841 2008-06-29  Bruno Haible  <bruno@clisp.org>
18842
18843         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
18844         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
18845
18846 2008-06-29  Bruno Haible  <bruno@clisp.org>
18847
18848         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
18849         EXTRA_DIST.
18850         Reported by Sylvain Beucler <beuc@beuc.net>.
18851
18852 2008-06-26  Jim Meyering  <meyering@redhat.com>
18853
18854         make several modules depend on the "open" module
18855         This provides slightly increased consistency when opening-for-write
18856         the name of a non-directory spelled with a trailing slash.
18857         * modules/chdir-safer: Likewise.
18858         * modules/chown: Likewise.
18859         * modules/clean-temp: Likewise.
18860         * modules/copy-file: Likewise.
18861         * modules/fchdir: Likewise.
18862         * modules/fcntl-safer: Likewise.
18863         * modules/pipe: Likewise.
18864         * modules/utime: Likewise.
18865         Prompted by Eric Blake and Bruno Haible.
18866
18867 2008-06-24  Andreas Schwab  <schwab@suse.de>
18868
18869         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
18870         literals can be used as initializers for global variables.
18871
18872 2008-06-23  Eric Blake  <ebb9@byu.net>
18873
18874         Make gnulib-cache.m4 easier to diff.
18875         * gnulib-tool (func_import): Allow newlines when reading cached
18876         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
18877
18878 2008-06-23  Bruno Haible  <bruno@clisp.org>
18879
18880         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
18881         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
18882         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
18883         m4/signalblocking.m4.
18884         (gl_PREREQ_SIGACTION): Don't invoke it.
18885         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
18886         gl_PREREQ_SIG_HANDLER_H.
18887         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
18888         Don't check for sigaction here.
18889
18890 2008-06-23  Bruno Haible  <bruno@clisp.org>
18891
18892         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
18893         (install_handlers): Don't set the SA_RESETHAND flag.
18894
18895 2008-06-23  Bruno Haible  <bruno@clisp.org>
18896
18897         * m4/sigaction.m4: Comment fixes.
18898         * lib/signal.in.h: Likewise.
18899
18900 2008-06-23  Eric Blake  <ebb9@byu.net>
18901
18902         Fix typo.
18903         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
18904
18905         Avoid SA_ namespace.
18906         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
18907         Reported by Ralf Wildenhues.
18908
18909         Avoid test failure due to SA_RESTORER.
18910         * tests/test-sigaction.c (SA_MASK): New macro.
18911         (main): Avoid failing due to extension flags being set.
18912         Reported by Jim Meyering.
18913
18914         Revert use of sig-handler.h in sigprocmask.c.
18915         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
18916         it requires the existence of struct sigaction.
18917         * lib/sigprocmask.c (handler_t): Restore typedef.
18918         (rpl_signal, old_handlers): Use local type.
18919
18920 2008-06-22  Bruno Haible  <bruno@clisp.org>
18921
18922         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
18923         conditionally.
18924         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
18925
18926 2008-06-22  Bruno Haible  <bruno@clisp.org>
18927
18928         * doc/posix-functions/siginterrupt.texi: Move note.
18929
18930         * lib/signal.in.h (SA_RESTART): New macro.
18931         * lib/sigaction.c: Update comment.
18932
18933         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
18934
18935         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
18936         (gl_PREREQ_SIGPROCMASK): Invoke it.
18937         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
18938
18939         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
18940
18941         * lib/sigprocmask.c: Update a comment.
18942
18943 2008-06-21  Eric Blake  <ebb9@byu.net>
18944
18945         Use sigaction module rather than signal().
18946         * modules/c-stack (Depends-on): Add sigaction.
18947         * modules/fatal-signal (Depends-on): Likewise.
18948         * modules/nanosleep (Depends-on): Likewise.
18949         * modules/sigprocmask (Files): Add sig-handler.h.
18950         * modules/sigaction (Files): Likewise.
18951         * lib/sig-handler.h (get_handler): New file, suggested by Paul
18952         Eggert.
18953         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
18954         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
18955         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
18956         (init_fatal_signals): Likewise.
18957         * lib/nanosleep.c (rpl_nanosleep): Likewise.
18958         (siginterrupt): Delete fallback.
18959         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
18960         instead.
18961         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
18962         siginterrupt.
18963
18964         New module sigaction, for mingw.
18965         * modules/sigaction: New module...
18966         * modules/sigaction-tests: ...and its test.
18967         * m4/sigaction.m4: New file.
18968         * lib/sigaction.c: Likewise.
18969         * tests/test-sigaction.c: Likewise.
18970         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
18971         * modules/signal (Makefile.am): Likewise.
18972         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
18973         needed.
18974         * doc/posix-headers/signal.texi (signal.h): Mention provided
18975         types.
18976         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
18977         that sigaction is preferable.
18978         * doc/posix-functions/sigaction.texi (sigaction): Mention new
18979         module.
18980         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
18981         sigaction.
18982
18983         Improve robustness of sigprocmask by overriding signal.
18984         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
18985         is in use.
18986         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
18987         (SIGKILL, SIGSTOP): Provide fallbacks.
18988         (rpl_signal): Implement.
18989         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
18990         signal can be called inside handlers.
18991
18992         Fix nanosleep module on mingw.
18993         * modules/nanosleep (Depends-on): Add sys_select.
18994         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
18995
18996         Fix licensing of sigprocmask.
18997         * modules/raise (License): Relicense as LGPL.
18998
18999 2008-06-21  Bruno Haible  <bruno@clisp.org>
19000
19001         * lib/propername.c (proper_name_utf8): Don't use the transliterated
19002         result if it contains question marks.
19003         Reported by Michael Geng <linux@michaelgeng.de>.
19004
19005 2008-06-19  Bruno Haible  <bruno@clisp.org>
19006
19007         Fix CVS-ism.
19008         * doc/gnulib.texi: Include updated-stamp.texi.
19009         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
19010         (updated-stamp.texi): New rule.
19011         (gnulib.info): Depend on it.
19012         * doc/.gitignore: Add updated-stamp.texi.
19013         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
19014
19015 2008-06-19  Bruno Haible  <bruno@clisp.org>
19016
19017         * doc/Makefile (gnulib.info): Update and simplify dependencies.
19018         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
19019
19020 2008-06-19  Eric Blake  <ebb9@byu.net>
19021
19022         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
19023         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
19024         Reported by Stepan Kasal.
19025
19026 2008-06-18  Bruno Haible  <bruno@clisp.org>
19027
19028         * lib/fatal-signal.c (init_fatal_signals): Add comment.
19029         Reported by Eric Blake.
19030
19031 2008-06-18  Eric Blake  <ebb9@byu.net>
19032
19033         Work around cygwin 1.5.25 strsignal bug.
19034         * tests/test-strsignal.c: Allow for const char *.
19035         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
19036
19037 2008-06-18  Simon Josefsson  <simon@josefsson.org>
19038
19039         * users.txt: Update URL to article and add author/date
19040         information.
19041
19042 2008-06-17  Bruno Haible  <bruno@clisp.org>
19043
19044         New macro gl_DISABLE_THREADS.
19045         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
19046         if the user did not pass --enable-threads or --disable-threads option.
19047         (gl_DISABLE_THREADS): New macro.
19048         Reported by Eric Blake <ebb9@byu.net>.
19049
19050 2008-06-17  Bruno Haible  <bruno@clisp.org>
19051
19052         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
19053         when the macro ignores it.
19054         Based on a patch by Eric Blake <ebb9@byu.net>.
19055
19056 2008-06-17  Bruno Haible  <bruno@clisp.org>
19057
19058         * modules/tls (License): Change to LGPLv2+.
19059         Reported by Eric Blake.
19060
19061 2008-06-17  Eric Blake  <ebb9@byu.net>
19062
19063         Simplify c-stack prerequisites.
19064         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
19065         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
19066         no longer requires <ucontext.h> to exist.  Optimize setrlimit
19067         check.
19068         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
19069         <sys/resource.h>.
19070
19071         Move c-stack test into testsuite.
19072         * modules/c-stack-tests: New file.
19073         * lib/c-stack.c [DEBUG]: Move test program...
19074         * tests/test-c-stack.c: ...into this new file.  Skip rather than
19075         fail test if sigaltstack is lacking.
19076         * tests/test-c-stack.sh: New driver file.
19077
19078 2008-06-16  Eric Blake  <ebb9@byu.net>
19079
19080         Use raise module consistently.
19081         * modules/fatal-signal (Depends-on): Add raise.
19082         * modules/sigprocmask (Depends-on): Likewise.
19083         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
19084         * lib/sigprocmask.c (sigprocmask): Likewise.
19085         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
19086         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
19087
19088         Fix compliance bug in sigpending.
19089         * lib/sigprocmask.c (sigpending): Return pending array via
19090         parameter, not return value.
19091
19092 2008-06-14  Eric Blake  <ebb9@byu.net>
19093
19094         Improve obstack-printf test code.
19095         * tests/test-obstack-printf.c (test_function): Fix comment, and
19096         simplify usage of obstack_* in macros.  Add a test for coverage.
19097         Reported by Bruno Haible.
19098
19099 2008-06-14  Bruno Haible  <bruno@clisp.org>
19100
19101         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
19102         array size as a constant, not as a const variable.
19103         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
19104         AC_USE_SYSTEM_EXTENSIONS.
19105         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
19106         Test whether the obstack_printf function actually exists.
19107         * modules/obstack-printf (Depends-on): Add extensions.
19108         (Include): Remove obstack.h.
19109         * modules/obstack-printf-posix (Depends-on): Add extensions.
19110         (Include): Remove obstack.h.
19111
19112 2008-06-13  Eric Blake  <ebb9@byu.net>
19113
19114         Add obstack-printf and obstack-printf-posix modules.
19115         * modules/obstack-printf: New file.
19116         * modules/obstack-printf-posix: Likewise.
19117         * MODULES.html.sh (Misc): Mention them.
19118         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
19119         Likewise.
19120         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
19121         Likewise.
19122         * modules/stdio (Makefile.am): Accomodate new modules.
19123         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
19124         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
19125         Declare.
19126         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
19127         functions.
19128         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
19129         (gl_REPLACE_OBSTACK_PRINTF): New macros
19130         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
19131         * tests/test-obstack-printf.c: New file.
19132         * modules/obstack-printf-tests: Likewise.
19133         * modules/obstack-printf-posix-tests: Likewise.
19134
19135 2008-06-11  Bruno Haible  <bruno@clisp.org>
19136
19137         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
19138         * lib/open.c: Include errno.h.
19139         (open): Fail when attempting to write to a file that has a trailing
19140         slash.
19141         * tests/test-open.c (main): Test against trailing slash bug.
19142         * doc/posix-functions/open.texi: Mention the trailing slash bug.
19143
19144 2008-06-10  Bruno Haible  <bruno@clisp.org>
19145
19146         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
19147         for $? to work inside the trap command, with various /bin/sh-s.
19148         * tests/test-vc-list-files-cvs.sh: Likewise.
19149
19150 2008-06-10  Bruno Haible  <bruno@clisp.org>
19151
19152         * lib/acl-internal.h: Don't include gettext.h here.
19153         * lib/set-mode-acl.c: Include gettext.h here.
19154         * lib/copy-acl.c: Likewise.
19155
19156 2008-06-10  Bruno Haible  <bruno@clisp.org>
19157
19158         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
19159         * lib/wait-process.c (wait_subprocess): Likewise.
19160         * lib/execute.h (execute): Add termsigp argument.
19161         * lib/execute.c (execute): Likewise.
19162         * lib/csharpcomp.c (compile_csharp_using_pnet,
19163         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
19164         * lib/csharpexec.c (execute_csharp_using_pnet,
19165         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
19166         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
19167         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
19168         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
19169         is_jikes_present): Update.
19170         * lib/javaexec.c (execute_java_class): Update.
19171         * lib/javaversion.c (execute_and_read_line): Update.
19172         * NEWS: Document the changes.
19173         Reported by Eric Blake.
19174
19175 2008-06-10  Eric Blake  <ebb9@byu.net>
19176
19177         Add missing include.
19178         * tests/test-strstr.c (includes): Add <signal.h>.
19179         * tests/test-strcasestr.c (includes): Likewise.
19180         * tests/test-memmem.c (includes): Likewise.
19181
19182 2008-06-10  Bruno Haible  <bruno@clisp.org>
19183
19184         * lib/wait-process.c (wait_subprocess): Add an assertion.
19185
19186 2008-06-10  Bruno Haible  <bruno@clisp.org>
19187
19188         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
19189
19190 2008-06-10  Bruno Haible  <bruno@clisp.org>
19191
19192         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
19193         using alarm().
19194         * tests/test-strcasestr.c (main): Likewise.
19195         * tests/test-strstr.c (main): Likewise.
19196
19197 2008-06-09  Bruno Haible  <bruno@clisp.org>
19198
19199         Work around the Solaris 10 ACE ACLs ABI change.
19200         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
19201         declare if ACL_NO_TRIVIAL is present.
19202         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
19203         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
19204         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
19205         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
19206         define if ACL_NO_TRIVIAL is present.
19207         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
19208         and use the current ABI.
19209         (file_has_acl): Use same #if condition as elsewhere.
19210         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
19211         in use, and use the current ABI.
19212         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
19213         Reported by Jim Meyering.
19214
19215 2008-06-09  Eric Blake  <ebb9@byu.net>
19216
19217         Work around environments that (stupidly) ignore SIGALRM.
19218         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
19219         before using alarm().
19220         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
19221         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
19222         Reported by Ian Beckwith <ianb@erislabs.net>.
19223
19224         Produce autobuild blurb earlier in log.
19225         * modules/autobuild (configure.ac-early): Move AB_INIT here.
19226
19227 2008-06-09  Jim Meyering  <meyering@redhat.com>
19228         and OndÅ™ej Vašík  <ovasik@redhat.com>
19229
19230         utimens.c: correct kernel bug work-around
19231         OndÅ™ej Vašík found that the invalid return value of 280 indicates
19232         failure, not success, and the kernel bug we're trying to work
19233         around affects not just the utimensat call, but also the fallback
19234         futimens call.
19235         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
19236         not success.
19237         [HAVE_FUTIMENS]: Use the same work-around, here.
19238
19239 2008-06-09  Jim Meyering  <meyering@redhat.com>
19240
19241         add more guards around definition of ACE_-related code
19242         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
19243         ALLOW and ACE_OWNER are also defined.
19244
19245 2008-06-08  Bruno Haible  <bruno@clisp.org>
19246
19247         * lib/acl-internal.h: Add me as co-author.
19248         * lib/file-has-acl.c: Likewise.
19249         * lib/set-mode-acl.c: Likewise.
19250         * lib/copy-acl.c: Likewise.
19251
19252 2008-06-08  Bruno Haible  <bruno@clisp.org>
19253
19254         Add support for AIX ACLs.
19255         * lib/acl-internal.h (acl_nontrivial): New declaration.
19256         * lib/file-has-acl.c (acl_nontrivial): New function.
19257         (file_has_acl): Add implementation using AIX 4 ACL API.
19258         * lib/set-mode-acl.c (qset_acl): Likewise.
19259         * lib/copy-acl.c (qcopy_acl): Likewise.
19260
19261 2008-06-08  Bruno Haible  <bruno@clisp.org>
19262
19263         Add support for HP-UX ACLs.
19264         * lib/acl-internal.h (acl_nontrivial): New declaration.
19265         * lib/file-has-acl.c (acl_nontrivial): New function.
19266         (file_has_acl): Add implementation using HP-UX 11 ACL API.
19267         * lib/set-mode-acl.c (qset_acl): Likewise.
19268         * lib/copy-acl.c (qcopy_acl): Likewise.
19269
19270 2008-06-08  Bruno Haible  <bruno@clisp.org>
19271
19272         Add support for Cygwin ACLs.
19273         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
19274         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
19275         the chmod_or_fchmod call.
19276         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
19277
19278 2008-06-08  Bruno Haible  <bruno@clisp.org>
19279
19280         Fix bug with setuid modes in Solaris 10+ code.
19281         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
19282         succeeded, when the mode contains some special bits.
19283
19284 2008-06-08  Bruno Haible  <bruno@clisp.org>
19285
19286         Add support for Solaris 7..10 ACLs.
19287         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
19288         declarations.
19289         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
19290         functions.
19291         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
19292         * lib/set-mode-acl.c (qset_acl): Likewise.
19293         * lib/copy-acl.c (qcopy_acl): Likewise.
19294
19295 2008-06-08  Bruno Haible  <bruno@clisp.org>
19296
19297         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
19298         declaration.
19299         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
19300         (acl_access_nontrivial): Remove MacOS X case.
19301         (file_has_acl): Use acl_extended_nontrivial.
19302         * lib/copy-acl.c (qcopy_acl): Likewise.
19303
19304 2008-06-08  Bruno Haible  <bruno@clisp.org>
19305
19306         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
19307
19308 2008-06-08  Jim Meyering  <meyering@redhat.com>
19309
19310         * modules/acl (Maintainer): Add Bruno Haible.
19311
19312 2008-06-07  Bruno Haible  <bruno@clisp.org>
19313
19314         Improve support for Tru64 ACLs.
19315         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
19316         ACL on OSF/1.
19317
19318 2008-06-07  Bruno Haible  <bruno@clisp.org>
19319
19320         Add support for MacOS X ACLs.
19321         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
19322         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
19323         * lib/set-mode-acl.c (qset_acl): Likewise.
19324         * lib/copy-acl.c (qcopy_acl): Likewise.
19325
19326 2008-06-07  Bruno Haible  <bruno@clisp.org>
19327
19328         Fix memory leak introduced on 2008-05-22.
19329         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
19330         use.
19331
19332 2008-06-07  Bruno Haible  <bruno@clisp.org>
19333
19334         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
19335         to construct an empty ACL.
19336
19337 2008-06-07  Bruno Haible  <bruno@clisp.org>
19338
19339         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
19340         precisely.
19341         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
19342
19343 2008-06-07  Bruno Haible  <bruno@clisp.org>
19344
19345         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
19346         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
19347
19348 2008-06-07  Bruno Haible  <bruno@clisp.org>
19349
19350         * doc/posix-functions/_setjmp.texi: Explain the use of this function
19351         regardless of POSIX.
19352         * doc/posix-functions/_longjmp.texi: Likewise.
19353         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
19354         SystemV platform in this case.
19355
19356 2008-06-06  Eric Blake  <ebb9@byu.net>
19357
19358         Document abort() bugs.
19359         * doc/posix-functions/abort.texi (abort): Mention anomalies.
19360
19361         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
19362         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
19363         sigsetjmp.
19364         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
19365         siglongjmp, but only as a macro.
19366         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
19367         is obsolete.
19368         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
19369
19370         Tweak documentation to cover cygwin argz bugs.
19371         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
19372         argz bug fix; no code change needed since no cygwin releases
19373         occurred between the last fix and the bug being tested.
19374         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
19375         module and recently fixed cygwin bugs.
19376         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
19377         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
19378         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
19379         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
19380         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
19381         Likewise.
19382         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
19383         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
19384         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
19385         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
19386         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
19387         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
19388         Likewise.
19389
19390         Avoid gcc warning on cygwin.
19391         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
19392         !ACL_NO_TRIVIAL]: Avoid unused variable.
19393
19394 2008-06-05  Eric Blake  <ebb9@byu.net>
19395
19396         Be tolerant of UNKNOWN version in gnulib-tool test dir.
19397         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
19398         git-version-gen fails to come up with a version.
19399         Reported by Simon Josefsson.
19400
19401 2008-06-05  Jim Meyering  <meyering@redhat.com>
19402             Paul Eggert  <eggert@cs.ucla.edu>
19403
19404         utimens.c: work around a probable Linux kernel bug
19405         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
19406         appears to be a kernel bug that causes utimensat to return 280
19407         instead of 0, indicating success.
19408
19409 2008-06-04  Bruno Haible  <bruno@clisp.org>
19410
19411         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
19412         2008-06-01 commit.
19413
19414 2008-06-04  Bruno Haible  <bruno@clisp.org>
19415
19416         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
19417         * lib/file-has-acl.c (acl_access_nontrivial): New function.
19418         (file_has_acl): Use it. Save errno afterwards.
19419         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
19420
19421 2008-06-03  Bruno Haible  <bruno@clisp.org>
19422
19423         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
19424         draft code. Simplify #ifs.
19425         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
19426         Put Solaris code after POSIX-draft code. Fix comments regarding
19427         Solaris 10, HP-UX. Mention Cygwin.
19428         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
19429
19430 2008-06-03  Eric Blake  <ebb9@byu.net>
19431
19432         Provide fallback for older kernels.
19433         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
19434         Provide runtime fallback if kernel lacks support.
19435         Reported by Mike Frysinger.
19436
19437 2008-06-02  Bruno Haible  <bruno@clisp.org>
19438
19439         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
19440         it exists.
19441
19442 2008-06-02  Bruno Haible  <bruno@clisp.org>
19443
19444         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
19445         * lib/copy-acl.c (qcopy_acl): Update comment.
19446
19447 2008-06-02  Bruno Haible  <bruno@clisp.org>
19448
19449         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
19450         like ACL APIs.
19451
19452 2008-06-02  Bruno Haible  <bruno@clisp.org>
19453
19454         * tests/test-file-has-acl.sh: Use different code for Cygwin.
19455         * tests/test-set-mode-acl.sh: Likewise.
19456         * tests/test-copy-acl.sh: Likewise.
19457         * tests/test-copy-file.sh: Likewise.
19458
19459 2008-06-02  Bruno Haible  <bruno@clisp.org>
19460
19461         * tests/test-file-has-acl.sh: Remove unused code.
19462
19463 2008-06-01  Bruno Haible  <bruno@clisp.org>
19464
19465         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
19466         (copy_acl): Just a wrapper around qcopy_acl that emits the error
19467         messages.
19468         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
19469
19470 2008-06-01  Bruno Haible  <bruno@clisp.org>
19471
19472         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
19473         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
19474         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
19475         APIs.
19476         * modules/acl-tests (configure.ac): Remove tests now contained in
19477         m4/acl.m4.
19478
19479 2008-06-02  Jim Meyering  <meyering@redhat.com>
19480
19481         announce-gen: use a better key-server host name
19482         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
19483         it may be more consistently reliable.  Suggested by Werner Koch
19484         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
19485
19486 2008-06-01  Bruno Haible  <bruno@clisp.org>
19487
19488         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
19489         Reported by Voroskoi Andras <voroskoi@gmail.com>.
19490
19491 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
19492
19493         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
19494
19495 2008-06-01  Bruno Haible  <bruno@clisp.org>
19496
19497         New ACL tests.
19498         * tests/test-file-has-acl.sh: New file.
19499         * tests/test-file-has-acl.c: New file.
19500         * tests/test-set-mode-acl.sh: New file.
19501         * tests/test-set-mode-acl.c: New file.
19502         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
19503         * tests/test-copy-acl.c: New file.
19504         * modules/acl-tests: New file, based on modules/copy-file-tests.
19505         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
19506         (Depends-on): Add acl-tests.
19507         (configure.ac): Remove checks.
19508         (Makefile.am): Don't create test-sameacls program here any more.
19509
19510 2008-06-01  Bruno Haible  <bruno@clisp.org>
19511
19512         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
19513         * tests/test-sameacls.c: Include progname.h.
19514         (main): Invoke set_program_name. Portability fixes for MacOS X,
19515         Solaris, HP-UX.
19516
19517 2008-06-01  Bruno Haible  <bruno@clisp.org>
19518
19519         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
19520         function.
19521         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
19522
19523 2008-06-01  Bruno Haible  <bruno@clisp.org>
19524
19525         * modules/rpmatch (Depends-on): Add strdup.
19526
19527 2008-06-01  Bruno Haible  <bruno@clisp.org>
19528
19529         * lib/pipe.c: Include unistd-safer.h.
19530         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
19531         * modules/pipe (Depends-on): Add unistd-safer.
19532
19533 2008-05-30  Simon Josefsson  <simon@josefsson.org>
19534
19535         * modules/autobuild (configure.ac): Call AB_INIT.
19536
19537 2008-05-30  Simon Josefsson  <simon@josefsson.org>
19538
19539         * tests/test-getaddrinfo.c: Don't print debug messages by default.
19540         Suggested by Bruno Haible <bruno@clisp.org>.
19541
19542 2008-05-30  Simon Josefsson  <simon@josefsson.org>
19543
19544         * tests/test-base64.c: Cast size_t to unsigned long when invoking
19545         printf.  Use %lu instead of %d.  Reported by Bruno Haible
19546         <bruno@clisp.org>.
19547
19548 2008-05-29  Eric Blake  <ebb9@byu.net>
19549
19550         Prefer new POSIX 200x interfaces over futimesat.
19551         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
19552         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
19553         when available.
19554         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
19555
19556 2008-05-28  Bruno Haible  <bruno@clisp.org>
19557
19558         * modules/stpcpy (License): Change to LGPLv2+.
19559         Requested by David Lutterkort <dlutter@redhat.com>.
19560
19561 2008-05-27  Bruno Haible  <bruno@clisp.org>
19562
19563         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
19564         current mingw.
19565         Reported by Jose E. Marchesi <jemarch@gnu.org>.
19566
19567 2008-05-27  Bruno Haible  <bruno@clisp.org>
19568
19569         * modules/iconv_open (Link): New section, from module 'iconv'.
19570         * modules/striconv (Link): Likewise.
19571         * modules/striconveh (Link): Likewise.
19572         * modules/xstriconv (Link): Likewise.
19573         * modules/unicodeio (Link): Likewise.
19574         * modules/propername (Link): Likewise.
19575         Reported by Jim Meyering.
19576
19577 2008-05-26  Jim Meyering  <meyering@redhat.com>
19578
19579         sha256: do not artificially restrict buffer length to be < 2^32
19580         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
19581         uint32_t to size_t.
19582         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
19583         to match.
19584
19585         avoid unaligned access errors, e.g., on sparc
19586         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
19587         direct access through a possibly-unaligned uint64* pointer.
19588         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
19589         direct access through a possibly-unaligned uint32* pointer.
19590         Prompted by this patch from Tom "spot" Callaway:
19591         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
19592
19593         sha512.c: fix typo in comment
19594         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
19595
19596 2008-05-25  Bruno Haible  <bruno@clisp.org>
19597
19598         * lib/set-mode-acl.c: Renamed from lib/acl.c.
19599         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
19600         (Makefile.am): Update lib_SOURCES.
19601
19602 2008-05-25  Bruno Haible  <bruno@clisp.org>
19603
19604         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
19605
19606 2008-05-25  Jim Meyering  <meyering@redhat.com>
19607
19608         useless-if-before-free: freed expr may have white-space differences
19609         * build-aux/useless-if-before-free: Recognize cases in which the
19610         freed expression differs from the tested one in embedded white
19611         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
19612         $1 was used, so we can't make any regexp shy.  Improved tests now
19613         detect this.
19614
19615         useless-if-before-free: accept white space in the expression.
19616         * build-aux/useless-if-before-free: For now, any white space
19617         in the expression must be identical in the free argument.
19618
19619         useless-if-before-free: efficiency tweak
19620         * build-aux/useless-if-before-free: Make the expression-matching
19621         regexp "shy".
19622         Make the *outer* regexp shy, not the expr-matching one.
19623
19624         update code-in-comment to accept cast of free arg
19625         * build-aux/useless-if-before-free: Update regexp.
19626
19627 2008-05-25  Bruno Haible  <bruno@clisp.org>
19628
19629         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
19630         * modules/copy-file-tests (Files, Makefile.am): Update.
19631         * tests/test-copy-file.c (func_test_copy): Update.
19632
19633 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
19634
19635         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
19636
19637 2008-05-23  Bruno Haible  <bruno@clisp.org>
19638
19639         Improve support for ACLs on OSF/1.
19640         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
19641         Remove fallback for unknown flavors of ACLs.
19642
19643 2008-05-22  Bruno Haible  <bruno@clisp.org>
19644
19645         Add support for ACLs on OSF/1.
19646         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
19647         replacements.
19648         (acl_free_text): New macro fallback.
19649         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
19650         acl_free.
19651         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
19652         acl_free_text function. Require AC_C_INLINE.
19653
19654 2008-05-22  Bruno Haible  <bruno@clisp.org>
19655
19656         Make copy_acl work on MacOS X 10.5.
19657         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
19658         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
19659         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
19660         If MODE_INSIDE_ACL, don't assume that every system has the same text
19661         representation for ACLs as FreeBSD.
19662         * lib/copy-acl.c (copy_acl): Add support for platforms with
19663         !MODE_INSIDE_ACL.
19664         * lib/file-has-acl.c (file_has_acl): Likewise.
19665         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
19666         FreeBSD, MacOS X, or IRIX, respectively.
19667
19668 2008-05-22  Bruno Haible  <bruno@clisp.org>
19669
19670         * lib/acl.h: Don't include <sys/acl.h>.
19671         (GETACLCNT): Move fallback to lib/acl-internal.h.
19672         * lib/acl-internal.h: Include <sys/acl.h> here.
19673         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
19674
19675 2008-05-22  Bruno Haible  <bruno@clisp.org>
19676
19677         Split off copy_acl function to separate file.
19678         * lib/copy-acl.c: New file, extracted from lib/acl.c.
19679         * lib/acl.c (copy_acl): Moved function to separate file.
19680         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
19681         * modules/acl (Files): Add lib/copy-acl.c.
19682         (Makefiles.am): Augment lib_SOURCES.
19683
19684 2008-05-22  Bruno Haible  <bruno@clisp.org>
19685
19686         * modules/copy-file-tests: New file.
19687         * tests/test-copy-file.sh: New file.
19688         * tests/test-copy-file.c: New file.
19689         * tests/test-copy-file-sameacls.c: New file.
19690
19691 2008-05-22  Eric Blake  <ebb9@byu.net>
19692
19693         Avoid gcc warning.
19694         * tests/test-memcmp.c (main): Pass NULL indirectly.
19695
19696 2008-05-21  Bruno Haible  <bruno@clisp.org>
19697
19698         Add reference doc about ACLs.
19699         * doc/acl-resources.txt: New file.
19700         * doc/acl-cygwin.txt: New file.
19701
19702 2008-05-21  Bruno Haible  <bruno@clisp.org>
19703
19704         Avoid one more warning from gcc.
19705         * lib/vasnprintf.c (IF_LINT): Update comments.
19706         (VASNPRINTF): Use it also for the 'prefix' array initializer.
19707
19708 2008-05-21  Jim Meyering  <meyering@redhat.com>
19709
19710         avoid a warning from gcc
19711         * lib/vasnprintf.c (IF_LINT): Define.
19712         (scale10_round_decimal_long_double):
19713         Use it to avoid a "may be used uninitialized" warning.
19714         (scale10_round_decimal_double): Likewise.
19715
19716 2008-05-21  Simon Josefsson  <simon@josefsson.org>
19717
19718         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
19719         declared.
19720
19721 2008-05-20  Bruno Haible  <bruno@clisp.org>
19722
19723         * tests/test-memcmp.c (main): Test also the sign of the result. Test
19724         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
19725
19726 2008-05-20  Simon Josefsson  <simon@josefsson.org>
19727
19728         * modules/memcmp-tests: New file.
19729         * tests/test-memcmp.c: New file.
19730
19731 2008-05-19  Bruno Haible  <bruno@clisp.org>
19732
19733         * modules/propername (Notice, configure.ac): Put quoted "..." into
19734         --keyword option.
19735         * lib/propername.h: Update comments accordingly.
19736         Reported by Eric Blake.
19737
19738 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
19739
19740         * modules/getpass-gnu (Depends-on): Add fseeko.
19741
19742 2008-05-19  Simon Josefsson  <simon@josefsson.org>
19743
19744         * modules/base64-tests: New file.
19745
19746 2008-05-19  Bo Borgerson <gigabo@gmail.com>
19747
19748         * lib/base64.c (base64_decode_ctx): If a decode context structure
19749         was passed in use it to ignore newlines.  If a context structure
19750         was _not_ passed in, continue to treat newlines as garbage (this
19751         is the historical behavior).  Formerly base64_decode.
19752         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
19753         takes a decode context structure.
19754         * lib/base64.h (base64_decode): Macro for four-argument calls.
19755         (base64_decode_alloc): Likewise.
19756         * lib/base64.c (base64_decode_ctx): If a decode context structure
19757         was passed in use it to ignore newlines.  If a context structure
19758         was _not_ passed in, continue to treat newlines as garbage (this
19759         is the historical behavior).  Formerly base64_decode.
19760         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
19761         takes a decode context structure.
19762         * lib/base64.h (base64_decode): Macro for four-argument calls.
19763         (base64_decode_alloc): Likewise.
19764
19765 2008-05-19  Jim Meyering  <meyering@redhat.com>
19766
19767         avoid a warning from gcc
19768         * lib/trim.c (IF_LINT): Define.
19769         (trim2): Use it to avoid a "may be used uninitialized" warning.
19770
19771         Fix doc typo.
19772         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
19773
19774 2008-05-19  Bruno Haible  <bruno@clisp.org>
19775
19776         * doc/glibc-functions/getpass.texi: Document limits of other
19777         implementations.
19778
19779 2008-05-19  Simon Josefsson  <simon@josefsson.org>
19780             Bruno Haible <bruno@clisp.org>
19781
19782         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
19783
19784 2008-05-18  Bruno Haible  <bruno@clisp.org>
19785
19786         * modules/propername: New file, from GNU gettext.
19787         * lib/propername.h: New file, from GNU gettext.
19788         * lib/propername.c: New file, from GNU gettext.
19789         * MODULES.html.sh (Internationalization functions): Add propername.
19790
19791 2008-05-16  Jim Meyering  <meyering@redhat.com>
19792             Bruno Haible  <bruno@clisp.org>
19793
19794         Avoid some warnings from "gcc -Wshadow".
19795         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
19796
19797 2008-05-15  Eric Blake  <ebb9@byu.net>
19798
19799         Extend previous patch to cygwin 1.7.0.
19800         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
19801         fast implementation in cygwin >= 1.7.0.
19802         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
19803         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
19804
19805 2008-05-15  Bruno Haible  <bruno@clisp.org>
19806
19807         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
19808         implementation in glibc >= 2.9.
19809         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
19810         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
19811
19812 2008-05-15  Bruno Haible  <bruno@clisp.org>
19813
19814         * MODULES.html.sh (Internationalization functions): Remove linebreak.
19815         (Unicode string functions): Add unilbrk/*.
19816         Reported by Karl Berry.
19817
19818 2008-05-15  Eric Blake  <ebb9@byu.net>
19819
19820         Fix violation of <stdbool.h> replacement in regex.
19821         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
19822         * lib/regexec.c (re_search_internal): Likewise.
19823         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
19824
19825 2008-05-15  Jim Meyering  <meyering@redhat.com>
19826
19827         avoid distracting test output when git or cvs is not found
19828         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
19829         * tests/test-vc-list-files-git.sh: Likewise.
19830
19831 2008-05-15  Eric Blake  <ebb9@byu.net>
19832
19833         Glibc finally accepted the memmem speedup code, bugzilla #5514.
19834         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
19835         glibc version.
19836         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
19837         * doc/posix-functions/strstr.texi (strstr): Likewise.
19838         * lib/str-two-way.h (MAX): Sychronize with glibc.
19839
19840 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
19841
19842         * lib/regcomp.c (optimize_utf8): Add a note on why we test
19843         opr.ctx_type.
19844         (calc_first): Initialize constraint field.
19845         (duplicate_node_closure): Use it instead of special casing ANCHORS.
19846         Fix grammar.
19847         (duplicate_node): Merge constraint field for all node types.
19848         (calc_eclosure_iter): Look at constraint field for all node types.
19849         * lib/regex_internal.c (create_cd_newstate): Don't look at
19850         opr.ctx_type.
19851
19852 2008-05-14  Bruno Haible  <bruno@clisp.org>
19853
19854         Help GCC to do better code generation.
19855         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
19856         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
19857         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
19858         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
19859         Declare with attribute 'malloc' if supported.
19860
19861 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
19862
19863         use "echo STR|wc -c" rather than unportable "expr length STR"
19864         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
19865         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
19866
19867 2008-05-14  Jim Meyering  <meyering@redhat.com>
19868
19869         use dd ibs=$n count=1 ... rather than less-portable head -c$n
19870         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
19871         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
19872         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
19873         via Collin Lasse.
19874
19875 2008-05-14  Eric Blake  <ebb9@byu.net>
19876
19877         Avoid quadratic growth in gl_LIBSOURCES.
19878         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
19879         Suggested by Bruno Haible.
19880
19881         Test xmemdup0.
19882         * modules/xmemdup0-tests: New file.
19883         * tests/test-xmemdup0.c: Likewise.
19884
19885 2008-05-13  Eric Blake  <ebb9@byu.net>
19886
19887         Split xmemdup0 into its own module.
19888         * modules/xmemdup0: New file.
19889         * lib/xmemdup0.h: Likewise.
19890         * lib/xmemdup0.c: Likewise.
19891         * MODULES.html.sh (Memory management functions): Add xmemdup0.
19892         * lib/xalloc.h (xmemdup0): Remove.
19893         * lib/xmalloc.c (xmemdup0): Likewise.
19894
19895 2008-05-13  Eric Blake  <ebb9@byu.net>
19896             Bruno Haible  <bruno@clisp.org>
19897
19898         Reduce number of forks required during autoconf.
19899         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
19900         and gl_LIBSOURCES_DIR.
19901         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
19902         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
19903         m4_syscmd per file.
19904         <m4_foreach_w>: Move...
19905         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
19906
19907 2008-05-13  Eric Blake  <ebb9@byu.net>
19908
19909         * gnulib-tool: Fix various comment typos.
19910
19911 2008-05-12  Bruno Haible  <bruno@clisp.org>
19912
19913         Tailor the linebreaking algorithm.
19914         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
19915
19916 2008-05-12  Bruno Haible  <bruno@clisp.org>
19917
19918         Update to Unicode 5.0.0.
19919         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
19920         LBP_JV, LBP_JT. Redistribute values.
19921         (unilbrk_table): Change size.
19922         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
19923         Unicode TR#14 rev. 22.
19924         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
19925         LBP_JV, LBP_JT. Redistribute values.
19926         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
19927         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
19928         Update.
19929         * lib/unilbrk/lbrkprop1.h: Regenerated.
19930         * lib/unilbrk/lbrkprop2.h: Regenerated.
19931         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
19932         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
19933         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
19934         Likewise.
19935         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
19936         Likewise.
19937         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
19938         result.
19939         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
19940         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
19941         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
19942         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
19943         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
19944         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
19945
19946 2008-05-11  Bruno Haible  <bruno@clisp.org>
19947
19948         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
19949
19950 2008-05-11  Bruno Haible  <bruno@clisp.org>
19951
19952         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
19953         * modules/unilbrk/gen-lbrk: New file.
19954
19955 2008-05-11  Bruno Haible  <bruno@clisp.org>
19956
19957         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
19958         * m4/sha512.m4 (gl_SHA512): Likewise.
19959
19960 2008-05-11  Jim Meyering  <meyering@redhat.com>
19961
19962         New modules: crypto/sha256, crypto/sha512 (from coreutils)
19963         * modules/crypto/sha256: New file.
19964         * modules/crypto/sha512: Likewise.
19965         * lib/sha256.c: Likewise.
19966         * lib/sha256.h: Likewise.
19967         * lib/sha512.c: Likewise.
19968         * lib/sha512.h: Likewise.
19969         * lib/u64.h: Likewise.
19970         * m4/sha256.m4: Likewise.
19971         * m4/sha512.m4: Likewise.
19972         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
19973
19974 2008-05-10  Bruno Haible  <bruno@clisp.org>
19975
19976         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
19977         (Input/Output <stdio.h>): Add xprintf.
19978         (Signal handling <signal.h>): Add strsignal.
19979         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
19980         (Core language properties): Add func.
19981         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
19982         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
19983         strings.
19984         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
19985         (Input/output): New section.
19986         (File system functions): Add openat-die, stat-macros.
19987         (Networking functions): Add sockets.
19988         (Unicode string functions): Add unictype/*.
19989         (Support for building libraries and executables): Add gperf.
19990         (Support for building documentation): Add agpl-3.0.
19991         (Misc): Add nocrash.
19992
19993 2008-05-10  Bruno Haible  <bruno@clisp.org>
19994
19995         * modules/unictype/gen-ctype: New file.
19996
19997 2008-05-10  Jim Meyering  <meyering@redhat.com>
19998
19999         Make chdir-safer.c more efficient on a system with no symlinks.
20000         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
20001         also if ELOOP is zero.  Suggested by Bruno Haible.
20002
20003         Make chdir-safer.c slightly safer.
20004         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
20005         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
20006
20007         Avoid compile failure on systems without ELOOP (like mingw).
20008         * lib/chdir-safer.c (ELOOP): Define if not already defined.
20009         Reported by Bruno Haible.
20010
20011 2008-05-10  Bruno Haible  <bruno@clisp.org>
20012
20013         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
20014         (is_utf8_encoding): Use a case-insensitive comparison.
20015         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
20016         streq.
20017
20018 2008-05-10  Bruno Haible  <bruno@clisp.org>
20019
20020         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
20021         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
20022         * lib/unilbrk/ulc-common.h (iconv_string_length,
20023         iconv_string_keeping_offsets): Remove declarations.
20024         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
20025         Don't include <iconv.h>, streq.h, xsize.h.
20026         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
20027         conversion.
20028         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
20029         <iconv.h>, streq.h, xsize.h.
20030         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
20031         conversion.
20032         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
20033         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
20034         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
20035         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
20036
20037 2008-05-10  Bruno Haible  <bruno@clisp.org>
20038
20039         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
20040         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
20041
20042         * modules/unilbrk/u32-width-linebreaks-tests: New file.
20043         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
20044
20045         * modules/unilbrk/u16-width-linebreaks-tests: New file.
20046         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
20047
20048         * modules/unilbrk/u8-width-linebreaks-tests: New file.
20049         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
20050
20051         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
20052         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
20053
20054         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
20055         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
20056
20057         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
20058         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
20059
20060         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
20061         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
20062
20063 2008-05-10  Bruno Haible  <bruno@clisp.org>
20064
20065         Split up 'linebreak' module.
20066         * lib/unilbrk.h: New file, based on lib/linebreak.h.
20067         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
20068         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
20069         modifications.
20070         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
20071         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
20072         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
20073         lib/linebreak.c.
20074         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
20075         lib/linebreak.c.
20076         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
20077         lib/linebreak.c.
20078         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
20079         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
20080         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
20081         lib/linebreak.c.
20082         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
20083         lib/linebreak.c.
20084         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
20085         lib/linebreak.c.
20086         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
20087         lib/linebreak.c.
20088         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
20089         lib/linebreak.c.
20090         * modules/unilbrk/base: New file.
20091         * modules/unilbrk/tables: New file.
20092         * modules/unilbrk/u8-possible-linebreaks: New file.
20093         * modules/unilbrk/u16-possible-linebreaks: New file.
20094         * modules/unilbrk/u32-possible-linebreaks: New file.
20095         * modules/unilbrk/ulc-common: New file.
20096         * modules/unilbrk/ulc-possible-linebreaks: New file.
20097         * modules/unilbrk/u8-width-linebreaks: New file.
20098         * modules/unilbrk/u16-width-linebreaks: New file.
20099         * modules/unilbrk/u32-width-linebreaks: New file.
20100         * modules/unilbrk/ulc-width-linebreaks: New file.
20101         * lib/linebreak.h: Remove file.
20102         * lib/linebreak.c: Remove file.
20103         * m4/linebreak.m4: Remove file.
20104         * modules/linebreak: Remove file.
20105         * NEWS: Mention the changes.
20106
20107 2008-05-09  Eric Blake  <ebb9@byu.net>
20108
20109         Add xmemdup0.
20110         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
20111         implementation.
20112         * lib/xmalloc.c (xmemdup0): New C implementation.
20113
20114 2008-05-08  Bruno Haible  <bruno@clisp.org>
20115
20116         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
20117
20118 2008-05-07  Eric Blake  <ebb9@byu.net>
20119
20120         Support cross-compilation of <wctype.h>.
20121         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
20122         AC_CACHE_CHECK.
20123
20124 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
20125
20126         * build-aux/vc-list-files: Add support for bzr.
20127
20128 2008-05-03  Jim Meyering  <meyering@redhat.com>
20129
20130         avoid failed assertion with tight malloc
20131         * tests/test-getndelim2.c: Correct an off-by-one assertion.
20132
20133 2008-05-03  Simon Josefsson  <simon@josefsson.org>
20134
20135         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
20136         are needed from arpa/inet.h.
20137         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
20138         Reported by Bruno Haible.
20139
20140 2008-05-02  Jim Meyering  <meyering@redhat.com>
20141
20142         avoid compilation error on FreeBSD 6
20143         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
20144
20145 2008-05-01  Jim Meyering  <meyering@redhat.com>
20146
20147         useless-if-before-free: correct --help's exit status description
20148         * build-aux/useless-if-before-free (usage): Like grep, exit 0
20149         for one or more matches, etc.  Reported by Bruno Haible.
20150
20151         vc-list-files: make the stand-alone gnulib test work
20152         * modules/vc-list-files-tests (configure.ac):
20153         Define and AC_SUBST abs_aux_dir.
20154         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
20155         $(abs_top_srcdir) to each script and having each of them
20156         duplicate the work of setting PATH, set PATH here, using
20157         the new variable, abs_aux_dir instead.
20158         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
20159         * tests/test-vc-list-files-git.sh: Likewise.
20160         Reported by Bruno Haible.
20161
20162 2008-05-01  Bruno Haible  <bruno@clisp.org>
20163
20164         * lib/getndelim2.c (getndelim2): Fix newsize computation during
20165         reallocation. Rename 'done' to 'found_delimiter'.
20166
20167 2008-05-01  Jim Meyering  <meyering@redhat.com>
20168
20169         vc-list-files: accommodate /bin/sh like the one from Solaris 10
20170         * build-aux/vc-list-files: Use `...`, not $(...).
20171
20172 2008-04-30  Jim Meyering  <meyering@redhat.com>
20173
20174         add tests for vc-list-files
20175         * modules/vc-list-files-tests: New module.
20176         * tests/test-vc-list-files-cvs.sh: New file.
20177         * tests/test-vc-list-files-git.sh: New file.
20178
20179         avoid a warning from gcc
20180         * lib/getndelim2.c (IF_LINT): Define.
20181         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
20182
20183         vc-list-files: work properly with build-aux/cvsu, too
20184         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
20185         to all cvs-based clauses.
20186
20187         vc-list-files: work properly in the CVS+awk case, too
20188         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
20189
20190         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
20191         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
20192         take more than one file argument, so .  Add quotes, just in case $dir
20193         ever contains a shell meta-character.  Prompted by Soren Hansen in
20194         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
20195
20196 2008-04-29  Eric Blake  <ebb9@byu.net>
20197
20198         Optimize getndelim2 to use block operations when possible.
20199         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
20200         freadseek, and memchr2.
20201         * lib/getndelim2.c (getndelim2): Use them for block reads.
20202
20203 2008-04-29  Bruno Haible  <bruno@clisp.org>
20204
20205         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
20206         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
20207         * modules/inet_ntop (Depends-on): Add extensions.
20208         * modules/inet_pton (Depends-on): Likewise.
20209         Reported by Simon Josefsson.
20210
20211 2008-04-29  Jim Meyering  <meyering@redhat.com>
20212
20213         When the is more than one match in a block, match all of them.
20214         * build-aux/useless-if-before-free: Iterate through each block
20215         until there are no more matches.
20216
20217         Fix broken useless-if-before-free script.
20218         * build-aux/useless-if-before-free: Fix typo: missing "?" after
20219         the expression to match cast of argument to free-like function.
20220
20221 2008-04-29  Eric Blake  <ebb9@byu.net>
20222
20223         Use new header.
20224         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
20225
20226 2008-04-29  Jim Meyering  <meyering@redhat.com>
20227
20228         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
20229         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
20230         by gnulib to exist and to declare e.g., inet_ntop.
20231         Don't include "inet_ntop.h", now removed.
20232
20233         * m4/arpa_inet_h.m4: Remove trailing blanks.
20234
20235 2008-04-29  Eric Blake  <ebb9@byu.net>
20236
20237         Silence valgrind on safe reads beyond potential array bounds.
20238         * lib/rawmemchr.valgrind: New file.
20239         * lib/strchrnul.valgrind: Likewise.
20240         * modules/rawmemchr (Files): Distribute new file.
20241         * modules/strchrnul (Files): Likewise.
20242         Suggested by Bruno Haible.
20243
20244 2008-04-29  Bruno Haible  <bruno@clisp.org>
20245
20246         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
20247         (inet_ntop, inet_pton): Change portability warning's wording.
20248         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
20249         Invoke gl_CHECK_NEXT_HEADERS.
20250         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
20251         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
20252         set ARPA_INET_H.
20253         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
20254         * modules/arpa_inet (Description): No longer only for systems that
20255         lack it.
20256         (Depends-on): Add include_next.
20257         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
20258         HAVE_ARPA_INET_H.
20259
20260 2008-04-29  Jim Meyering  <meyering@redhat.com>
20261
20262         * modules/mkdir (License): Re-license as LGPLv2+.
20263
20264 2008-04-29  Bruno Haible  <bruno@clisp.org>
20265
20266         * modules/rawmemchr (Maintainer): Set to Eric.
20267         * modules/strchrnul (Maintainer): Likewise.
20268
20269 2008-04-29  Simon Josefsson  <simon@josefsson.org>
20270
20271         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
20272         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
20273
20274         * modules/arpa_inet (arpa/inet.h): Use them.
20275
20276 2008-04-28  Eric Blake  <ebb9@byu.net>
20277
20278         Test getndelim2.
20279         * modules/getndelim2-tests: New file.
20280         * tests/test-getndelim2.c: Likewise.
20281         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
20282         stream.
20283         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
20284
20285         * MODULES.html.sh: Document new module.
20286
20287 2008-04-20  Bruno Haible  <bruno@clisp.org>
20288
20289         * lib/c-stack.c (die): Use raise.
20290         * modules/c-stack (Depends-on): Add raise.
20291
20292 2008-04-28  Bruno Haible  <bruno@clisp.org>
20293
20294         Expect rpmatch to be declared.
20295         * lib/yesno.c (rpmatch): Remove declaration.
20296
20297         Declare rpmatch.
20298         * lib/stdlib.in.h (rpmatch): New declaration.
20299         * lib/rpmatch.c: Include <stdlib.h> first.
20300         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
20301         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
20302         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
20303         HAVE_RPMATCH.
20304         * modules/rpmatch (Depends-on): Add stdlib, extensions.
20305         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
20306         (Include): Set to <stdlib.h>.
20307         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
20308         HAVE_RPMATCH.
20309         * NEWS: Document the change.
20310
20311 2008-04-28  Bruno Haible  <bruno@clisp.org>
20312
20313         Change rpmatch to use nl_langinfo when appropriate.
20314         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
20315         (N_): New macro.
20316         (localized_pattern): New function/macro.
20317         (try): Remove match, nomatch arguments. Copy the pattern into safe
20318         memory before caching it.
20319         (rpmatch): Use localized_pattern. Add translator comments.
20320         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
20321         Suggested by Eric Blake.
20322         * modules/rpmatch (Depends-on): Add stdbool.
20323
20324 2008-04-28  Eric Blake  <ebb9@byu.net>
20325
20326         Add rawmemchr module, matching glibc.
20327         * modules/string (Makefile.am): New indicator.
20328         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
20329         * lib/string.in.h (rawmemchr): Declare when appropriate.
20330         * modules/rawmemchr: New file.
20331         * m4/rawmemchr.m4: Likewise.
20332         * lib/rawmemchr.c: Likewise.
20333         * modules/rawmemchr-tests: Likewise.
20334         * tests/test-rawmemchr.c: Likewise.
20335         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
20336         module.
20337         * modules/strchrnul (Depends-on): Add rawmemchr.
20338         * lib/strchrnul.c (strchrnul): Optimize a corner case.
20339
20340         Whitespace cleanup.
20341         * tests/test-strchrnul.c: Reindent.
20342         * lib/strchrnul.c: Likewise.
20343
20344         Optimize and test strchrnul.
20345         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
20346         * modules/strchrnul-tests: New file.
20347         * tests/test-strchrnul.c: Likewise.
20348
20349         Remove intprops dependency.
20350         * modules/memchr (Depends-on): Remove intprops.
20351         * modules/memrchr (Depends-on): Likewise.
20352         * modules/memchr2 (Depends-on): Likewise.
20353         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
20354         * lib/memrchr.c (__memrchr): Likewise.
20355         * lib/memrchr2.c (memchr2): Likewise.
20356         Reported by Simon Josefsson.
20357
20358 2008-04-28  Simon Josefsson  <simon@josefsson.org>
20359
20360         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
20361         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
20362
20363 2008-04-28  Simon Josefsson  <simon@josefsson.org>
20364
20365         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
20366
20367         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
20368
20369         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
20370
20371         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
20372         declarations.
20373         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
20374
20375         * m4/inet_pton.m4: Don't check for header files.
20376
20377         * m4/inet_ntop.m4: Don't check for header files.
20378
20379 2008-04-28  Simon Josefsson  <simon@josefsson.org>
20380
20381         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
20382         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
20383         trigger for cygwin).
20384         Reported by Bruno Haible  <bruno@clisp.org>.
20385
20386 2008-04-28  Bruno Haible  <bruno@clisp.org>
20387
20388         * doc/posix-functions/strdup.texi: Mention mingw problem.
20389
20390 2008-04-27  Bruno Haible  <bruno@clisp.org>
20391
20392         * modules/stat-time-tests (Depends-on): Add sleep.
20393         * tests/test-stat-time.c (force_unlink): New function.
20394         (cleanup): Use it.
20395         (test_mtime): Remove the ctime related tests.
20396         (test_ctime): New function, containing the ctime related tests.
20397         (main): Call test_ctime, except on native Windows platforms.
20398
20399 2008-04-27  Bruno Haible  <bruno@clisp.org>
20400
20401         * lib/rpmatch.c (rpmatch): Add some comments.
20402         Reported by James Youngman <jay@gnu.org>.
20403
20404 2008-04-27  Bruno Haible  <bruno@clisp.org>
20405
20406         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
20407         quiet NaNs.
20408
20409 2008-04-27  Bruno Haible  <bruno@clisp.org>
20410
20411         Make test-yesno.sh work on mingw.
20412         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
20413         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
20414         (main): Set stdin to binary mode.
20415         * modules/yesno-tests (Depends-on): Add binary-io.
20416
20417 2008-04-27  Bruno Haible  <bruno@clisp.org>
20418
20419         Fix 'isfinite' on x86, x86_64, ia64 platforms.
20420         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
20421         argument that lie outside the IEEE 854 domain.
20422         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
20423         (gl_ISFINITE): Use it.
20424         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
20425
20426 2008-04-27  Bruno Haible  <bruno@clisp.org>
20427
20428         Allow local renaming in config.h.
20429         * lib/memrchr.c (memrchr): Don't undefine outside libc.
20430
20431 2008-04-27  Bruno Haible  <bruno@clisp.org>
20432
20433         * lib/memchr.c (__memchr): Change type of 'i'.
20434         * lib/memchr2.c (memchr2): Likewise.
20435
20436 2008-04-26  Eric Blake  <ebb9@byu.net>
20437         and Bruno Haible  <bruno@clisp.org>
20438
20439         Optimize and test memrchr.
20440         * modules/memrchr (Depends-on): Add intprops.
20441         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
20442         * modules/memrchr-tests: New file.
20443         * tests/test-memrchr.c: New file.
20444
20445 2008-04-26  Bruno Haible  <bruno@clisp.org>
20446
20447         Add tentative support for DragonFly BSD.
20448         * lib/stdio-impl.h: Add macros for DragonFly BSD.
20449         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
20450         fp.
20451         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
20452         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
20453         * lib/fpurge.c (fpurge): Likewise.
20454         * lib/freadable.c (freaadable): Likewise.
20455         * lib/freadahead.c (freadahead): Likewise.
20456         * lib/freading.c (freading): Likewise.
20457         * lib/freadptr.c (freadptr): Likewise.
20458         * lib/freadseek.c (freadptrinc): Likewise.
20459         * lib/fseeko.c (fseeko): Likewise.
20460         * lib/fseterr.c (fseterr): Likewise.
20461         * lib/fwritable.c (fwritable): Likewise.
20462         * lib/fwriting.c (fwriting): Likewise.
20463
20464 2008-04-26  Bruno Haible  <bruno@clisp.org>
20465
20466         * lib/stdio-impl.h: New file.
20467         * lib/fbufmode.c: Include stdio-impl.h.
20468         (fbufmode): Use fp_, remove redundant #defines.
20469         * lib/fflush.c: Include stdio-impl.h.
20470         (clear_ungetc_buffer): Remove redundant #defines.
20471         * lib/fpurge.c: Include stdio-impl.h.
20472         (fpurge): Remove redundant #defines.
20473         * lib/freadable.c: Include stdio-impl.h.
20474         (freadable): Remove redundant #defines.
20475         * lib/freadahead.c: Include stdio-impl.h.
20476         (freadahead): Remove redundant #defines.
20477         * lib/freading.c: Include stdio-impl.h.
20478         (freading): Remove redundant #defines.
20479         * lib/freadptr.c: Include stdio-impl.h.
20480         (freadptr): Remove redundant #defines.
20481         * lib/freadseek.c: Include stdio-impl.h.
20482         (freadptrinc): Remove redundant #defines.
20483         * lib/fseeko.c: Include stdio-impl.h.
20484         (rpl_fseeko): Remove redundant #defines.
20485         * lib/fseterr.c: Include stdio-impl.h.
20486         (fseterr): Remove redundant #defines.
20487         * lib/fwritable.c: Include stdio-impl.h.
20488         (fwritable: Remove redundant #defines.
20489         * lib/fwriting.c: Include stdio-impl.h.
20490         (fwriting): Remove redundant #defines.
20491         * modules/fbufmode (Files): Add lib/stdio-impl.h.
20492         * modules/fflush (Files): Likewise.
20493         * modules/fpurge (Files): Likewise.
20494         * modules/freadable (Files): Likewise.
20495         * modules/freadahead (Files): Likewise.
20496         * modules/freading (Files): Likewise.
20497         * modules/freadptr (Files): Likewise.
20498         * modules/freadseek (Files): Likewise.
20499         * modules/fseeko (Files): Likewise.
20500         * modules/fseterr (Files): Likewise.
20501         * modules/fwritable (Files): Likewise.
20502         * modules/fwriting (Files): Likewise.
20503
20504 2008-04-26  Bruno Haible  <bruno@clisp.org>
20505
20506         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
20507         restore_seek_optimization, update_fpos_cache): New functions, extracted
20508         from rpl_fflush.
20509         (rpl_fflush): Use them.
20510         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
20511         (gl_REPLACE_FFLUSH): Use it.
20512
20513 2008-04-26  Bruno Haible  <bruno@clisp.org>
20514
20515         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
20516         on Solaris.
20517         * tests/test-xstrtoimax.sh: Likewise.
20518         * tests/test-xstrtoumax.sh: Likewise.
20519         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
20520
20521 2008-04-26  Bruno Haible  <bruno@clisp.org>
20522
20523         * modules/memchr-tests: New file.
20524         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
20525
20526 2008-04-26  Eric Blake  <ebb9@byu.net>
20527             Bruno Haible  <bruno@clisp.org>
20528
20529         * lib/memchr.c: Include intprops.h.
20530         (__memchr): Optimize parallel detection of matching bytes. Rename local
20531         variables. Add explanatory comments.
20532
20533 2008-04-26  Bruno Haible  <bruno@clisp.org>
20534
20535         Fix module 'memchr', broken since 2000-10-28.
20536         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
20537
20538 2008-04-26  Bruno Haible  <bruno@clisp.org>
20539
20540         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
20541         comments.
20542
20543 2008-04-25  Eric Blake  <ebb9@byu.net>
20544
20545         Use native fstatat on cygwin 1.7.0.
20546         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
20547         first.
20548
20549 2008-04-23  Eric Blake  <ebb9@byu.net>
20550
20551         Improve memchr2 performance.
20552         * lib/memchr2.c (memchr2): Further optimize parallel detection of
20553         NUL bytes.
20554         * modules/memchr2 (Depends-on): Use intprops.h.
20555
20556 2008-04-23  Simon Josefsson  <simon@josefsson.org>
20557
20558         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
20559         an inline function instead of a CPP macro.  Patch by Ben Pfaff
20560         <blp@cs.stanford.edu>.
20561
20562 2008-04-23  Simon Josefsson  <simon@josefsson.org>
20563
20564         * lib/arpa_inet.in.h: New file.
20565
20566         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
20567         (Makefile.am): Sed in substitute header file.
20568
20569         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
20570         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
20571
20572         * modules/inet_ntop (configure.ac): Use
20573         gl_ARPA_INET_MODULE_INDICATOR.
20574
20575         * modules/inet_pton (configure.ac): Use
20576         gl_ARPA_INET_MODULE_INDICATOR.
20577
20578 2008-04-22  Jim Meyering  <meyering@redhat.com>
20579
20580         * modules/verify (License): Re-license as LGPLv2+.
20581
20582 2008-04-22  Simon Josefsson  <simon@josefsson.org>
20583
20584         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
20585         parameter to void* as per POSIX standard (MinGW uses char*).
20586
20587 2008-04-21  Bruno Haible  <bruno@clisp.org>
20588
20589         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
20590         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
20591         Define to replacements if REPLACE_ISWCNTRL is 1.
20592         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
20593         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
20594         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
20595         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
20596         what it fixes.
20597         * doc/posix-functions/iswalpha.texi: Likewise.
20598         * doc/posix-functions/iswblank.texi: Likewise.
20599         * doc/posix-functions/iswcntrl.texi: Likewise.
20600         * doc/posix-functions/iswdigit.texi: Likewise.
20601         * doc/posix-functions/iswgraph.texi: Likewise.
20602         * doc/posix-functions/iswlower.texi: Likewise.
20603         * doc/posix-functions/iswprint.texi: Likewise.
20604         * doc/posix-functions/iswpunct.texi: Likewise.
20605         * doc/posix-functions/iswspace.texi: Likewise.
20606         * doc/posix-functions/iswupper.texi: Likewise.
20607         * doc/posix-functions/iswxdigit.texi: Likewise.
20608         Reported by Alain Guibert.
20609
20610 2008-04-21  Bruno Haible  <bruno@clisp.org>
20611
20612         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
20613         Patch by Alain Guibert.
20614
20615 2008-04-21  Bruno Haible  <bruno@clisp.org>
20616
20617         Fix test failures on mingw.
20618         * tests/test-xstrtol.c (print_no_progname): New function.
20619         (main): Install it in error_print_progname hook.
20620         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
20621         * tests/test-xstrtoimax.sh: Likewise.
20622         * tests/test-xstrtoumax.sh: Likewise.
20623
20624 2008-04-21  Bruno Haible  <bruno@clisp.org>
20625
20626         Fix test failure on mingw.
20627         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
20628
20629 2008-04-21  Bruno Haible  <bruno@clisp.org>
20630
20631         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
20632         Actually assign a value.
20633
20634 2008-04-20  Bruno Haible  <bruno@clisp.org>
20635
20636         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
20637         take 2.
20638         * lib/canonicalize.c (canonicalize_file_name): Elide if the
20639         'canonicalize-lgpl' module is also used.
20640         * lib/canonicalize-lgpl.c: Undo last change.
20641         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
20642
20643 2008-04-20  Bruno Haible  <bruno@clisp.org>
20644
20645         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
20646         config.h. Provide _mkdir based fallback for mingw.
20647         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
20648         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
20649         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
20650         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
20651         rather than defining mkdir in config.h.
20652         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
20653         (gl_SYS_STAT_H_DEFAULTS): New macro.
20654         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
20655         HAVE_IO_H any more.
20656         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
20657         HAVE_DECL_MKDIR and HAVE_IO_H.
20658
20659 2008-04-20  Bruno Haible  <bruno@clisp.org>
20660
20661         * lib/isapipe.c: Port to native Windows platforms.
20662
20663 2008-04-20  Bruno Haible  <bruno@clisp.org>
20664
20665         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
20666
20667 2008-04-21  Eric Blake  <ebb9@byu.net>
20668
20669         Work around preprocessors that don't handle UINTMAX_MAX.
20670         * lib/memchr2.c (memchr2): Avoid embedded #if.
20671         Reported by Alain Guibert, fix suggested by Bruno Haible.
20672
20673 2008-04-21  Simon Josefsson  <simon@josefsson.org>
20674
20675         * doc/posix-functions/strftime.texi (strftime): Explain better
20676         Windows incompatibility.  Suggested by Micah Cowan
20677         <micah@cowan.name>.
20678
20679 2008-04-20  Bruno Haible  <bruno@clisp.org>
20680
20681         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
20682         unistr/u8-mblen.
20683
20684 2008-04-20  Bruno Haible  <bruno@clisp.org>
20685
20686         Fix test failure on platforms with non-GNU iconv.
20687         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
20688         (U_TO_U8): Use it, rather than u16_to_u8.
20689         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
20690         units at the end of the input string.
20691         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
20692
20693 2008-04-20  Bruno Haible  <bruno@clisp.org>
20694
20695         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
20696         when the resulting length is 0.
20697         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
20698
20699 2008-04-20  Bruno Haible  <bruno@clisp.org>
20700
20701         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
20702         works.
20703         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
20704
20705 2008-04-20  Bruno Haible  <bruno@clisp.org>
20706
20707         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
20708         * modules/tsearch-tests (configure.ac): Test for initstate function.
20709
20710 2008-04-20  Bruno Haible  <bruno@clisp.org>
20711
20712         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
20713         for nlink_t if missing.
20714         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
20715
20716 2008-04-19  Bruno Haible  <bruno@clisp.org>
20717
20718         Work around snprintf bug on Linux libc5.
20719         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
20720         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
20721         gl_SNPRINTF_SIZE1.
20722         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
20723         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
20724         that test failed.
20725         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
20726         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
20727         * modules/snprintf (Files): Add m4/printf.m4.
20728         * modules/vsnprintf (Files): Likewise.
20729         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
20730         * doc/posix-functions/vsnprintf.texi: Likewise.
20731
20732 2008-04-19  Bruno Haible  <bruno@clisp.org>
20733
20734         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
20735         from 0.0058 to less than 10^-7.
20736
20737 2008-04-19  Bruno Haible  <bruno@clisp.org>
20738
20739         Fix rounding when a precision is given.
20740         * lib/vasnprintf.c (is_borderline): New function.
20741         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
20742         9...9x.
20743         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
20744         %e, %g.
20745         * tests/test-vasprintf-posix.c (test_function): Likewise.
20746         * tests/test-snprintf-posix.h (test_function): Likewise.
20747         * tests/test-sprintf-posix.h (test_function): Likewise.
20748         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
20749         * tests/test-printf-posix.h (test_function): Likewise.
20750         * tests/test-printf-posix.output: Update.
20751         Reported by John Darrington <john@darrington.wattle.id.au> via
20752         Ben Pfaff <blp@cs.stanford.edu>.
20753
20754 2008-04-18  Simon Josefsson  <simon@josefsson.org>
20755
20756         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
20757         Suggested by Bruno Haible <bruno@clisp.org>.
20758
20759 2008-04-17  Bruno Haible  <bruno@clisp.org>
20760
20761         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
20762         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
20763         implementation.
20764         Patch by Bruce Merry <bmerry@gmail.com>.
20765
20766 2008-04-17  Simon Josefsson  <simon@josefsson.org>
20767
20768         * doc/posix-functions/strftime.texi (strftime): Mention that %e
20769         doesn't work under Windows.
20770
20771 2008-04-16  Bruno Haible  <bruno@clisp.org>
20772
20773         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
20774         New macros.
20775         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
20776         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
20777         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
20778         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
20779         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
20780         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
20781         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
20782         macros.
20783         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
20784         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
20785         Northern Sotho, Uighur.
20786
20787 2008-04-16  Bruno Haible  <bruno@clisp.org>
20788
20789         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
20790         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
20791         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
20792         Reported by Daniel Bergström <daniel@octocode.com>.
20793
20794 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
20795             Bruno Haible  <bruno@clisp.org>
20796
20797         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
20798         function.
20799         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
20800         New functions, mostly extracted from gl_locale_name_default.
20801         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
20802
20803 2008-04-16  Eric Blake  <ebb9@byu.net>
20804
20805         Adjust strtod detection to catch glibc 2.7 bug.
20806         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
20807         Reported by John Gatewood Ham.
20808
20809 2008-04-16  Bruno Haible  <bruno@clisp.org>
20810
20811         Add tentative support for Linux libc5.
20812         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
20813         * lib/fpurge.c (fpurge): Likewise.
20814         * lib/freadable.c (freadable): Likewise.
20815         * lib/freadahead.c (freadahead): Likewise.
20816         * lib/freading.c (freading): Likewise.
20817         * lib/freadptr.c (freadptr): Likewise.
20818         * lib/freadseek.c (freadptrinc): Likewise.
20819         * lib/fseeko.c (rpl_fseeko): Likewise.
20820         * lib/fseterr.c (fseterr): Likewise.
20821         * lib/fwritable.c (fwritable): Likewise.
20822         * lib/fwriting.c (fwriting): Likewise.
20823         Reported by Alain Guibert <alguibert+bts@free.fr>.
20824
20825 2008-04-15  Bruno Haible  <bruno@clisp.org>
20826
20827         * modules/mathl (configure.ac): Define module indicator.
20828
20829 2008-04-15  Bruno Haible  <bruno@clisp.org>
20830
20831         * lib/logl.c (logl): Remove unused variables.
20832
20833 2008-04-15  Bruno Haible  <bruno@clisp.org>
20834
20835         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
20836         fails.
20837
20838 2008-04-15  Bruno Haible  <bruno@clisp.org>
20839
20840         * lib/trim.c (trim2): Fix argument of isspace() macro.
20841
20842 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
20843
20844         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
20845         to 0.
20846         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
20847
20848 2008-04-14  Bruno Haible  <bruno@clisp.org>
20849
20850         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
20851         AC_LANG_PROGRAM argument.
20852         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
20853         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
20854         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
20855         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
20856         * m4/math_h.m4 (gl_MATH_H): Likewise.
20857         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
20858         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
20859         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
20860         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
20861         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
20862         * m4/regex.m4 (gl_REGEX): Likewise.
20863         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
20864         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
20865         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
20866         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
20867         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
20868         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
20869         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
20870         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
20871
20872 2008-04-14  Jim Meyering  <meyering@redhat.com>
20873
20874         test-strtod: fix typos: s/abs/fabs/
20875         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
20876
20877 2008-04-13  Bruno Haible  <bruno@clisp.org>
20878
20879         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
20880         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
20881         module is also used and while not building the reloc-wrapper.
20882
20883 2008-04-13  Bruno Haible  <bruno@clisp.org>
20884
20885         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
20886
20887 2008-04-13  Bruno Haible  <bruno@clisp.org>
20888
20889         Fix AIX compilation failure introduced on 2008-04-02.
20890         * tests/test-frexp.c (exp): Undefine before redefining.
20891         * tests/test-frexpl.c (exp): Likewise.
20892
20893 2008-04-13  Bruno Haible  <bruno@clisp.org>
20894
20895         Work around a HP-UX stdio bug.
20896         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
20897         * tests/test-ftello.c (main): Likewise.
20898         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
20899         * doc/posix-functions/ftello.texi: Likewise.
20900
20901 2008-04-13  Bruno Haible  <bruno@clisp.org>
20902
20903         Make test-signbit pass on HP-UX/hppa.
20904         * tests/test-signbit.c (minus_zerol): New variable.
20905         (test_signbitl): Use it.
20906
20907 2008-04-13  Bruno Haible  <bruno@clisp.org>
20908
20909         Make truncl work on OSF/1 4.0.
20910         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
20911         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
20912         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
20913         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
20914         HAVE_DECL_TRUNCL.
20915         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
20916         HAVE_DECL_TRUNCL.
20917         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
20918
20919 2008-04-13  Bruno Haible  <bruno@clisp.org>
20920
20921         * lib/unictype.h: Remove trailing comma from enumeration definitions.
20922
20923 2008-04-13  Bruno Haible  <bruno@clisp.org>
20924
20925         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
20926         expression, so as to avoid HP-UX 11 cc compiler bug.
20927
20928 2008-04-13  Bruno Haible  <bruno@clisp.org>
20929
20930         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
20931
20932 2008-04-13  Bruno Haible  <bruno@clisp.org>
20933
20934         * lib/git-merge-changelog.c: Remove empty declaration outside of
20935         functions.
20936
20937 2008-04-13  Bruno Haible  <bruno@clisp.org>
20938
20939         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
20940
20941 2008-04-13  Bruno Haible  <bruno@clisp.org>
20942
20943         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
20944         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
20945         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
20946         also if it exists but lacks definitions of the SHUT_* macros.
20947         * modules/sys_socket (Description): Update.
20948         Reported by Elbert Pol <e.pol@chello.nl>.
20949
20950 2008-04-13  Bruno Haible  <bruno@clisp.org>
20951
20952         * lib/localcharset.c (OS2): Don't redefine if already defined.
20953         Reported by Elbert Pol <e.pol@chello.nl>.
20954
20955 2008-04-13  Bruno Haible  <bruno@clisp.org>
20956
20957         * lib/binary-io.h [__EMX__]: Include <io.h>.
20958         Reported by Elbert Pol <e.pol@chello.nl>.
20959
20960 2008-04-12  Bruno Haible  <bruno@clisp.org>
20961
20962         * lib/fpucw.h: Enable the definitions also for x86_64.
20963         Needed for NetBSD/x86_64.
20964         Reported by Thomas Klausner <tk@giga.or.at>.
20965
20966 2008-04-12  Bruno Haible  <bruno@clisp.org>
20967
20968         * tests/test-strtod.c: Include isnand.h.
20969         (main): Use isnand instead of isnan.
20970         Reported by Jim Meyering.
20971
20972 2008-04-12  Bruno Haible  <bruno@clisp.org>
20973
20974         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
20975         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
20976
20977 2008-04-12  Jim Meyering  <meyering@redhat.com>
20978
20979         * m4/math_h.m4 (gl_MATH_H): Fix typos.
20980
20981 2008-04-12  Bruno Haible  <bruno@clisp.org>
20982
20983         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
20984         Reported by Elbert Pol <e.pol@chello.nl>.
20985
20986 2008-04-12  Eric Blake  <ebb9@byu.net>
20987
20988         Work around Solaris 10 math.h bug.
20989         * m4/math_h.m4 (gl_MATH_H): Check for bug.
20990         (gl_MATH_H_DEFAULTS): Set up default.
20991         * modules/math (Makefile.am): Replace new indicators.
20992         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
20993         * tests/test-math.c (main): Test this.
20994         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
20995         * doc/posix-headers/math.texi (math.h): Mention bug.
20996         Reported by Nelson H. F. Beebe and Jim Meyering.
20997
20998 2008-04-11  Bruno Haible  <bruno@clisp.org>
20999
21000         Adapt to future versions of Apple GCC.
21001         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
21002         Reported by Peter O'Gorman <peter@pogma.com>.
21003
21004 2008-04-11  Bruno Haible  <bruno@clisp.org>
21005
21006         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
21007
21008 2008-04-11  Bruno Haible  <bruno@clisp.org>
21009
21010         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
21011
21012         * modules/getaddrinfo-tests (Makefile.am): Define
21013         test_getaddrinfo_LDADD.
21014
21015 2008-04-11  Bruno Haible  <bruno@clisp.org>
21016
21017         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
21018         (init): Fix syntax error.
21019         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
21020         is declared.
21021
21022 2008-04-11  Bruno Haible  <bruno@clisp.org>
21023
21024         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
21025         * modules/glob (Depends-on): Add stdbool.
21026
21027 2008-04-11  Bruno Haible  <bruno@clisp.org>
21028
21029         * lib/trim.c: Include <string.h>.
21030
21031 2008-04-11  Eric Blake  <ebb9@byu.net>
21032
21033         Avoid compile failure on OS/2.
21034         * lib/regex_internal.h (internal_function): Disable optimization
21035         on OS/2 (__EMX__), where it caused compiler error.
21036         Reported by Elbert Pol.
21037
21038 2008-04-11  Bruno Haible  <bruno@clisp.org>
21039
21040         Flush the standard error stream before aborting. Needed on mingw.
21041         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
21042         * tests/test-array_list.c (ASSERT): Likewise.
21043         * tests/test-array_oset.c (ASSERT): Likewise.
21044         * tests/test-avltree_list.c (ASSERT): Likewise.
21045         * tests/test-avltree_oset.c (ASSERT): Likewise.
21046         * tests/test-avltreehash_list.c (ASSERT): Likewise.
21047         * tests/test-binary-io.c (ASSERT): Likewise.
21048         * tests/test-byteswap.c (ASSERT): Likewise.
21049         * tests/test-c-ctype.c (ASSERT): Likewise.
21050         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
21051         * tests/test-c-strcasestr.c (ASSERT): Likewise.
21052         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
21053         * tests/test-c-strstr.c (ASSERT): Likewise.
21054         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
21055         * tests/test-canonicalize.c (ASSERT): Likewise.
21056         * tests/test-carray_list.c (ASSERT): Likewise.
21057         * tests/test-ceilf1.c (ASSERT): Likewise.
21058         * tests/test-ceilf2.c (ASSERT): Likewise.
21059         * tests/test-ceill.c (ASSERT): Likewise.
21060         * tests/test-count-one-bits.c (ASSERT): Likewise.
21061         * tests/test-fbufmode.c (ASSERT): Likewise.
21062         * tests/test-fflush2.c (ASSERT): Likewise.
21063         * tests/test-floorf1.c (ASSERT): Likewise.
21064         * tests/test-floorf2.c (ASSERT): Likewise.
21065         * tests/test-floorl.c (ASSERT): Likewise.
21066         * tests/test-fopen.c (ASSERT): Likewise.
21067         * tests/test-fpending.c (ASSERT): Likewise.
21068         * tests/test-fprintf-posix.c (ASSERT): Likewise.
21069         * tests/test-fpurge.c (ASSERT): Likewise.
21070         * tests/test-freadable.c (ASSERT): Likewise.
21071         * tests/test-freadahead.c (ASSERT): Likewise.
21072         * tests/test-freading.c (ASSERT): Likewise.
21073         * tests/test-freadptr.c (ASSERT): Likewise.
21074         * tests/test-freadptr2.c (ASSERT): Likewise.
21075         * tests/test-freadseek.c (ASSERT): Likewise.
21076         * tests/test-freopen.c (ASSERT): Likewise.
21077         * tests/test-frexp.c (ASSERT): Likewise.
21078         * tests/test-frexpl.c (ASSERT): Likewise.
21079         * tests/test-fseek.c (ASSERT): Likewise.
21080         * tests/test-fseeko.c (ASSERT): Likewise.
21081         * tests/test-fstrcmp.c (ASSERT): Likewise.
21082         * tests/test-ftell.c (ASSERT): Likewise.
21083         * tests/test-ftello.c (ASSERT): Likewise.
21084         * tests/test-func.c (ASSERT): Likewise.
21085         * tests/test-fwritable.c (ASSERT): Likewise.
21086         * tests/test-fwriting.c (ASSERT): Likewise.
21087         * tests/test-getdelim.c (ASSERT): Likewise.
21088         * tests/test-getline.c (ASSERT): Likewise.
21089         * tests/test-i-ring.c (ASSERT): Likewise.
21090         * tests/test-iconv-utf.c (ASSERT): Likewise.
21091         * tests/test-iconv.c (ASSERT): Likewise.
21092         * tests/test-isfinite.c (ASSERT): Likewise.
21093         * tests/test-isnand.c (ASSERT): Likewise.
21094         * tests/test-isnanf.c (ASSERT): Likewise.
21095         * tests/test-isnanl.h (ASSERT): Likewise.
21096         * tests/test-ldexpl.c (ASSERT): Likewise.
21097         * tests/test-linked_list.c (ASSERT): Likewise.
21098         * tests/test-linkedhash_list.c (ASSERT): Likewise.
21099         * tests/test-localename.c (ASSERT): Likewise.
21100         * tests/test-lseek.c (ASSERT): Likewise.
21101         * tests/test-mbscasecmp.c (ASSERT): Likewise.
21102         * tests/test-mbscasestr1.c (ASSERT): Likewise.
21103         * tests/test-mbscasestr2.c (ASSERT): Likewise.
21104         * tests/test-mbscasestr3.c (ASSERT): Likewise.
21105         * tests/test-mbscasestr4.c (ASSERT): Likewise.
21106         * tests/test-mbschr.c (ASSERT): Likewise.
21107         * tests/test-mbscspn.c (ASSERT): Likewise.
21108         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
21109         * tests/test-mbspbrk.c (ASSERT): Likewise.
21110         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
21111         * tests/test-mbsrchr.c (ASSERT): Likewise.
21112         * tests/test-mbsspn.c (ASSERT): Likewise.
21113         * tests/test-mbsstr1.c (ASSERT): Likewise.
21114         * tests/test-mbsstr2.c (ASSERT): Likewise.
21115         * tests/test-mbsstr3.c (ASSERT): Likewise.
21116         * tests/test-memchr2.c (ASSERT): Likewise.
21117         * tests/test-memmem.c (ASSERT): Likewise.
21118         * tests/test-open.c (ASSERT): Likewise.
21119         * tests/test-printf-frexp.c (ASSERT): Likewise.
21120         * tests/test-printf-frexpl.c (ASSERT): Likewise.
21121         * tests/test-printf-posix.c (ASSERT): Likewise.
21122         * tests/test-quotearg.c (ASSERT): Likewise.
21123         * tests/test-rbtree_list.c (ASSERT): Likewise.
21124         * tests/test-rbtree_oset.c (ASSERT): Likewise.
21125         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
21126         * tests/test-round1.c (ASSERT): Likewise.
21127         * tests/test-roundf1.c (ASSERT): Likewise.
21128         * tests/test-roundl.c (ASSERT): Likewise.
21129         * tests/test-signbit.c (ASSERT): Likewise.
21130         * tests/test-sleep.c (ASSERT): Likewise.
21131         * tests/test-snprintf-posix.c (ASSERT): Likewise.
21132         * tests/test-snprintf.c (ASSERT): Likewise.
21133         * tests/test-sprintf-posix.c (ASSERT): Likewise.
21134         * tests/test-stat-time.c (ASSERT): Likewise.
21135         * tests/test-strcasestr.c (ASSERT): Likewise.
21136         * tests/test-strerror.c (ASSERT): Likewise.
21137         * tests/test-striconv.c (ASSERT): Likewise.
21138         * tests/test-striconveh.c (ASSERT): Likewise.
21139         * tests/test-striconveha.c (ASSERT): Likewise.
21140         * tests/test-strsignal.c (ASSERT): Likewise.
21141         * tests/test-strstr.c (ASSERT): Likewise.
21142         * tests/test-strtod.c (ASSERT): Likewise.
21143         * tests/test-trunc1.c (ASSERT): Likewise.
21144         * tests/test-trunc2.c (ASSERT): Likewise.
21145         * tests/test-truncf1.c (ASSERT): Likewise.
21146         * tests/test-truncf2.c (ASSERT): Likewise.
21147         * tests/test-truncl.c (ASSERT): Likewise.
21148         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
21149         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
21150         * tests/test-vasnprintf.c (ASSERT): Likewise.
21151         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
21152         * tests/test-vasprintf.c (ASSERT): Likewise.
21153         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
21154         * tests/test-vprintf-posix.c (ASSERT): Likewise.
21155         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
21156         * tests/test-vsnprintf.c (ASSERT): Likewise.
21157         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
21158         * tests/test-wcwidth.c (ASSERT): Likewise.
21159         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
21160         * tests/test-xprintf-posix.c (ASSERT): Likewise.
21161         * tests/test-xvasprintf.c (ASSERT): Likewise.
21162         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
21163         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
21164         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
21165         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
21166         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
21167         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
21168         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
21169         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
21170         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
21171         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
21172         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
21173         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
21174         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
21175         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
21176         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
21177         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
21178         * tests/unictype/test-block_list.c (ASSERT): Likewise.
21179         * tests/unictype/test-block_of.c (ASSERT): Likewise.
21180         * tests/unictype/test-block_test.c (ASSERT): Likewise.
21181         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
21182         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
21183         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
21184         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
21185         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
21186         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
21187         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
21188         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
21189         * tests/unictype/test-combining.c (ASSERT): Likewise.
21190         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
21191         * tests/unictype/test-digit.c (ASSERT): Likewise.
21192         * tests/unictype/test-mirror.c (ASSERT): Likewise.
21193         * tests/unictype/test-numeric.c (ASSERT): Likewise.
21194         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
21195         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
21196         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
21197         * tests/unictype/test-scripts.c (ASSERT): Likewise.
21198         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
21199         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
21200         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
21201         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
21202         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
21203         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
21204         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
21205         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
21206         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
21207         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
21208         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
21209         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
21210         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
21211         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
21212         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
21213         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
21214         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
21215         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
21216         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
21217         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
21218         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
21219         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
21220         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
21221         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
21222         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
21223         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
21224         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
21225         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
21226         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
21227         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
21228         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
21229         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
21230         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
21231         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
21232         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
21233         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
21234         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
21235         Reported by Eric Blake.
21236
21237 2008-04-11  Bruno Haible  <bruno@clisp.org>
21238
21239         * lib/wchar.in.h: Tweak comment.
21240
21241 2008-04-11  Bruno Haible  <bruno@clisp.org>
21242
21243         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
21244         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
21245         gl_COMMON.
21246         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
21247
21248 2008-04-11  Bruno Haible  <bruno@clisp.org>
21249
21250         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
21251
21252 2008-04-11  Simon Josefsson  <simon@josefsson.org>
21253
21254         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
21255         of attempting to use non-existing /dev/*random.  Based on patch
21256         from Adam Strzelecki <ono@java.pl> in
21257         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
21258
21259 2008-04-08  Bruno Haible  <bruno@clisp.org>
21260
21261         Add tentative support for emx+gcc.
21262         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
21263         * lib/fpurge.c (fpurge): Likewise.
21264         * lib/freadable.c (freadable): Likewise.
21265         * lib/freadahead.c (freadahead): Likewise.
21266         * lib/freading.c (freading): Likewise.
21267         * lib/freadptr.c (freadptr): Likewise.
21268         * lib/freadseek.c (freadptrinc): Likewise.
21269         * lib/fseeko.c (rpl_fseeko): Likewise.
21270         * lib/fseterr.c (fseterr): Likewise.
21271         * lib/fwritable.c (fwritable): Likewise.
21272         * lib/fwriting.c (fwriting): Likewise.
21273         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
21274
21275 2008-04-09  Eric Blake  <ebb9@byu.net>
21276
21277         Avoid some autoconf warnings.
21278         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
21279         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
21280         * m4/afs.m4 (gl_AFS): Likewise.
21281         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
21282         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
21283         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
21284         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
21285         (gl_INTEGER_TYPE_SUFFIX): Likewise.
21286         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
21287         (AC_CHECK_DECLS_ONCE): Likewise.
21288         Rename file...
21289         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
21290         gnulib-tool requires autoconf 2.59 or better.
21291         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
21292
21293 2008-04-08  Eric Blake  <ebb9@byu.net>
21294
21295         Use 'git describe --match' if present (added in git 1.5.5).
21296         * build-aux/git-version-gen: Limit result to tags that match 'v*'
21297         if possible.
21298
21299 2008-04-08  Bruno Haible  <bruno@clisp.org>
21300
21301         Add tentative support for OpenServer.
21302         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
21303         _ptr, _cnt.
21304         * lib/fpurge.c (fpurge): Likewise.
21305         * lib/freadable.c (freadable): Likewise.
21306         * lib/freadahead.c (freadahead): Likewise.
21307         * lib/freading.c (freading): Likewise.
21308         * lib/freadptr.c (freadptr): Likewise.
21309         * lib/freadseek.c (freadptrinc): Likewise.
21310         * lib/fseeko.c (rpl_fseeko): Likewise.
21311         * lib/fseterr.c (fseterr): Likewise.
21312         * lib/fwritable.c (fwritable): Likewise.
21313         * lib/fwriting.c (fwriting): Likewise.
21314         Reported by Roger Cornelius <rac@tenzing.org> and
21315         Brian K. White <brian@aljex.com>.
21316
21317 2008-04-06  Jim Meyering  <meyering@redhat.com>
21318
21319         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
21320
21321 2008-04-06  Bruno Haible  <bruno@clisp.org>
21322
21323         Avoid possible error with non-ASCII bytes in UTF-8 locales.
21324         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
21325         * tests/test-printf-posix.sh: Likewise.
21326         * tests/test-vfprintf-posix.sh: Likewise.
21327         * tests/test-vprintf-posix.sh: Likewise.
21328         * tests/test-xprintf-posix.sh: Likewise.
21329
21330 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21331
21332         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
21333         hide error from 'ls', needed on OS/2.
21334         Report by Elbert Pol <elbert.pol@gmail.com>.
21335
21336 2008-04-04  Eric Blake  <ebb9@byu.net>
21337
21338         Make test-fseeko.c failures meaningful.
21339         * tests/test-fseeko.c: Print line number on failure.
21340         * tests/test-fseek.c: Likewise.
21341         Reported by Nelson H. F. Beebe.
21342
21343         Improve strtod bug detection check.
21344         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
21345         required for Solaris 10.
21346         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
21347
21348 2008-04-04  Bruno Haible  <bruno@clisp.org>
21349
21350         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
21351         by m4/setenv.m4.
21352
21353 2008-04-03  Eric Blake  <ebb9@byu.net>
21354
21355         Ensure sane .version contents.
21356         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
21357         version string.
21358         * build-aux/git-version-gen: Improve documentation.
21359
21360         Make GNU make output nicer.
21361         * top/GNUmakefile [!_have-Makefile]: Add dependency on
21362         MAKECMDGOALS to enforce message for all command line targets.  Set
21363         srcdir for use in maint.mk.
21364
21365         Another maintainer tweak.
21366         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
21367         a target that regenerates version.
21368
21369 2008-04-03  Jim Meyering  <meyering@redhat.com>
21370
21371         vc-list-files: don't cause coreutils "make po-check" failure
21372         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
21373
21374 2008-04-03  Eric Blake  <ebb9@byu.net>
21375
21376         Allow VPATH usage of vc-list-files.
21377         * build-aux/vc-list-files (scriptversion): Add timestamp.
21378         (options): Add --help, --version, -C.
21379         (CVS): Support installed cvsu.
21380
21381 2008-04-02  Bruno Haible  <bruno@clisp.org>
21382
21383         Avoid some "statement with no effect" warnings from gcc.
21384         * tests/test-wctype.c (main): Explicitly ignore unused values.
21385         Reported by Jim Meyering.
21386
21387 2008-04-02  Jim Meyering  <meyering@redhat.com>
21388
21389         Avoid some warnings from "gcc -Wshadow".
21390         * tests/test-frexp.c (exp): Define to a different identifier.
21391         * tests/test-frexpl.c (exp): Likewise.
21392
21393 2008-04-03  Jim Meyering  <meyering@redhat.com>
21394
21395         bootstrap: remove dangling *.[ch] symlinks from lib
21396         * build-aux/bootstrap [dangling symlink removal]: Move find's
21397         -depth option to precede all others, to avoid a warning.
21398         Remove *.[ch] files too, and from "$source_base" (usually lib/).
21399
21400 2008-04-02  Bruno Haible  <bruno@clisp.org>
21401
21402         Avoid some warnings from "gcc -Wshadow".
21403         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
21404         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
21405         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
21406         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
21407         Reported by Jim Meyering.
21408
21409 2008-04-01  Bruno Haible  <bruno@clisp.org>
21410
21411         Fix test to work on IRIX 6.5 with cc.
21412         * tests/test-math.c (numeric_equal): New function.
21413         (main): Use it.
21414
21415 2008-04-01  Bruno Haible  <bruno@clisp.org>
21416
21417         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
21418
21419 2008-04-01  Bruno Haible  <bruno@clisp.org>
21420
21421         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
21422         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
21423         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
21424         (Depends-on): Remove math.
21425
21426         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
21427         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
21428         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
21429         (Depends-on): Remove math.
21430
21431         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
21432         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
21433         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
21434         (Depends-on): Remove math.
21435         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
21436         (Depends-on): Remove math.
21437
21438         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
21439         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
21440         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
21441         (Depends-on): Remove math.
21442         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
21443         (Depends-on): Remove math.
21444
21445         * tests/test-round1.c: Include nan.h.
21446         (main): Use NaNd instead of NAN.
21447         * modules/round-tests (Files): Add tests/nan.h.
21448
21449         * tests/test-trunc1.c: Include nan.h.
21450         (main): Use NaNd instead of NAN.
21451         * modules/trunc-tests (Files): Add tests/nan.h.
21452
21453         * tests/test-roundf1.c: Include nan.h.
21454         (main): Use NaNf instead of NAN.
21455         * modules/roundf-tests (Files): Add tests/nan.h.
21456
21457         * tests/test-truncf1.c: Include nan.h.
21458         (main): Use NaNf instead of NAN.
21459         * modules/truncf-tests (Files): Add tests/nan.h.
21460
21461         * tests/test-ceilf1.c: Include nan.h.
21462         (main): Use NaNf instead of NAN.
21463         * modules/ceilf-tests (Files): Add tests/nan.h.
21464
21465         * tests/test-floorf1.c: Include nan.h.
21466         (main): Use NaNf instead of NAN.
21467         * modules/floorf-tests (Files): Add tests/nan.h.
21468
21469         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
21470         (main): Use NaNf instead of NAN.
21471         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
21472
21473         * tests/test-isnand.c: Include nan.h instead of <math.h>.
21474         (main): Use NaNd instead of NAN.
21475         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
21476
21477         * tests/test-frexp.c: Include nan.h.
21478         (main): Use NaNd instead of NAN.
21479         * modules/frexp-tests (Files): Add tests/nan.h.
21480
21481         * lib/isnan.c: Don't include <math.h>.
21482         (FUNC): Don't use NAN macro.
21483         * modules/isnand-nolibm (Depends-on): Remove math.
21484         * modules/isnanf-nolibm (Depends-on): Remove math.
21485         * modules/isnanl (Depends-on): Remove math.
21486         * modules/isnanl-nolibm (Depends-on): Remove math.
21487
21488         * tests/nan.h: New file.
21489
21490 2008-04-01  Eric Blake  <ebb9@byu.net>
21491
21492         Fix typos.
21493         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
21494         values to be the right type.
21495
21496         For now, cater to gnulib strtod inaccuracies.
21497         * tests/test-strtod.c (main): Allow 1-ulp error on expected
21498         fractional results.  While not as nice from a QoI perspective, it
21499         is a quicker patch than correctly implementing decimal to binary
21500         rounding.
21501
21502 2008-03-31  Eric Blake  <ebb9@byu.net>
21503
21504         Guarantee a definition of NAN.
21505         * lib/math.in.h (NAN): Define if missing.
21506         * tests/test-math.c (main): Test it.
21507         * doc/posix-headers/math.texi (math.h): Document this.
21508         * lib/isnan.c (rpl_isnand): Use it.
21509         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
21510         * tests/test-floorf1.c (NaN): Likewise.
21511         * tests/test-frexp.c (NaN): Likewise.
21512         * tests/test-isnand.c (NaN): Likewise.
21513         * tests/test-isnanf.c (NaN): Likewise.
21514         * tests/test-round1.c (NaN): Likewise.
21515         * tests/test-roundf1.c (NaN): Likewise.
21516         * tests/test-snprintf-posix.h (NaN): Likewise.
21517         * tests/test-sprintf-posix.h (NaN): Likewise.
21518         * tests/test-trunc1.c (NaN): Likewise.
21519         * tests/test-truncf1.c (NaN): Likewise.
21520         * tests/test-vasnprintf-posix.c (NaN): Likewise.
21521         * tests/test-vasprintf-posix.c (NaN): Likewise.
21522         * modules/isnand-nolibm (Depends-on): Add math.
21523         * modules/isnanf-nolibm (Depends-on): Likewise.
21524         * modules/isnanl (Depends-on): Likewise.
21525         * modules/isnanl-nolibm (Depends-on): Likewise.
21526         * modules/snprintf-posix-tests (Depends-on): Likewise.
21527         * modules/sprintf-posix-tests (Depends-on): Likewise.
21528         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
21529         * modules/vsprintf-posix-tests (Depends-on): Likewise.
21530         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
21531         * modules/vasprintf-posix-tests (Depends-on): Likewise.
21532
21533 2008-03-31  Bruno Haible  <bruno@clisp.org>
21534
21535         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
21536         * doc/posix-functions/strtod.texi: Likewise.
21537
21538 2008-03-31  Bruno Haible  <bruno@clisp.org>
21539
21540         * tests/test-strtod.c (main): Don't use C99 syntax.
21541
21542 2008-03-31  Bruno Haible  <bruno@clisp.org>
21543
21544         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
21545         Reported by Eric Blake.
21546
21547 2008-03-31  Jim Meyering  <meyering@redhat.com>
21548
21549         Don't compare actual signbit return values.
21550         * tests/test-strtod.c (main): Rather, compare only their
21551         zero/non-zero nature.
21552
21553 2008-03-31  Eric Blake  <ebb9@byu.net>
21554
21555         More strtod documentation.
21556         * doc/posix-functions/strtod.texi (strtod): Interpret more test
21557         failures as distinct bugs.
21558
21559 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
21560
21561         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
21562         Problem reported by Erik Benada in
21563         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
21564
21565 2008-03-30  Bruno Haible  <bruno@clisp.org>
21566
21567         * tests/test-strtod.c: Add comments about which assertion fails on which
21568         platform.
21569         * doc/posix-functions/strtod.texi: Add info about many more platforms.
21570
21571 2008-03-30  Eric Blake  <ebb9@byu.net>
21572
21573         Test signbit behavior on zeros.
21574         * tests/test-signbit.c (test_signbitf): Add tests for zero.
21575         (test_signbitd, test_signbitl): Likewise.
21576
21577         More strtod touchups.
21578         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
21579         sign of negative underflow, for now.  Use .5, not .1.
21580         * doc/posix-functions/strtod.texi (strtod): Mention these
21581         limitations.
21582         Reported by Jim Meyering.
21583
21584 2008-03-30  Bruno Haible  <bruno@clisp.org>
21585
21586         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
21587         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
21588
21589 2008-03-30  Bruno Haible  <bruno@clisp.org>
21590
21591         Avoid failure when attempting to return empty iconv results on some
21592         platforms.
21593         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
21594         allocation, don't report ENOMEM when the resulting string is empty.
21595
21596 2008-03-30  Bruno Haible  <bruno@clisp.org>
21597
21598         Fix buffer overrun.
21599         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
21600         Don't consider the width for tmp_length. Check count against tmp_length
21601         before doing the padding. Ensure enough allocation during padding.
21602
21603 2008-03-30  Eric Blake  <ebb9@byu.net>
21604
21605         strtod touchups.
21606         * lib/strtod.c (strtod): Avoid compiler warnings.
21607         Reported by Jim Meyering.
21608
21609 2008-03-30  Bruno Haible  <bruno@clisp.org>
21610
21611         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
21612         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
21613         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
21614         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
21615         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
21616         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
21617         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
21618         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
21619
21620         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
21621         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
21622         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
21623         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
21624         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
21625         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
21626         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
21627         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
21628
21629         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
21630         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
21631         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
21632         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
21633         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
21634         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
21635         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
21636         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
21637
21638         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
21639         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
21640
21641         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
21642         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
21643
21644         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
21645         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
21646
21647         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
21648         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
21649         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
21650
21651         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
21652         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
21653         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
21654
21655         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
21656         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
21657         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
21658
21659         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
21660         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
21661         * modules/vasprintf (Depends-on): Add EOVERFLOW.
21662
21663         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
21664         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
21665         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
21666         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
21667         (Depends-on): Add EOVERFLOW.
21668         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
21669         (Depends-on): Add EOVERFLOW.
21670         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
21671         (Depends-on): Add EOVERFLOW.
21672         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
21673         (Depends-on): Add EOVERFLOW.
21674         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
21675         (Depends-on): Add EOVERFLOW.
21676         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
21677         (Depends-on): Add EOVERFLOW.
21678         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
21679         (Depends-on): Add EOVERFLOW.
21680         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
21681         (Depends-on): Add EOVERFLOW.
21682
21683         * lib/sprintf.c (EOVERFLOW): Remove fallback.
21684         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
21685         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
21686
21687         * lib/snprintf.c (EOVERFLOW): Remove fallback.
21688         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
21689         * modules/snprintf (Depends-on): Add EOVERFLOW.
21690
21691         * lib/poll.c (EOVERFLOW): Remove fallback.
21692         * modules/poll (Depends-on): Add EOVERFLOW.
21693
21694         * lib/getugroups.c (EOVERFLOW): Remove fallback.
21695         * modules/getugroups (Depends-on): Add EOVERFLOW.
21696
21697         * lib/getdelim.c (EOVERFLOW): Remove fallback.
21698         * modules/getdelim (Depends-on): Add EOVERFLOW.
21699
21700         * lib/ftell.c (EOVERFLOW): Remove fallback.
21701         * modules/ftell (Depends-on): Add EOVERFLOW.
21702
21703         * lib/fprintf.c (EOVERFLOW): Remove fallback.
21704         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
21705         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
21706
21707         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
21708
21709         * modules/EOVERFLOW-tests: New file.
21710         * tests/test-EOVERFLOW.c: New file.
21711
21712         * modules/EOVERFLOW: New file.
21713         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
21714
21715 2008-03-30  Bruno Haible  <bruno@clisp.org>
21716
21717         Fix bug introduced on 2007-06-10.
21718         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
21719         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
21720
21721 2008-03-30  Bruno Haible  <bruno@clisp.org>
21722
21723         Improve freadseek's efficiency after ungetc.
21724         * lib/freadseek.c: Include freadahead.h.
21725         (freadptrinc): New function, extracted from freadseek.
21726         (freadseek): Use it in a loop. Use freadahead to determine the number
21727         of loop iterations.
21728         * modules/freadseek (Depends-on): Add freadahead.
21729         (configure.ac): Require AC_C_INLINE.
21730
21731 2008-03-30  Bruno Haible  <bruno@clisp.org>
21732
21733         * lib/freadseek.c (freadseek): Don't ignore the return value of
21734         freadptr.
21735
21736 2008-03-29  Eric Blake  <ebb9@byu.net>
21737
21738         Add hex float support.
21739         * modules/strtod (Depends-on): Add c-ctype.
21740         (Link): Mention POW_LIB.
21741         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
21742         whitespace between 'e' and exponent.
21743         * tests/test-strtod.c (main): Enable hex float tests.
21744         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
21745         now provides.
21746
21747         Document various strtod bugs, with some fixes.
21748         * doc/posix-functions/strtod.texi (strtod): Document bugs with
21749         "-0x", "inf", "nan", and hex constants.
21750         * doc/posix-functions/atof.texi (atof): Likewise.
21751         * modules/stdlib (Makefile.am): Support strtod.
21752         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
21753         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
21754         detect additional strtod bugs.
21755         * lib/stdlib.in.h (rpl_strtod): Add declarations.
21756         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
21757         bool where appropriate.  Parse 'inf' and 'nan'.
21758         * tests/test-strtod.c: New file.
21759         * modules/strtod (Depends-on): Add stdbool, stdlib.
21760         (configure.ac): Turn on module indicator.
21761         * modules/strtod-tests: New module.
21762
21763 2008-03-29  Eric Blake  <ebb9@byu.net>
21764
21765         Fix ftell on mingw.
21766         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
21767         * modules/ftell-tests (Depends-on): Add binary-io.
21768         * modules/ftello-tests (Depends-on): Likewise.
21769         * tests/test-ftell.c (main): Enhance test to cover behavior after
21770         ungetc.  Enforce binary mode.
21771         * tests/test-ftello.c (main): Likewise.
21772
21773         Pass test-freadseek on cygwin.
21774         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
21775         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
21776         ungetc buffer.
21777
21778         * tests/test-fflush2.c (main): Fix typo.
21779
21780 2008-03-29  Bruno Haible  <bruno@clisp.org>
21781
21782         * tests/test-fflush2.c (main): Temporarily disable the contents of
21783         this test.
21784         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
21785         Reported by Eric Blake.
21786
21787 2008-03-28  Simon Josefsson  <simon@josefsson.org>
21788
21789         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
21790         (GC_SHA224_DIGEST_SIZE): Add.
21791
21792         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
21793         (gc_hash_digest_length): Likewise.
21794         (gc_hash_buffer): Likewise.
21795
21796 2008-03-25  Bruno Haible  <bruno@clisp.org>
21797
21798         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
21799         detail which gettext release to use.
21800         Reported by Simon Josefsson.
21801
21802 2008-03-26  Jim Meyering  <meyering@redhat.com>
21803
21804         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
21805         * modules/gnumakefile (clean-GNUmakefile): Also, use
21806         test ... && ... || : syntax rather than if-then ... fi.
21807
21808         gnumakefile: Don't double-quote-expand $(VPATH) value.
21809         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
21810
21811 2008-03-24  Eric Blake  <ebb9@byu.net>
21812
21813         Alter GNUmakefile to install into top directory.
21814         * modules/maintainer-makefile: Split, and add dependency...
21815         * modules/gnumakefile: to this new module.
21816         * build-aux/GNUmakefile: Move...
21817         * top/GNUmakefile: ...here.
21818         * build-aux/maint.mk: Move...
21819         * top/maint.mk: ...here.
21820         * MODULES.html.sh (Support for maintaining...): Document new
21821         module.
21822
21823 2008-03-23  Bruno Haible  <bruno@clisp.org>
21824
21825         * gnulib-tool: New options --vc-files, --no-vc-files.
21826         (func_usage): Document them.
21827         (vc_files): New variable.
21828         (func_import): Consider vc_files.
21829         (func_create_testdir): Set vc_files to empty.
21830         Suggested by Jim Meyering and Karl Berry.
21831
21832 2008-03-23  Bruno Haible  <bruno@clisp.org>
21833
21834         Fix regex compilation error on HP-UX 11.
21835         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
21836         * modules/regex (Files): Add m4/mbstate_t.m4.
21837         Reported by Ton Voon <ton.voon@altinity.com>.
21838
21839 2008-03-23  Bruno Haible  <bruno@clisp.org>
21840
21841         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
21842
21843 2008-03-23  Eric Blake  <ebb9@byu.net>
21844             Bruno Haible  <bruno@clisp.org>
21845
21846         Install files from top/ in the destination directory.
21847         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
21848         augmentation also for the files from top/.
21849         (func_import, func_create_testdir): Rewrite file names:
21850         top/filename -> filename.
21851
21852 2008-03-23  Bruno Haible  <bruno@clisp.org>
21853
21854         Tweak "gnulib --version" output.
21855         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
21856
21857 2008-03-23  Bruno Haible  <bruno@clisp.org>
21858
21859         Tweak "gnulib --version" output.
21860         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
21861         rather than contents of ChangeLog, when possible.
21862
21863 2008-03-21  Eric Blake  <ebb9@byu.net>
21864
21865         More --version tweaks.
21866         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
21867         date of last ChangeLog entry.
21868
21869 2008-03-21  Jim Meyering  <meyering@redhat.com>
21870
21871         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
21872
21873 2008-03-20  Eric Blake  <ebb9@byu.net>
21874
21875         VPATH fix.
21876         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
21877
21878 2008-03-20  Simon Josefsson  <simon@josefsson.org>
21879
21880         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
21881         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
21882
21883 2008-03-20  Eric Blake  <ebb9@byu.net>
21884
21885         Sync GNUmakefile with coreutils.
21886         * build-aux/GNUmakefile (have-Makefile): Rename...
21887         (_have-Makefile): ...to this, for namespace consideration.
21888         (GNUmakefile.cfg): Include, if present.
21889         (_autoreconf): Define a default.
21890         (_is-dist-target): New rule for rebuilds to pick up intra-release
21891         version.
21892         (maint-cfg.mk): Rename...
21893         (cfg.mk): ...to this.
21894
21895 2008-03-18  Jim Meyering  <meyering@redhat.com>
21896
21897         New script and module: mktempd
21898         * MODULES.html.sh (maint+release support): Add mktempd.
21899         * build-aux/mktempd: New file.
21900         * modules/mktempd: New file.
21901
21902 2008-03-15  Jim Meyering  <meyering@redhat.com>
21903
21904         Undo last change.
21905         * lib/sha1.c, lib/md5.c: 63 != ~63.
21906         Reported by Andreas Schwab.
21907
21908         sha1.c, md5.c: Hoist a redundant expression.
21909         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
21910         "ctx->buflen" only once, before calling *_process_block.
21911         * lib/md5.c (md5_process_bytes): Likewise.
21912
21913 2008-03-14  Eric Blake  <ebb9@byu.net>
21914
21915         Bump copyright year in files generated by gnulib-tool.
21916         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
21917         gnulib-tool, rather than hard-coding it.
21918
21919         Fix 'gnulib-tool --version' output to work with git.
21920         * gnulib-tool (func_gnulib_dir): New function, extracted from...
21921         (startup): ...here.
21922         (func_version): Use it to invoke git-version-gen, rather than
21923         relying on CVS keyword expansion.  Modernize wording.
21924         (cvsdatestamp, last_checkin_date, version): Kill unused
21925         variables.
21926
21927 2008-03-12  Jim Meyering  <meyering@redhat.com>
21928
21929         Recognize optional cast of the argument to free.
21930         * build-aux/useless-if-before-free: Update regexps.
21931
21932         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
21933
21934 2008-03-11  Bruno Haible  <bruno@clisp.org>
21935
21936         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
21937         by a single package.
21938         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
21939         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
21940         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
21941         Reported by Sam Steingold <sds@gnu.org>.
21942
21943 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
21944
21945         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
21946         repositories.
21947
21948 2008-03-11  Bruno Haible  <bruno@clisp.org>
21949
21950         Avoid conflicts between local macro definitions.
21951         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
21952         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
21953
21954 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
21955             Bruno Haible  <bruno@clisp.org>
21956
21957         Make va_copy work with some version of xlc on AIX 5.1.
21958         * lib/stdarg.in.h: New file.
21959         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
21960         On AIX, use a <stdarg.h> file substitute.
21961         * modules/stdarg (Files): Add lib/stdarg.in.h.
21962         (Depends-on): Add include_next.
21963         (Makefile.am): Build a stdarg.h substitute if requested.
21964         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
21965
21966 2008-03-10  Bruno Haible  <bruno@clisp.org>
21967
21968         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
21969         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
21970         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
21971
21972 2008-03-10  Bruno Haible  <bruno@clisp.org>
21973
21974         * modules/stdlib (Depends-on): Add include_next, remove
21975         absolute-header.
21976
21977 2008-03-09  Bruno Haible  <bruno@clisp.org>
21978
21979         * lib/freadahead.h (freadahead): Document more precisely.
21980         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
21981         the sum of both buffer sizes.
21982         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
21983         * NEWS: Document the change.
21984
21985 2008-03-09  Bruno Haible  <bruno@clisp.org>
21986
21987         Extend freadptr to return also the buffer size.
21988         * lib/freadptr.h (freadptr): Add sizep argument.
21989         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
21990         (freadptr): Add sizep argument. Determine buffer size like freadahead
21991         does.
21992         * tests/test-freadptr.c: Don't include freadahead.h.
21993         (main): Adapt for new calling convention of freadptr.
21994         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
21995         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
21996         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
21997         tests/test-freadptr2.sh.
21998         (Depends): Remove freadahead.
21999         (TESTS): Add test-freadptr2.sh.
22000         (check_PROGRAMS): Add test-freadptr2.
22001
22002 2008-03-09  Bruno Haible  <bruno@clisp.org>
22003
22004         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
22005         Report and solution by Simon Josefsson.
22006
22007 2008-03-06  Bruno Haible  <bruno@clisp.org>
22008
22009         Make fflush after ungetc work on BSD platforms.
22010         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
22011         * tests/test-fflush2.c: New file.
22012         * tests/test-fflush2.sh: New file.
22013         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
22014         tests/test-fflush2.c.
22015         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
22016         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
22017
22018 2008-03-06  Eric Blake  <ebb9@byu.net>
22019
22020         Likewise for ftello.
22021         * modules/ftello (Dependencies): Add extensions.
22022         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
22023
22024 2008-03-06  Bruno Haible  <bruno@clisp.org>
22025
22026         * modules/fseeko (Dependencies): Add extensions.
22027         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
22028         Needed on glibc systems.
22029
22030 2008-03-06  Bruno Haible  <bruno@clisp.org>
22031
22032         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
22033         email address.
22034         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
22035
22036 2008-03-06  Bruno Haible  <bruno@clisp.org>
22037
22038         * users.txt: Add libgnupdf.
22039
22040 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
22041
22042         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
22043         (Header File Substitutes, Function Substitutes,
22044         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
22045         (Build robot for gnulib): Fix typo.
22046
22047 2008-03-06  Bruno Haible  <bruno@clisp.org>
22048
22049         * doc/gnulib-tool.texi (VCS Issues): Small updates.
22050         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
22051
22052 2008-03-06  Bruno Haible  <bruno@clisp.org>
22053
22054         * doc/func.texi: New file, extracted from doc/gnulib.texi.
22055         * doc/gnulib.texi: Include it.
22056
22057 2008-03-06  Simon Josefsson  <simon@josefsson.org>
22058
22059         * modules/func (License): Change license to unlimited; there was
22060         no LGPL parts in the module anyway.
22061
22062 2008-03-06  Simon Josefsson  <simon@josefsson.org>
22063
22064         * modules/__func__: Renamed to modules/func.
22065         * modules/__func__-tests: Renamed to modules/func-tests.
22066         * tests/test-__func__.c: Renamed to tests/test-func.c.
22067         * m4/__func__.m4: Renamed to m4/func.m4.
22068         * doc/gnulib.texi (__func__): Section renamed to func.
22069         Suggested by Eric Blake <ebb9@byu.net>.
22070
22071 2008-03-06  Simon Josefsson  <simon@josefsson.org>
22072
22073         * doc/gnulib.texi (__func__): Use C99 terminology when talking
22074         about __func__.  Make example self-contained.  Suggested by Eric
22075         Blake <ebb9@byu.net>.
22076
22077         * tests/test-__func__.c (main): Avoid extraneous () around __func.
22078         Suggested by Eric Blake <ebb9@byu.net>.
22079
22080 2008-03-06  Simon Josefsson  <simon@josefsson.org>
22081
22082         * modules/__func__: New file.
22083         * modules/__func__-tests: New file.
22084         * tests/test-__func__.c: New file.
22085         * m4/__func__.m4: New file.
22086         * doc/gnulib.texi (__func__): Document __func__ module.
22087
22088 2008-03-05  Simon Josefsson  <simon@josefsson.org>
22089
22090         * modules/byteswap (License): Re-license as LGPLv2+.
22091
22092 2008-03-05  Simon Josefsson  <simon@josefsson.org>
22093
22094         * doc/Makefile: Add pdf target.
22095
22096 2008-03-05  Simon Josefsson  <simon@josefsson.org>
22097
22098         * modules/inline (License): Use 'unlimited', since there are only
22099         *.m4 files in this module.
22100
22101 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
22102             Bruno Haible  <bruno@clisp.org>
22103
22104         Add support for HP C 7.1 on OpenVMS 8.3.
22105         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
22106
22107 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
22108
22109         Update VMS specifics.
22110         * lib/getopt.c [VMS]: Remove include of unixlib.h.
22111
22112 2008-03-02  Jim Meyering  <meyering@redhat.com>
22113
22114         Remove the last dependency on the "free" module.
22115         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
22116         Reported by Bob Proulx.
22117
22118         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
22119
22120         Remove useless "if" tests before free.  Deprecate "free" module.
22121         * doc/posix-functions/free.texi: Mention that this
22122         module is no longer useful.
22123         * modules/free (Notice): Say this module is obsolete.
22124         * modules/readutmp (Depends-on): Remove free.
22125         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
22126         * lib/putenv.c (putenv): Likewise.
22127         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
22128         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
22129         * tests/test-c-strcasestr.c (main): Likewise.
22130         * tests/test-c-strstr.c (main): Likewise.
22131         * tests/test-mbscasestr1.c (main): Likewise.
22132         * tests/test-mbscasestr2.c (main): Likewise.
22133         * tests/test-mbsstr1.c (main): Likewise.
22134         * tests/test-mbsstr2.c (main): Likewise.
22135         * tests/test-memmem.c (main): Likewise.
22136         * tests/test-strcasestr.c (main): Likewise.
22137         * tests/test-striconv.c (main): Likewise.
22138         * tests/test-striconveh.c (main): Likewise.
22139         * tests/test-striconveha.c (main): Likewise.
22140         * tests/test-strstr.c (main): Likewise.
22141
22142         * build-aux/git-version-gen: Adjust a comment and the Usage string.
22143
22144         bootstrap: sync from coreutils again
22145         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
22146
22147 2008-03-01  Jim Meyering  <meyering@redhat.com>
22148
22149         bootstrap: sync from coreutils
22150         * build-aux/bootstrap (update_po_files): Copy a .po file into place
22151         also when the target doesn't exist.
22152
22153 2008-03-01  Eric Blake  <ebb9@byu.net>
22154
22155         Fix bugs in last patch.
22156         * lib/memchr2.c (memchr2): Fix typo.
22157         * tests/test-memchr2.c: Test previous bug, and don't use GNU
22158         extension.
22159         Reported by Bruce Korb.
22160
22161         New module 'memchr2'.
22162         * modules/memchr2: New file.
22163         * modules/memchr2-tests: Likewise.
22164         * lib/memchr2.h: Likewise.
22165         * lib/memchr2.c: Likewise, based on memchr.c.
22166         * tests/test-memchr2.c: New test.
22167         * MODULES.html.sh (String handling): Add memchr2.
22168
22169 2008-02-29  Bruno Haible  <bruno@clisp.org>
22170
22171         * modules/freadseek-tests: New file.
22172         * tests/test-freadseek.sh: New file.
22173         * tests/test-freadseek.c: New file.
22174
22175         New module 'freadseek'.
22176         * modules/freadseek: New file.
22177         * lib/freadseek.h: New file.
22178         * lib/freadseek.c: New file.
22179         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
22180
22181 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
22182
22183         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
22184         wydawca.
22185
22186         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
22187         program_invocation_name and program_invocation_short_name are
22188         present.
22189
22190 2008-02-28  Bruno Haible  <bruno@clisp.org>
22191
22192         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
22193         * tests/test-freadptr.sh: Also test non-seekable stdin.
22194
22195 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
22196
22197         * build-aux/bootstrap (source_base, m4_base)
22198         (doc_base, tests_base): New variables.
22199         (gnulib_tool_options): Do not hardcode base directories, use
22200         the above variables instead.
22201
22202 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
22203
22204         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
22205
22206 2008-02-28  Bruno Haible  <bruno@clisp.org>
22207
22208         * modules/freadptr-tests: New file.
22209         * tests/test-freadptr.sh: New file.
22210         * tests/test-freadptr.c: New file.
22211
22212         New module 'freadptr'.
22213         * modules/freadptr: New file.
22214         * lib/freadptr.h: New file.
22215         * lib/freadptr.c: New file.
22216         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
22217
22218 2008-02-26  Karl Berry  <karl@freefriends.org>
22219
22220         Sync from Libtool:
22221         * libltdl/argz.c (argz_add, argz_count): New functions.
22222         * libltdl/argz.in.h: Declare them.
22223         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
22224
22225 2008-02-22  Bruno Haible  <bruno@clisp.org>
22226
22227         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
22228         is a pointer type.  Needed for HP-UX 10.
22229         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
22230         * doc/posix-functions/gmtime_r.texi: Likewise.
22231         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
22232
22233 2008-02-24  Bruno Haible  <bruno@clisp.org>
22234
22235         * modules/environ-tests: New file.
22236         * tests/test-environ.c: New file.
22237
22238         New module 'environ'.
22239         * modules/environ: New file.
22240         * lib/unistd.in.h (environ): New declaration.
22241         * m4/environ.m4: New file.
22242         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
22243         after use.
22244         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
22245         HAVE_DECL_ENVIRON.
22246         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
22247         HAVE_DECL_ENVIRON.
22248         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
22249         wrong claim that 'environ' is missing on some systems.
22250         * modules/execute (Depends-on): Add environ.
22251         * lib/execute.c (environ): Remove fallback declaration.
22252         * modules/pipe (Depends-on): Add environ.
22253         * lib/pipe.c (environ): Remove fallback declaration.
22254         * modules/setenv (Depends-on): Add environ.
22255         * lib/setenv.c (environ): Remove fallback declaration.
22256         * modules/unsetenv (Depends-on): Add environ.
22257         * lib/unsetenv.c (environ): Remove fallback declaration.
22258         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
22259         m4/environ.m4.
22260         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
22261         (gl_PREREQ_UNSETENV): Likewise.
22262
22263 2008-02-24  Bruno Haible  <bruno@clisp.org>
22264
22265         * doc/posix-functions/environ.texi: Document the MacOS X problem.
22266
22267 2008-02-20  Bob Proulx  <bob@proulx.com>
22268
22269         Enable use of older two part flavor 'git describe'.
22270         * build-aux/git-version-gen: If using the older two part flavor of
22271         git version then recreate the third part now present in the
22272         newer three part flavor of git describe.
22273
22274 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
22275
22276         * lib/fts.c (fts_build): Typo correction to comment.
22277
22278 2008-02-17  Bruno Haible  <bruno@clisp.org>
22279
22280         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
22281         generating no-op conflicts.
22282
22283 2008-02-17  Bruno Haible  <bruno@clisp.org>
22284
22285         Speed up by 10%.
22286         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
22287         result_entries, rather than an index-based loop.
22288
22289 2008-02-17  Bruno Haible  <bruno@clisp.org>
22290
22291         Speed up by 25%.
22292         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
22293         'hashcode_cached'.
22294         (entry_create): New function.
22295         (entry_hashcode): Use the cached hashcode if possible.
22296         (read_changelog_file, try_split_merged_entry): Use entry_create.
22297
22298 2008-02-17  Bruno Haible  <bruno@clisp.org>
22299
22300         Speed up from O(n^2) to O(n) for long ChangeLog files.
22301         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
22302         (read_changelog_file): Change implementation of entries_reversed list
22303         to rbtreehash.
22304         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
22305
22306 2008-02-17  Bruno Haible  <bruno@clisp.org>
22307
22308         New option --split-merged-entry.
22309         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
22310         (find_paragraph_end, try_split_merged_entry): New functions.
22311         (long_options): Add option --split-merged-entry.
22312         (usage): Document option --split-merged-entry.
22313         (main): Implement option --split-merged-entry.
22314         Reported by Eric Blake.
22315
22316 2008-02-17  Bruno Haible  <bruno@clisp.org>
22317
22318         * lib/git-merge-changelog.c: Include c-strstr.h.
22319         (main): Support the "git pull --rebase" situation.
22320         * modules/git-merge-changelog (Depends-on): Add c-strstr.
22321         Reported by Eric Blake.
22322
22323 2008-02-16  Eric Blake  <ebb9@byu.net>
22324
22325         Avoid doubling \ in common case of "c-maybe" quoting style.
22326         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
22327         eliding outer quotes.
22328         * lib/quotearg.h: Document this.
22329         * tests/test-quotearg.c (result_strings, inputs, results_g)
22330         (flag_results, locale_results): Test it by adding a new string to
22331         each test group.
22332         (compare_strings): Test new string.
22333
22334 2008-02-13  Eric Blake  <ebb9@byu.net>
22335
22336         Avoid trigraph quoting in default output.
22337         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
22338         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
22339         unless explicitly requested.
22340         * tests/test-quotearg.c (flag_results, main): Add additional tests.
22341
22342 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
22343
22344         Don't rely on signed integer overflowing to negative value.
22345         * lib/getugroups.c (getugroups): Include <limits.h>.
22346         Instead, compare against INT_MAX, and increment only if the test passes.
22347
22348 2008-02-13  Jim Meyering  <meyering@redhat.com>
22349         and Eric Blake  <ebb9@byu.net>
22350
22351         Avoid shadowing warning and compile errors on Linux.
22352         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
22353         forwarding macros on Linux.
22354         (dcgettext): Define a stub, for Linux.
22355         (results_g, main): Avoid warnings.
22356
22357 2008-02-12  Eric Blake  <ebb9@byu.net>
22358
22359         Silence warning in last patch.
22360         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
22361
22362         Quotearg part 4: add tests, fix c-maybe colon quoting.
22363         * lib/quotearg.h: Improve documentation.
22364         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
22365         escapes when adding outer quotes.  When quoting trigraphs, use
22366         valid C notation.  When quoting NUL, omit extra characters if next
22367         character is not digit.  Alter prototype.
22368         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
22369         callers.
22370         * modules/quotearg-tests: New module.
22371         * tests/test-quotearg.c: New test.
22372
22373 2008-02-07  Eric Blake  <ebb9@byu.net>
22374
22375         Quotearg part 3: add flag to control outer quote elision.
22376         * lib/quotearg.h (c_maybe_quoting_style): New style.
22377         (enum quoting_flags): Better documentation of flags.
22378         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
22379         c-maybe style.
22380         (quotearg_buffer_restyled): Handle new flag to elide outer
22381         quotes.
22382
22383         Quotearg part 2: add flag that can control NUL elision.
22384         * lib/quotearg.h (set_quoting_flags): New prototype.
22385         * lib/quotearg.c (struct quoting_options): Add flag field.
22386         (set_quoting_flags): New function.
22387         (quotearg_buffer_restyled): Add flags parameter.
22388         (quotearg_alloc_mem): Set the flag if length cannot be returned.
22389         (quotearg_n_options): Set the flag, since length cannot be
22390         returned.
22391         (quoting_options_from_style): Default flags correctly.
22392
22393         Quotearg part 1: more wrappers, restore quotearg_char state.
22394         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
22395         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
22396         (quotearg_colon_mem): New wrappers.
22397         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
22398         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
22399         functions.
22400         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
22401         (quotearg_colon_mem): New functions.
22402
22403 2008-02-11  Bruno Haible  <bruno@clisp.org>
22404
22405         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
22406         library in the current directory: it does not work with parallel make.
22407         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
22408
22409 2008-02-11  Bruno Haible  <bruno@clisp.org>
22410
22411         * .gitattributes: New file.
22412
22413 2008-02-11  Jim Meyering  <meyering@redhat.com>
22414
22415         useless-if-before-free: Fix reversed exit values.
22416         * build-aux/useless-if-before-free: Use correct values
22417         for EXIT_MATCH and EXIT_NO_MATCH.
22418
22419         * build-aux/useless-if-before-free: Close stdout carefully.
22420
22421 2008-02-10  Bruno Haible  <bruno@clisp.org>
22422
22423         New module 'git-merge-changelog'.
22424         * modules/git-merge-changelog: New file.
22425         * lib/git-merge-changelog.c: New file.
22426
22427 2008-02-10  Jim Meyering  <meyering@redhat.com>
22428
22429         useless-if-before-free: New option: --list (-l).
22430
22431         useless-if-before-free: Don't exit immediately upon open failure.
22432         * build-aux/useless-if-before-free: Exit 2 for errors.
22433         Upon failure to open a file, don't exit immediately.
22434         Rather, just warn and continue with any remaining files.
22435
22436 2008-02-10  Bruno Haible  <bruno@clisp.org>
22437
22438         New abstract list operation 'node_set_value'.
22439         * lib/gl_list.h (gl_list_node_set_value): New function.
22440         (struct gl_list_implementation): New field node_set_value.
22441         * lib/gl_list.c (gl_list_node_set_value): New function.
22442         * lib/gl_array_list.c (gl_array_node_set_value): New function.
22443         (gl_array_list_implementation): Update.
22444         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
22445         (gl_carray_list_implementation): Update.
22446         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
22447         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
22448         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
22449         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
22450         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
22451         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
22452         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
22453         Update.
22454         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
22455         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
22456         (gl_sublist_list_implementation): Update.
22457
22458 2008-02-10  Bruno Haible  <bruno@clisp.org>
22459
22460         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
22461         Needed when ELEMENT is #defined to 'some_type *'.
22462
22463 2008-02-10  Jim Meyering  <meyering@redhat.com>
22464
22465         New script and module: useless-if-before-free
22466         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
22467         * build-aux/useless-if-before-free: New file.
22468         * modules/useless-if-before-free: New file.
22469
22470         * build-aux/gitlog-to-changelog: Use committer date, not author date.
22471
22472         xstrtol_error: Fix typo.
22473         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
22474         s/exit_failure/exit_status/.
22475
22476 2008-02-09  Jim Meyering  <meyering@redhat.com>
22477
22478         New script and module: gitlog-to-changelog
22479         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
22480         * modules/gitlog-to-changelog: New file.
22481         * build-aux/gitlog-to-changelog: New file.
22482
22483 2008-02-08  Jim Meyering  <meyering@redhat.com>
22484
22485         Avoid two "parameter unused" warnings.
22486         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
22487         Mark "st" as used.
22488
22489         Use "git COMMAND", not "git-COMMAND".
22490         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
22491         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
22492         * build-aux/git-version-gen: Use "git status", not "git-status".
22493
22494 2008-02-07  Bruno Haible  <bruno@clisp.org>
22495
22496         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
22497         Avoids a crash on Windows Vista.
22498         Reported by Adam Strzelecki <ono@java.pl> via
22499         Simon Josefsson <simon@josefsson.org>.
22500
22501 2008-02-06  Bruno Haible  <bruno@clisp.org>
22502
22503         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
22504         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
22505         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
22506         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
22507         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
22508         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
22509         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
22510         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
22511         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
22512         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
22513         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
22514         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
22515         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
22516         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
22517         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
22518         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
22519         left-adjust flag.
22520         * tests/test-snprintf-posix.h (test_function): Likewise.
22521         * tests/test-sprintf-posix.h (test_function): Likewise.
22522         * tests/test-vasprintf-posix.c (test_function): Likewise.
22523         * doc/posix-functions/fprintf.texi: Update.
22524         * doc/posix-functions/printf.texi: Update.
22525         * doc/posix-functions/snprintf.texi: Update.
22526         * doc/posix-functions/sprintf.texi: Update.
22527         * doc/posix-functions/vfprintf.texi: Update.
22528         * doc/posix-functions/vprintf.texi: Update.
22529         * doc/posix-functions/vsnprintf.texi: Update.
22530         * doc/posix-functions/vsprintf.texi: Update.
22531         Reported by Peter Fales <psfales@alcatel-lucent.com>.
22532
22533 2008-02-06  Bruno Haible  <bruno@clisp.org>
22534
22535         Fix bug introduced on 2008-01-26.
22536         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
22537
22538 2008-02-06  Bruno Haible  <bruno@clisp.org>
22539
22540         Fix bug introduced on 2007-06-10.
22541         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
22542         !NEED_PRINTF_FLAG_ZERO.
22543
22544 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
22545
22546         getloadavg: use libperfstat on AIX5
22547         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
22548
22549 2008-02-03  Bruno Haible  <bruno@clisp.org>
22550
22551         * lib/diffseq.h: Add comments about required #includes.
22552         Reported by Michael Biggs <gnulib@doubleplum.net>.
22553
22554 2008-02-01  Bruno Haible  <bruno@clisp.org>
22555
22556         * users.txt: Add gnuit.
22557
22558 2008-01-31  Bruno Haible  <bruno@clisp.org>
22559
22560         * lib/md4.c (set_uint32): Mark as inline.
22561         * lib/md5.c (set_uint32): Likewise.
22562         * lib/sha1.c (set_uint32): Likewise.
22563         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
22564         * m4/md5.m4 (gl_MD5): Likewise.
22565         * m4/sha1.m4 (gl_SHA1): Likewise.
22566
22567 2008-01-31  Jim Meyering  <meyering@redhat.com>
22568
22569         Use "sizeof VAR", rather than a literal "4".
22570         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
22571         * lib/md4.c (md4_read_ctx): Likewise.
22572         * lib/sha1.c (sha1_read_ctx): Likewise.
22573
22574 2008-01-31  Simon Josefsson  <simon@josefsson.org>
22575
22576         * tests/test-sha1.c: New file, based on test-md5.c.
22577
22578         * modules/crypto/sha1-tests: New file.
22579
22580 2008-01-31  Simon Josefsson  <simon@josefsson.org>
22581
22582         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
22583
22584 2008-01-31  Jim Meyering  <meyering@redhat.com>
22585
22586         Prefer "sizeof v" over the equivalent "4".
22587         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
22588         * lib/md5.c (set_uint32): Likewise.
22589         * lib/sha1.c (set_uint32): Likewise.
22590
22591 2008-01-31  Simon Josefsson  <simon@josefsson.org>
22592
22593         * lib/sha1.c (set_uint32): Mark function as static.
22594
22595 2008-01-31  Simon Josefsson  <simon@josefsson.org>
22596
22597         md2: clarify comments to say that alignment is not required.
22598         * lib/md2.h: Remove warning about alignment in comment.
22599         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
22600         never been required.
22601
22602 2008-01-31  Simon Josefsson  <simon@josefsson.org>
22603
22604         md4: adapt alignment constraint fix from sha1.
22605         * lib/md4.c (set_uint32): New function, from sha1.c
22606         (md4_read_ctx): Use it.
22607         (md4_finish_ctx): Doc fix.
22608         * lib/md4.h: Doc fix.
22609
22610 2008-01-31  Simon Josefsson  <simon@josefsson.org>
22611
22612         md5: adapt alignment constraint fix from sha1.
22613         * lib/md5.c (set_uint32): New function, from sha1.c
22614         (md5_read_ctx): Use it.
22615         (md5_finish_ctx): Doc fix.
22616         * lib/md5.h: Doc fix.
22617
22618 2008-01-30  Peter Palfrader  <weasel@debian.org>
22619
22620         sha1: remove the result buffer alignment constraint
22621         * lib/sha1.c (set_uint32): New function.
22622         (sha1_read_ctx): Rewrite to remove the result buffer alignment
22623         constraint.
22624         (sha1_finish_ctx): Remove comment warning about alignment constraint.
22625         * lib/sha1.h: Likewise.
22626
22627 2008-01-30  Andreas Schwab  <schwab@suse.de>
22628             Bruno Haible  <bruno@clisp.org>
22629
22630         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
22631         correct definition of LDBL_MIN_EXP.
22632
22633 2008-01-30  Karl Berry  <karl@gnu.org>
22634
22635         * config/srclist-update: try to preserve x bit on updates.
22636         * config/srclistvars.sh: update for karl.
22637
22638 2008-01-29  Jim Meyering  <meyering@redhat.com>
22639
22640         vasnprintf.c: Avoid warning about unused label
22641         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
22642         "overflow" label definition and associated code with the
22643         same cpp condition that guards the sole use of that label.
22644
22645 2008-01-26  Bruno Haible  <bruno@clisp.org>
22646
22647         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
22648         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
22649         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
22650         * lib/isnanl-nolibm.h (isnanl): Likewise.
22651         Reported by Paul Eggert <eggert@cs.ucla.edu>.
22652
22653 2008-01-26  Bruno Haible  <bruno@clisp.org>
22654
22655         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
22656         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
22657
22658 2008-01-26  Bruno Haible  <bruno@clisp.org>
22659
22660         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
22661         GCC >= 4.0 built-in.
22662         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
22663
22664 2008-01-26  Bruno Haible  <bruno@clisp.org>
22665
22666         Rename isnan, applicable to 'double' only, to isnand.
22667         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
22668         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
22669         (configure.ac): Update.
22670         (Include): Replace "isnan.h" with "isnand.h".
22671         * m4/isnand.m4: Renamed from m4/isnan.m4.
22672         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
22673         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
22674         instead of isnan.c.
22675         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
22676         instead of HAVE_ISNAN_IN_LIBC.
22677         (isnand): Renamed from isnan.
22678         * lib/isnand.c: New file.
22679         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
22680         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
22681         (Makefile.am): Update.
22682         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
22683         Include isnand.h instead of isnan.h.
22684         (main): Test isnand instead of isnan.
22685         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
22686         isnan-nolibm.
22687         * modules/frexp (Depends-on): Likewise.
22688         * modules/frexp-tests (Depends-on): Likewise.
22689         * modules/frexp-nolibm (Depends-on): Likewise.
22690         * modules/frexp-nolibm-tests (Depends-on): Likewise.
22691         * modules/isfinite (Depends-on): Likewise.
22692         * modules/round-tests (Depends-on): Likewise.
22693         * modules/signbit (Depends-on): Likewise.
22694         * modules/signbit-tests (Depends-on): Likewise.
22695         * modules/snprintf-posix (Depends-on): Likewise.
22696         * modules/sprintf-posix (Depends-on): Likewise.
22697         * modules/trunc-tests (Depends-on): Likewise.
22698         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
22699         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
22700         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
22701         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
22702         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
22703         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
22704         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
22705         * modules/vasnprintf-posix (Depends-on): Likewise.
22706         * modules/vasprintf-posix (Depends-on): Likewise.
22707         * modules/vfprintf-posix (Depends-on): Likewise.
22708         * modules/vsnprintf-posix (Depends-on): Likewise.
22709         * modules/vsprintf-posix (Depends-on): Likewise.
22710         * lib/frexp.c: Include isnand.h instead of isnan.h.
22711         (ISNAN): Set to isnand instead of isnan.
22712         * lib/isfinite.c: Include isnand.h instead of isnan.h.
22713         (gl_isfinited): Use isnand instead of isnan.
22714         * lib/signbitd.c: Include isnand.h instead of isnan.h.
22715         (gl_signbitd): Use isnand instead of isnan.
22716         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
22717         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
22718         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
22719         (main): Use isnand instead of isnan.
22720         * tests/test-round1.c: Include isnand.h.
22721         (main): Use isnand instead of isnan.
22722         * tests/test-round2.c: Include isnand.h instead of isnan.h.
22723         (ISNAN): Set to isnand instead of isnan.
22724         * tests/test-trunc1.c: Include isnand.h.
22725         (main): Use isnand instead of isnan.
22726         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
22727         (equal): Use isnand instead of isnan.
22728         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
22729         isnand-nolibm.
22730         * NEWS: Mention the change.
22731
22732 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
22733             Bruno Haible  <bruno@clisp.org>
22734
22735         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
22736         the GCC builtins for signbits are present and set
22737         REPLACE_SIGNBIT_USING_GCC if so.
22738         * lib/math.in.h (signbit): Define using GCC builtins if
22739         REPLACE_SIGNBIT_USING_GCC is set.
22740         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
22741         REPLACE_SIGNBIT_USING_GCC.
22742         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
22743
22744 2008-01-25  Jim Meyering  <meyering@redhat.com>
22745
22746         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
22747         * lib/poll.c: Include <config.h>, not "config.h".
22748         * tests/test-getaddrinfo.c: Likewise.
22749
22750 2008-01-25  Simon Josefsson  <simon@josefsson.org>
22751
22752         * modules/sockets-tests: New file.
22753
22754 2008-01-24  Simon Josefsson  <simon@josefsson.org>
22755
22756         * modules/sockets: New module, can be used to call WSA_Startup and
22757         WSA_Cleanup when needed.
22758
22759         * lib/sockets.h, lib/sockets.c: New files.
22760
22761         * m4/sockets.m4: New file.
22762
22763         * tests/test-sockets.c: New file.
22764
22765 2008-01-19  Bruno Haible  <bruno@clisp.org>
22766
22767         * doc/posix-headers: Renamed from doc/headers.
22768         * doc/posix-functions: Renamed from doc/functions.
22769         * doc/gnulib.texi: Update.
22770
22771 2008-01-19  Bruno Haible  <bruno@clisp.org>
22772
22773         * doc/glibc-functions/strcasestr.texi: Include contents of
22774         doc/functions/strcasestr.texi, fixing the list of platforms.
22775         * doc/functions/strcasestr.texi: Remove file.
22776
22777 2008-01-19  Bruno Haible  <bruno@clisp.org>
22778
22779         * doc/glibc-functions/memmem.texi: Include contents of
22780         doc/functions/memmem.texi.
22781         * doc/functions/memmem.texi: Remove file.
22782
22783 2008-01-18  Bruno Haible  <bruno@clisp.org>
22784
22785         * doc/glibc-functions/*.texi: New files.
22786         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
22787         to use the new files.
22788
22789 2008-01-17  Bruno Haible  <bruno@clisp.org>
22790
22791         * tests/test-gethostname.c (main): Fix printf statement.
22792
22793 2008-01-17  Simon Josefsson  <simon@josefsson.org>
22794
22795         * modules/gethostname-tests: New file.
22796
22797         * tests/test-gethostname.c: New file.
22798
22799 2008-01-17  Simon Josefsson  <simon@josefsson.org>
22800
22801         * lib/gethostname.c: Include string.h unconditionally, strncpy is
22802         used by the UNAME case.  Reported by Bruno Haible
22803         <bruno@clisp.org>.
22804
22805 2008-01-17  Eric Blake  <ebb9@byu.net>
22806
22807         Convert c-strcasestr to be more efficient.
22808         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
22809         (Depends-on): Add c-strcase, remove malloca, strnlen.
22810         * tests/test-c-strcasestr.c (main): Enhance test.
22811         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
22812
22813 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
22814
22815         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
22816         Use it in creating po/Makevars.
22817
22818 2008-01-15  Simon Josefsson  <simon@josefsson.org>
22819
22820         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
22821         Applications that requires it should initialize libgcrypt
22822         manually.
22823
22824 2008-01-16  Simon Josefsson  <simon@josefsson.org>
22825
22826         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
22827
22828 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
22829
22830         Fix problem with getdate on mingw32 reported by Simon Josefsson
22831         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
22832         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
22833         tzname", when deciding whether to declare tzname.
22834         * lib/strftime.c (tzname): Likewise.
22835
22836 2008-01-15  Bruno Haible  <bruno@clisp.org>
22837
22838         Work around a MacOS X 10.5 bug in frexpl().
22839         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
22840         * doc/functions/frexpl.texi: Document the bug.
22841         Reported by Elias Pipping <pipping@gentoo.org>.
22842
22843 2008-01-14  Eric Blake  <ebb9@byu.net>
22844
22845         Touch up previous patch.
22846         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
22847         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
22848
22849         Convert strcasestr module to use Two-Way algorithm.
22850         * modules/strcasestr-simple: New module, based on the old
22851         strcasestr, but with Two-Way rather than KMP.
22852         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
22853         * lib/string.in.h (rpl_strcasestr): Declare.
22854         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
22855         performance.
22856         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
22857         * modules/string (Makefile.am): Support strcasestr.
22858         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
22859         * modules/strcasestr-tests (Depends-on): Check for alarm.
22860         * tests/test-strcasestr.c: Augment test.
22861         * lib/str-two-way.h: Clean up stray macro.
22862         * NEWS: Document new module.
22863         * MODULES.html.sh (string handling): Likewise.
22864         * doc/functions/strcasestr.texi: New file.
22865         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
22866         here, since it is not a POSIX function.
22867
22868 2008-01-14  Colin Watson  <cjwatson@debian.org>
22869             Bruno Haible  <bruno@clisp.org>
22870
22871         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
22872         works fine; if not, set REPLACE_STRSIGNAL.
22873         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
22874         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
22875         REPLACE_STRSIGNAL.
22876         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
22877         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
22878         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
22879
22880 2008-01-14  Bruno Haible  <bruno@clisp.org>
22881
22882         * modules/strsignal (Include): Change to <string.h>.
22883
22884 2008-01-14  Colin Watson  <cjwatson@debian.org>
22885
22886         * modules/argp (Notice): Add a notice recommending to change
22887         XGETTEXT_OPTIONS.
22888         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
22889
22890 2008-01-13  Colin Watson  <cjwatson@debian.org>
22891
22892         * modules/strsignal-tests: New file.
22893         * tests/test-strsignal.c: New file.
22894
22895         * lib/strsignal.c: New file, from glibc with modifications.
22896         * lib/siglist.h: New file, from glibc with modifications.
22897         * lib/string.in.h (strsignal): New declaration.
22898         * m4/strsignal.m4: New file.
22899         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
22900         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
22901         * modules/strsignal: New file.
22902         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
22903         HAVE_DECL_STRSIGNAL.
22904
22905 2008-01-13  Bruno Haible  <bruno@clisp.org>
22906
22907         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
22908         locale encoding is not ASCII. Needed for OpenBSD 4.0.
22909         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
22910         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
22911
22912 2008-01-13  Bruno Haible  <bruno@clisp.org>
22913
22914         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
22915         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
22916         * lib/argp.h (__attribute__): Likewise.
22917         * lib/c-stack.c (__attribute__): Likewise.
22918         * lib/error.h (__attribute__): Likewise.
22919         * lib/fts.c (__attribute__): Likewise.
22920         * lib/openat.h (__attribute__): Likewise.
22921         * lib/stdio.in.h (__attribute__): Likewise.
22922         * lib/string.in.h (__attribute__): Likewise.
22923         * lib/utimens.c (__attribute__): Likewise.
22924         * lib/vasnprintf.h (__attribute__): Likewise.
22925         * lib/xalloc.h (__attribute__): Likewise.
22926         * lib/xprintf.h (__attribute__): Likewise.
22927         * lib/xstrtol.h (__attribute__): Likewise.
22928         * lib/xvasprintf.h (__attribute__): Likewise.
22929
22930 2008-01-12  Bruno Haible  <bruno@clisp.org>
22931
22932         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
22933         * doc/glibc-headers/a.out.texi: New file.
22934         * doc/glibc-headers/aliases.texi: New file.
22935         * doc/glibc-headers/alloca.texi: New file.
22936         * doc/glibc-headers/ar.texi: New file.
22937         * doc/glibc-headers/argp.texi: New file.
22938         * doc/glibc-headers/argz.texi: New file.
22939         * doc/glibc-headers/byteswap.texi: New file.
22940         * doc/glibc-headers/crypt.texi: New file.
22941         * doc/glibc-headers/endian.texi: New file.
22942         * doc/glibc-headers/envz.texi: New file.
22943         * doc/glibc-headers/err.texi: New file.
22944         * doc/glibc-headers/error.texi: New file.
22945         * doc/glibc-headers/execinfo.texi: New file.
22946         * doc/glibc-headers/fpu_control.texi: New file.
22947         * doc/glibc-headers/fstab.texi: New file.
22948         * doc/glibc-headers/fts.texi: New file.
22949         * doc/glibc-headers/getopt.texi: New file.
22950         * doc/glibc-headers/ieee754.texi: New file.
22951         * doc/glibc-headers/ifaddrs.texi: New file.
22952         * doc/glibc-headers/libintl.texi: New file.
22953         * doc/glibc-headers/mcheck.texi: New file.
22954         * doc/glibc-headers/mntent.texi: New file.
22955         * doc/glibc-headers/obstack.texi: New file.
22956         * doc/glibc-headers/paths.texi: New file.
22957         * doc/glibc-headers/printf.texi: New file.
22958         * doc/glibc-headers/pty.texi: New file.
22959         * doc/glibc-headers/resolv.texi: New file.
22960         * doc/glibc-headers/shadow.texi: New file.
22961         * doc/glibc-headers/sysexits.texi: New file.
22962         * doc/glibc-headers/ttyent.texi: New file.
22963
22964 2008-01-12  Jim Meyering  <meyering@redhat.com>
22965
22966         announce-gen: emit Gnulib's git-based version string.
22967         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
22968         New option --gnulib-version=V, where V is expected to be
22969         the output of running git describe in the gnulib directory.
22970         (get_tool_versions): Request feedback on xdelta.  I suspect it's
22971         not useful, and plan to stop publishing an xdelta file with each
22972         coreutils release.
22973
22974         * build-aux/announce-gen: Also check for lzma-compressed files.
22975
22976 2008-01-11  Bruno Haible  <bruno@clisp.org>
22977
22978         * tests/test-memmem.c (main): Increase maximum allowed time.
22979         * tests/test-strstr.c (main): Likewise.
22980
22981 2008-01-11  Bruno Haible  <bruno@clisp.org>
22982
22983         * doc/functions/memmem.texi: Add more precisions about platforms.
22984         * doc/functions/strstr.texi: Likewise.
22985
22986 2008-01-10  Eric Blake  <ebb9@byu.net>
22987
22988         * m4/strstr.m4: Delete cruft from copy-n-paste.
22989         Reported by Bruno Haible.
22990
22991 2008-01-10  Bruno Haible  <bruno@clisp.org>
22992
22993         Make c-strstr rely on strstr.
22994         * lib/c-strstr.c: Don't include str-kmp.h.
22995         (c_strstr): Define in terms of strstr.
22996         * modules/c-strstr (Files): Remove lib/str-kmp.h.
22997         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
22998
22999 2008-01-10  Bruno Haible  <bruno@clisp.org>
23000
23001         * doc/gnulib.texi (String Functions in C Locale): New section.
23002         * doc/c-ctype.texi: New file.
23003         * doc/c-strcase.texi: New file.
23004         * doc/c-strcaseeq.texi: New file.
23005         * doc/c-strcasestr.texi: New file.
23006         * doc/c-strstr.texi: New file.
23007         * doc/c-strtod.texi: New file.
23008         * doc/c-strtold.texi: New file.
23009
23010 2008-01-10  Eric Blake  <ebb9@byu.net>
23011
23012         * lib/relocatable.h: Fix a comment.
23013
23014 2008-01-10  Eric Blake  <ebb9@byu.net>
23015
23016         Share two-way algorithm.
23017         * lib/str-two-way.h: New file, merged from...
23018         * lib/memmem.c: ...here...
23019         * lib/strstr.c: ...and here.
23020         * modules/memmem (Files): Use it.
23021         * modules/strstr (Files): Likewise.
23022
23023         Avoid quadratic strstr implementations.
23024         * lib/strstr.c: New file.
23025         * m4/strstr.m4: Likewise.
23026         * modules/strstr: Likewise.
23027         * modules/strstr-tests: Likewise.
23028         * tests/test-strstr.c: Likewise.
23029         * lib/string.in.h (rpl_strstr): Declare.
23030         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
23031         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
23032         * modules/string (Makefile.am): Likewise.
23033         * MODULES.html.sh (string handling): Mention new module.
23034         * doc/functions/strstr.texi (strstr): Document the bug.
23035
23036 2008-01-10  Bruno Haible  <bruno@clisp.org>
23037
23038         * lib/relocatable.h (relocate): State whether result is freshly
23039         allocated or not.
23040         * lib/relocatable.c (relocate): Return a freshly allocated string
23041         instead of a pointer to a privately held string.
23042         Reported by Sylvain Beucler <beuc@gnu.org>.
23043
23044 2008-01-10  Colin Watson  <cjwatson@debian.org>
23045
23046         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
23047         s/S_ISNLK/S_ISLNK/.
23048
23049 2008-01-09  Bruno Haible  <bruno@clisp.org>
23050
23051         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
23052         and other files.
23053         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
23054         if it's only a guess.
23055         * modules/memmem: Simplify by depending on memmem-simple.
23056
23057 2008-01-09  Bruno Haible  <bruno@clisp.org>
23058
23059         Work around OpenBSD 4.0 tdelete() bug.
23060         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
23061         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
23062         macros and don't redefine the enum values.
23063         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
23064         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
23065         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
23066
23067 2008-01-09  Bruno Haible  <bruno@clisp.org>
23068
23069         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
23070         (main): Don't perform the tests if setlocale did not install a UTF-8
23071         locale. Needed on OpenBSD 4.0.
23072         * modules/wcwidth-tests (Depends-on): Add localcharset.
23073
23074 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
23075
23076         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
23077         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
23078         * NEWS: announce this.
23079         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
23080
23081 2008-01-09  Simon Josefsson  <simon@josefsson.org>
23082         and Eric Blake  <ebb9@byu.net>
23083
23084         Add memmem-simple module.
23085         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
23086         (gl_FUNC_MEMMEM): Separate performance from presence checks.
23087         * modules/memmem-simple: New file.
23088         * modules/memmem (Description): Tweak.
23089         * MODULES.html.sh (string handling): Mention new module.
23090         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
23091         addressed by memmem-simple.
23092         * NEWS: Document the difference.
23093
23094 2008-01-09  Eric Blake  <ebb9@byu.net>
23095
23096         Give gcc some memmem optimization hints.
23097         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
23098         (strcasestr): Declare as pure.
23099         * modules/memmem (Maintainer): Claim my implementation.
23100
23101 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23102
23103         Support AIX 6.1 and higher.
23104         * build-aux/config.libpath: Likewise.
23105         * build-aux/config.rpath: Likewise.
23106
23107 2008-01-08  Jim Meyering  <meyering@redhat.com>
23108             Bruno Haible  <bruno@clisp.org>
23109
23110         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
23111         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
23112         Reported by Peter Fales in
23113         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
23114
23115 2008-01-08  Bruno Haible  <bruno@clisp.org>
23116
23117         * modules/unictype/category-of (Depends-on): Add
23118         unictype/category-none.
23119         * modules/unictype/category-and-tests (Depends-on): Add
23120         unictype/category-{L,N,Lu,Nd}.
23121         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
23122         * modules/unictype/category-or-tests (Depends-on): Add
23123         unictype/category-{L,N}.
23124         * modules/unictype/category-name-tests (Depends-on): Add
23125         unictype/category-{Z,Nl}.
23126         Reported by Simon Josefsson.
23127
23128 2008-01-08  Bruno Haible  <bruno@clisp.org>
23129
23130         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
23131         convention better.
23132         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
23133         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
23134         Reported by Peter Miller <millerp@canb.auug.org.au>.
23135
23136 2008-01-08  Eric Blake  <ebb9@byu.net>
23137
23138         Rewrite memmem to guarantee linear complexity without malloc.
23139         * lib/memmem.c (memmem): Use Two-Way rather than
23140         Knuth-Morris-Pratt, to allow O(1) space usage.
23141         (critical_factorization, two_way_short_needle)
23142         (two_way_long_needle): New functions.
23143         (knuth_morris_pratt): Delete.
23144         * modules/memmem (Depends-on): No longer need malloca or stdbool.
23145         Add stdint.
23146         * tests/test-memmem.c (main): Add tests for periodic needle and
23147         sublinear performance.
23148         * doc/functions/memmem.texi (memmem): Document other deficiencies
23149         in cygwin and older glibc.
23150
23151 2008-01-08  Bruno Haible  <bruno@clisp.org>
23152
23153         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
23154         augmentation.
23155
23156 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
23157
23158         Add a configure time option: --disable-acl.
23159         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
23160         AC_ARG_ENABLE(acl).
23161
23162 2008-01-06  Simon Josefsson  <simon@josefsson.org>
23163
23164         * tests/test-localename.c: Don't include obsolete "setenv.h".
23165
23166         * modules/localename-tests (Depends-on): Need unsetenv.
23167
23168 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23169
23170         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
23171
23172 2008-01-06  Colin Watson  <cjwatson@debian.org>
23173
23174         * users.txt: Add man-db.
23175
23176 2008-01-07  Bruno Haible  <bruno@clisp.org>
23177
23178         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
23179         previous section name.
23180
23181 2008-01-07  Bruno Haible  <bruno@clisp.org>
23182
23183         * lib/progname.c (set_program_name): Don't strip off a leading
23184         "lt-" prefix outside a .libs directory.
23185         Suggested by Paul Eggert.
23186
23187 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
23188             Bruno Haible  <bruno@clisp.org>
23189
23190         Improve memory cleanup in 'relocatable' module.
23191         * lib/relocatable.h (compute_curr_prefix): Change return type to
23192         'char *'.
23193         * lib/relocatable.c (compute_curr_prefix): Change return type to
23194         'char *'. Free curr_installdir after use.
23195         (relocate): Free curr_prefix_better after use.
23196         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
23197
23198 2008-01-01  Bruno Haible  <bruno@clisp.org>
23199
23200         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
23201         failure on older glibc systems.
23202         Reported by Peter Fales <psfales@alcatel-lucent.com>.
23203
23204 2008-01-05  Eric Blake  <ebb9@byu.net>
23205
23206         Avoid quadratic system memmem.
23207         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
23208         Reported by Ralf Wildenhues.
23209
23210         Fix memmem test for mingw.
23211         * modules/memmem-tests (configure.ac): Check for alarm.
23212         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
23213         it.
23214         * doc/functions/memmem.texi: New file.
23215         * doc/gnulib.texi (Function Substitutes): Add memmem.
23216         Reported by Bruno Haible.
23217
23218 2008-01-04  Bruno Haible  <bruno@clisp.org>
23219
23220         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
23221         Require gl_HEADER_STRINGS_H_DEFAULTS, not
23222         gl_HEADER_STRING_H_DEFAULTS.
23223
23224 2008-01-04  Eric Blake  <ebb9@byu.net>
23225
23226         Shorten duration of memmem test.
23227         * tests/test-memmem.c (main): Use alarm to declare failure if test
23228         is taking too long.
23229         Reported by Ralf Wildenhues.
23230
23231 2007-12-21  Simon Josefsson  <simon@josefsson.org>
23232
23233         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
23234         string, needed by strerror.
23235
23236 2008-01-03  Colin Watson  <cjwatson@debian.org>
23237             Bruno Haible  <bruno@clisp.org>
23238
23239         * doc/gnulib-tool.texi (Localization): New section.
23240
23241 2008-01-02  Bruno Haible  <bruno@clisp.org>
23242
23243         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
23244         variables to 'unsigned char *' type.
23245         Reported by Paul Eggert.
23246
23247 2008-01-02  Jim Meyering  <jim@meyering.net>
23248
23249         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
23250
23251 2007-12-31  Jim Meyering  <jim@meyering.net>
23252
23253         Avoid use of private FTS type name.
23254         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
23255
23256 2007-12-30  Karl Berry  <karl@gnu.org>
23257
23258         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
23259         work around defect in Texinfo and/or the standalone Info browser.
23260
23261 2007-12-30  Bruno Haible  <bruno@clisp.org>
23262
23263         Unify 5 copies of the KMP code.
23264         * lib/str-kmp.h: New file.
23265         * lib/c-strcasestr.c: Include str-kmp.h.
23266         (knuth_morris_pratt): Remove function.
23267         (c_strcasestr): Update.
23268         * lib/c-strstr.c: Include str-kmp.h.
23269         (knuth_morris_pratt): Remove function.
23270         (c_strcasestr): Update.
23271         * lib/mbscasestr.c: Include str-kmp.h.
23272         (knuth_morris_pratt_unibyte): Remove function.
23273         * lib/mbsstr.c: Include str-kmp.h.
23274         (knuth_morris_pratt_unibyte): Remove function.
23275         * lib/strcasestr.c: Include str-kmp.h.
23276         (knuth_morris_pratt): Remove function.
23277         (strcasestr): Update.
23278         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
23279         * modules/c-strstr (Files): Likewise.
23280         * modules/mbscasestr (Files): Likewise.
23281         * modules/mbsstr (Files): Likewise.
23282         * modules/strcasestr (Files): Likewise.
23283         Suggested by Paul Eggert.
23284
23285 2007-12-30  Bruno Haible  <bruno@clisp.org>
23286
23287         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
23288         defined.
23289
23290 2007-12-30  Bruno Haible  <bruno@clisp.org>
23291
23292         * lib/xmalloca.h: Include xalloc.h.
23293         (xnmalloca): New macro.
23294
23295 2007-12-30  Bruno Haible  <bruno@clisp.org>
23296
23297         * lib/malloca.h (nmalloca): New macro.
23298         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
23299         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
23300         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
23301         knuth_morris_pratt_multibyte): Likewise.
23302         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
23303         knuth_morris_pratt_multibyte): Likewise.
23304         * lib/memmem.c (knuth_morris_pratt): Likewise.
23305         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
23306
23307 2007-12-25  Bruno Haible  <bruno@clisp.org>
23308
23309         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
23310         * lib/glob.c: Don't include openat.h.
23311         (link_exists2_p): Add back the code that deals with the
23312         !GLOB_ALTDIRFUNC case.
23313         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
23314         let it do the filename concatenation.
23315         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
23316         * modules/glob (Depends-on): Remove openat.
23317
23318 2007-12-31  Bruno Haible  <bruno@clisp.org>
23319
23320         * modules/dirfd (License): Change to LGPLv2+.
23321         Approved by Jim Meyering.
23322
23323 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
23324
23325         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
23326         when multiplying M by sizeof (size_t).
23327
23328 2007-12-10  Martin Lambers  <marlam@marlam.de>
23329
23330         Override getpagesize on mingw.
23331         * lib/getpagesize.c: New file.
23332         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
23333         * modules/getpagesize (Files): Add lib/getpagesize.c.
23334         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
23335         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
23336         REPLACE_GETPAGESIZE.
23337         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
23338
23339 2007-12-25  Bruno Haible  <bruno@clisp.org>
23340
23341         * modules/localcharset (Notice): New field.
23342         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
23343         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
23344
23345 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
23346             Bruno Haible  <bruno@clisp.org>
23347
23348         Avoid using the syntax symbol() in formatted documentation.
23349         * MODULES.html.sh (func_module): When replacing symbol() with a
23350         hyperlink, remove the parentheses. Show an error if some remain.
23351         Recognize and render the '...' syntax.
23352         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
23353         Rework. Add paragraph about GCC's inlining.
23354         * doc/alloca.texi: Likewise.
23355         * doc/error.texi: Remove parentheses from symbol reference.
23356         * doc/gnulib-intro.texi: Likewise.
23357         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
23358         * modules/fnmatch (Description): Reword to say "the ... function".
23359         * modules/full-read (Description): Likewise.
23360         * modules/full-write (Description): Likewise.
23361         * modules/safe-read (Description): Likewise.
23362         * modules/safe-write (Description): Likewise.
23363         * modules/strchrnul (Description): Likewise.
23364         * modules/trim (Description): Likewise.
23365         * modules/error (Description): Remove parentheses from symbol
23366         references.
23367         * modules/verror (Description): Likewise.
23368         Reported by Karl Berry.
23369
23370 2007-12-25  Bruno Haible  <bruno@clisp.org>
23371
23372         Fixup after 2007-10-16 commit.
23373         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
23374
23375 2007-12-24  Bruno Haible  <bruno@clisp.org>
23376
23377         Make --enable-relocatable work with DESTDIR.
23378         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
23379         to compute installdir from destprog.
23380         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
23381         also set the RELOC_DESTDIR variable.
23382         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
23383
23384 2007-12-24  Bruno Haible  <bruno@clisp.org>
23385
23386         Fix link error due to xalloc_die().
23387         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
23388         of xreadlink.
23389         * lib/relocwrapper.c: Update comments.
23390         * build-aux/install-reloc: Remove xreadlink.c from file list.
23391         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
23392         xreadlink.c.
23393         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
23394
23395 2007-12-24  Bruno Haible  <bruno@clisp.org>
23396
23397         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
23398         * lib/setenv.h: Remove file.
23399         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
23400         lib/setenv.h.
23401         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
23402         (Depends-on): Add stdlib.
23403         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
23404         gl_FUNC_UNSETENV.
23405         (Include): Replace setenv.h with <stdlib.h>.
23406         * modules/unsetenv: New file.
23407         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
23408         * lib/unsetenv.c: Include <stdlib.h> first.
23409         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
23410         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
23411         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
23412         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
23413         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
23414         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
23415         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
23416         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
23417         * doc/functions/unsetenv.texi: Update.
23418         * modules/xsetenv (Depends-on): Add unsetenv.
23419         * modules/getdate (Depends-on): Likewise.
23420         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
23421         * lib/xsetenv.c: Don't include setenv.h.
23422         * lib/getdate.y: Likewise.
23423         * lib/relocwrapper.c: Likewise.
23424         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
23425         (Depends-on): Add stdlib.
23426         * NEWS: Mention the changes.
23427         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
23428
23429 2007-12-23  Bruno Haible  <bruno@clisp.org>
23430
23431         * lib/memmem.c (memmem): Use lowercase variable names. Tab
23432         indentation.
23433
23434 2007-12-23  Bruno Haible  <bruno@clisp.org>
23435
23436         * lib/c-strcasestr.c: Add more comments.
23437         * lib/c-strstr.c: Likewise.
23438         * lib/mbscasestr.c: Likewise.
23439         * lib/mbsstr.c: Likewise.
23440         * lib/strcasestr.c: Likewise.
23441         * lib/memmem.c: Likewise.
23442
23443 2007-12-23  Bruno Haible  <bruno@clisp.org>
23444
23445         * tests/test-memmem.c: Include <string.h> first.
23446
23447 2007-12-22  Bruno Haible  <bruno@clisp.org>
23448
23449         * gnulib-tool (func_create_testdir): Change $auxdir while generating
23450         the contents of $testsbase.
23451         Reported by Ralf Wildenhues.
23452
23453 2007-12-22  Bruno Haible  <bruno@clisp.org>
23454
23455         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
23456         two variables local_ldadd_before, local_ldadd_last.
23457
23458 2007-12-20  Eric Blake  <ebb9@byu.net>
23459
23460         Work around circular library issue when cross-compiling.
23461         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
23462         that progname.o does not need to pull in rpl_memcmp.
23463
23464 2007-12-19  Eric Blake  <ebb9@byu.net>
23465
23466         Fix memmem to avoid O(n^2) worst-case complexity.
23467         * lib/memmem.c (knuth_morris_pratt): New function.
23468         (memmem): Use it if first few naive iterations fail.
23469         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
23470         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
23471         * modules/memchr (License): Likewise.
23472         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
23473         malloca.
23474         * tests/test-memmem.c: Rewrite, borrowing ideas from
23475         test-mbsstr1.c; the old version wouldn't even compile!
23476         * modules/memmem-tests: New file.
23477         * lib/string.in.h (rpl_memmem): Add declaration.
23478         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
23479         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
23480         REPLACE_MEMMEM.
23481
23482 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
23483
23484         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
23485         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
23486         before any system include files, and undef after them all.  This
23487         should fix a problem on VMS reported by John E. Malmberg in
23488         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
23489
23490 2007-12-17  Eric Blake  <ebb9@byu.net>
23491
23492         Revert addition of verify, for BSD/OS.
23493         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
23494         can't handle large files, for the sake of obsolete platforms.
23495         * modules/fseeko (Depends-on): Remove verify.
23496         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
23497         * doc/functions/ftello.texi (ftello): Likewise.
23498         * doc/functions/fgetpos.texi (fgetpos): Likewise.
23499         Reported by Larry Jones.
23500
23501 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
23502
23503         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
23504         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
23505
23506 2007-12-17  Jim Meyering  <meyering@redhat.com>
23507
23508         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
23509         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
23510         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
23511         * modules/getcwd (Depends-on): Add openat.
23512         Reported by Petr Salinger.
23513
23514 2007-12-17  Bruno Haible  <bruno@clisp.org>
23515
23516         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
23517         avoid a segmentation fault of the configure test on x86_64 systems.
23518
23519 2007-12-15  Jim Meyering  <meyering@redhat.com>
23520
23521         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
23522
23523 2007-12-13  Eric Blake  <ebb9@byu.net>
23524
23525         Another fseek test.
23526         * tests/test-fseek.c (main): Also test ungetc handling.
23527         * tests/test-fseeko.c (main): Likewise.
23528         * modules/fseeko (Depends-on): Add verify.
23529         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
23530         large.
23531         Reported by Larry Jones.
23532
23533         Fix fseeko on mingw.
23534         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
23535         seek.
23536
23537         Beef up fseek tests.
23538         * tests/test-fseek.c (main): Also test eof handling.
23539         * tests/test-fseeko.c (main): Likewise.
23540         Reported by Larry Jones.
23541
23542 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
23543
23544         Fix fseeko on BSD-based platforms.
23545         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
23546         successful seek.
23547
23548 2007-12-12  Eric Blake  <ebb9@byu.net>
23549
23550         Allow circular dependency of separate libtests.a
23551         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
23552         when use_libtests.
23553
23554 2007-12-11  Eric Blake  <ebb9@byu.net>
23555
23556         Fix bug with -0.0L in previous patch.
23557         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
23558         * tests/test-isnan.c (main): Also test on zeroes.
23559         * tests/test-isnanf.c (main): Likewise.
23560         * tests/test-isnanl.h (main): Likewise.
23561
23562         Detect pseudo-denormals on x86 even when cross-compiling.
23563         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
23564         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
23565         invalid bit patterns that happen to satisfy ==.
23566
23567         Avoid link failures with separate libtests.a.
23568         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
23569         last, to satisfy circular dependencies.
23570
23571 2007-12-11  Eric Blake  <ebb9@byu.net>
23572         and Bruno Haible  <bruno@clisp.org>
23573
23574         Fix OpenBSD 4.0 <float.h> handling of long double.
23575         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
23576         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
23577         * doc/headers/float.texi (float.h): Document OpenBSD bug.
23578
23579 2007-12-11  Jim Meyering  <meyering@redhat.com>
23580
23581         * users.txt: Add libvirt.
23582
23583         Support versions of autoconf prior to 2.59c.
23584         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
23585         if it is not already defined.
23586
23587 2007-12-09  Bruno Haible  <bruno@clisp.org>
23588
23589         Let 'gnulib-tool --import' collect sources needed for the tests in
23590         tests/ rather than in lib/.
23591         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
23592         argument. If true, add rules to generate libtests.a, and put libtests.a
23593         into $(LDADD). Consider source files in subdirectories and set
23594         uses_subdirs.
23595         (func_emit_initmacro_start, func_emit_initmacro_end,
23596         func_emit_initmacro_done): Pass all arguments explicitly.
23597         (func_import): Determine two module lists main_modules,
23598         testsrelated_modules. Determine use_libtests. Determine two variables
23599         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
23600         instead of just sed_transform_lib_file. Determine two variables
23601         main_files and testsrelated_files. Compute 'files' as the union of
23602         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
23603         func_add_or_update. In the generated gnulib-comp.m4, collect the
23604         object files for tests/ in different variables than those for lib/.
23605         Substitute LIBTESTS_LIBDEPS.
23606         (func_create_testdir): Combine the uses_subdirs results from
23607         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
23608
23609 2007-12-09  Bruno Haible  <bruno@clisp.org>
23610
23611         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
23612         the build-aux directory.
23613
23614 2007-12-09  Bruno Haible  <bruno@clisp.org>
23615
23616         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
23617         introduced on 2006-09-09.
23618
23619 2007-12-07  Jim Meyering  <meyering@redhat.com>
23620
23621         Let these macros work also with autoconf-2.59.
23622         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
23623         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
23624         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
23625
23626 2007-12-06  Jim Meyering  <meyering@redhat.com>
23627
23628         Avoid a configure-time syntax error in gl_FUNC_ACL.
23629         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
23630         function in each branch, before testing the cache variable.
23631
23632 2007-12-04  Eric Blake  <ebb9@byu.net>
23633
23634         Make scripts executable.
23635         * build-aux/config.guess: Add execute permissions.
23636         * build-aux/config.sub: Likewise.
23637         * build-aux/gendocs.sh: Likewise.
23638
23639         Fix frexp on mingw.
23640         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
23641         cross-compiling.
23642         * doc/functions/frexp.texi (frexp): Document the bug.
23643
23644         Make cygwin fseeko check more reliable.
23645         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
23646         version numbers, rather than unrelated feature check.
23647         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
23648         * doc/functions/ftello.texi (ftello): Likewise.
23649         Reported by Bruno Haible.
23650
23651         * m4/strerror.m4: Bump version number.
23652
23653 2007-12-03  Bruno Haible  <bruno@clisp.org>
23654
23655         * doc/functions/mprotect.texi: Mention the mingw problem.
23656
23657 2007-12-03  Eric Blake  <ebb9@byu.net>
23658
23659         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
23660         REPLACE_STRERROR is initialized before this macro.
23661
23662 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
23663
23664         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
23665         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
23666         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
23667         put -lsec in even for programs other than 'ls'.  This fixes a problem
23668         for gettext reported by Bruno Haible in
23669         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
23670         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
23671         Add support for Solaris 10.  This isn't efficient, but should get the
23672         job done for now.
23673
23674 2007-12-03  James Youngman  <jay@gnu.org>
23675
23676         * doc/regexprops-generic.texi: change "an close-group" to "a
23677         close-group" and "illegal" to "not allowed".
23678
23679 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23680
23681         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
23682         pr_byname.h. Needed for the rare case when the maintainer has done
23683         "make maintainer-clean" in the source directory and then attempts a
23684         build outside the source directory.
23685         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
23686         scripts_byname.h.
23687
23688 2007-12-02  Martin Lambers <marlam@marlam.de>
23689             Bruno Haible  <bruno@clisp.org>
23690
23691         * lib/getpagesize.h: Remove file.
23692         * lib/unistd.in.h: Include declaration of getpagesize here.
23693         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
23694         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
23695         HAVE_SYS_PARAM_H.
23696         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
23697         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
23698         * modules/getpagesize (Files): Remove lib/getpagesize.h.
23699         (Depends-on): Add unistd.
23700         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
23701         (Include): Use <unistd.h> instead of getpagesize.h.
23702         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
23703         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
23704         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
23705         gl_GETPAGESIZE invocation, already handled by module dependency.
23706         * lib/pagealign_alloc.c: Don't include getpagesize.h.
23707
23708 2007-12-02  Bruno Haible  <bruno@clisp.org>
23709
23710         * modules/strings-tests: New file.
23711         * tests/test-strings.c: New file.
23712
23713         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
23714         * lib/strings.in.h: New file.
23715         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
23716         * m4/strings_h.m4: New file.
23717         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
23718         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
23719         * modules/strings: New file.
23720         * modules/string (Makefile.am): Update.
23721         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
23722         Reported by Karl Berry.
23723
23724 2007-12-01  Eric Blake  <ebb9@byu.net>
23725
23726         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
23727         accomodate fix in cygwin 1.5.25.
23728
23729 2007-12-01  Jim Meyering  <meyering@redhat.com>
23730
23731         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
23732         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
23733         that would inhibit utf8-optimization of a regexp containing line-
23734         or buffer-anchors, e.g., `^', `$'.
23735
23736 2007-11-30  Bruno Haible  <bruno@clisp.org>
23737
23738         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
23739         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
23740         glthread_recursive_lock_init.
23741         * lib/lock.c (glthread_recursive_lock_init)
23742         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
23743         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
23744
23745 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
23746
23747         New function qset_acl, like set_acl but with syscall semantics.
23748         * lib/acl.h (qset_acl): New decl.
23749         * lib/acl.c (qset_acl): New function.
23750         (set_acl): Use new function.  Use more-consistent diagnostics.
23751
23752 2007-11-28  Jim Meyering  <meyering@redhat.com>
23753
23754         * modules/physmem (License): Change from GPL to LGPLv2+.
23755
23756 2007-11-26  Bruno Haible  <bruno@clisp.org>
23757
23758         * lib/vasnprintf.c (decode_long_double): Don't abort if the
23759         'long double' type has excess precision.
23760         Reported by Jim Meyering in
23761         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
23762
23763 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23764
23765         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
23766         Sync from <http://gnu.org/licenses>.
23767         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
23768         with license text from same location.
23769         * doc/maintain.texi, doc/standards.texi:  Sync from
23770         <http://savannah.gnu.org/projects/gnustandards>.
23771
23772 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
23773         and Jim Meyering  <meyering@redhat.com>
23774
23775         Adjust getdate' grammar to accept a slightly more regular language.
23776         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
23777         Before, the former was rejected.
23778         * lib/getdate.y (digits_to_date_time): New function, factored
23779         out of ...
23780         (number): ...here.  Just call digits_to_date_time.
23781         (hybrid): New non-terminal to handle an <unsigned number,
23782         signed relative offset> sequence consistently.
23783
23784 2007-11-18  Jim Meyering  <meyering@redhat.com>
23785
23786         Pull my changes from coreutils:
23787         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
23788         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
23789         use of $gnulib_tool_option_extras, so that it's separated from the
23790         preceding argument.
23791
23792         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
23793         * build-aux/bootstrap (cp_mark_as_generated): Create any required
23794         parent destination directories before copying a file into place.
23795
23796 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
23797
23798         bootstrap: work also with 4-argument variant of AC_INIT
23799         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
23800
23801 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
23802
23803         Port test-getaddrinfo to Solaris.
23804         Problem reported by Bruno Haible in
23805         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
23806         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
23807         explanation of setting 'hints'.
23808         Don't reject an implementation merely because it returns EAI_SERVICE.
23809         (EAI_SERVICE): Define to 0 if not defined.
23810
23811 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
23812
23813         The license of gnu-make and posix-shell is now "GPLed build tool".
23814         * modules/gnu-make (License): Likewise.
23815         * modules/posix-shell (License): Likewise.
23816
23817         New module posix-shell, for determining a POSIX shell
23818         or perhaps something that is close enough to a POSIX shell.
23819         * m4/posix-shell.m4: New file.
23820         * modules/posix-shell: New file.
23821
23822         * MODULES.html.sh: Mention new module.
23823
23824         New module gnu-make, for determining whether we're using GNU Make.
23825         * m4/gnu-make.m4: New file.
23826         * modules/gnu-make: New file.
23827         * MODULES.html.sh: Mention new module.
23828
23829 2007-11-14  Jim Meyering  <meyering@redhat.com>
23830
23831         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
23832         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
23833         use this macro to create a function _definition_.
23834         Remove useless "#undef ARGMATCH_DIE".
23835
23836 2007-11-14  Bruno Haible  <bruno@clisp.org>
23837
23838         * lib/config.charset: Update for OpenBSD 4.1.
23839         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
23840
23841 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
23842
23843         Document 64-bit #if problems in stdint.texi.
23844         * doc/headers/stdint.texi (stdint.h): Mention problems with
23845         64-bit-#if, and how to work around them.
23846
23847         Don't insist on 'long long int' support in the preprocessor.  It
23848         breaks too many things.  For example, PRIdMAX still uses a 'long
23849         long int' format with the latest Sun compiler, even though
23850         HAVE_LONG_LONG_INT isn't defined due to that compiler's
23851         preprocessor problem.  This causes the latest coreutils to dump
23852         core on Solaris 10 sparc with the Sun C compiler.
23853         Instead, fix the 2007-10-16 problem in a different way, by evaluating
23854         the troublesome expressions at configure-time, not at #if-time.
23855         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
23856         preprocessor.
23857         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
23858         compile-time C checks, done at 'configure'-time.
23859         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
23860         * modules/inttypes (Makefile): Substitute the new symbols that
23861         gl_INTTYPES_H now generates.
23862         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
23863
23864 2007-11-12  Bruno Haible  <bruno@clisp.org>
23865
23866         Tests for Unicode character classification functions.
23867
23868         * modules/unictype/bidicategory-byname-tests: New file.
23869         * modules/unictype/bidicategory-name-tests: New file.
23870         * modules/unictype/bidicategory-of-tests: New file.
23871         * modules/unictype/bidicategory-test-tests: New file.
23872         * modules/unictype/block-list-tests: New file.
23873         * modules/unictype/block-of-tests: New file.
23874         * modules/unictype/block-test-tests: New file.
23875         * modules/unictype/category-C-tests: New file.
23876         * modules/unictype/category-Cc-tests: New file.
23877         * modules/unictype/category-Cf-tests: New file.
23878         * modules/unictype/category-Cn-tests: New file.
23879         * modules/unictype/category-Co-tests: New file.
23880         * modules/unictype/category-Cs-tests: New file.
23881         * modules/unictype/category-L-tests: New file.
23882         * modules/unictype/category-Ll-tests: New file.
23883         * modules/unictype/category-Lm-tests: New file.
23884         * modules/unictype/category-Lo-tests: New file.
23885         * modules/unictype/category-Lt-tests: New file.
23886         * modules/unictype/category-Lu-tests: New file.
23887         * modules/unictype/category-M-tests: New file.
23888         * modules/unictype/category-Mc-tests: New file.
23889         * modules/unictype/category-Me-tests: New file.
23890         * modules/unictype/category-Mn-tests: New file.
23891         * modules/unictype/category-N-tests: New file.
23892         * modules/unictype/category-Nd-tests: New file.
23893         * modules/unictype/category-Nl-tests: New file.
23894         * modules/unictype/category-No-tests: New file.
23895         * modules/unictype/category-P-tests: New file.
23896         * modules/unictype/category-Pc-tests: New file.
23897         * modules/unictype/category-Pd-tests: New file.
23898         * modules/unictype/category-Pe-tests: New file.
23899         * modules/unictype/category-Pf-tests: New file.
23900         * modules/unictype/category-Pi-tests: New file.
23901         * modules/unictype/category-Po-tests: New file.
23902         * modules/unictype/category-Ps-tests: New file.
23903         * modules/unictype/category-S-tests: New file.
23904         * modules/unictype/category-Sc-tests: New file.
23905         * modules/unictype/category-Sk-tests: New file.
23906         * modules/unictype/category-Sm-tests: New file.
23907         * modules/unictype/category-So-tests: New file.
23908         * modules/unictype/category-Z-tests: New file.
23909         * modules/unictype/category-Zl-tests: New file.
23910         * modules/unictype/category-Zp-tests: New file.
23911         * modules/unictype/category-Zs-tests: New file.
23912         * modules/unictype/category-and-not-tests: New file.
23913         * modules/unictype/category-and-tests: New file.
23914         * modules/unictype/category-byname-tests: New file.
23915         * modules/unictype/category-name-tests: New file.
23916         * modules/unictype/category-none-tests: New file.
23917         * modules/unictype/category-of-tests: New file.
23918         * modules/unictype/category-or-tests: New file.
23919         * modules/unictype/category-test-withtable-tests: New file.
23920         * modules/unictype/combining-class-tests: New file.
23921         * modules/unictype/ctype-alnum-tests: New file.
23922         * modules/unictype/ctype-alpha-tests: New file.
23923         * modules/unictype/ctype-blank-tests: New file.
23924         * modules/unictype/ctype-cntrl-tests: New file.
23925         * modules/unictype/ctype-digit-tests: New file.
23926         * modules/unictype/ctype-graph-tests: New file.
23927         * modules/unictype/ctype-lower-tests: New file.
23928         * modules/unictype/ctype-print-tests: New file.
23929         * modules/unictype/ctype-punct-tests: New file.
23930         * modules/unictype/ctype-space-tests: New file.
23931         * modules/unictype/ctype-upper-tests: New file.
23932         * modules/unictype/ctype-xdigit-tests: New file.
23933         * modules/unictype/decimal-digit-tests: New file.
23934         * modules/unictype/digit-tests: New file.
23935         * modules/unictype/mirror-tests: New file.
23936         * modules/unictype/numeric-tests: New file.
23937         * modules/unictype/property-alphabetic-tests: New file.
23938         * modules/unictype/property-ascii-hex-digit-tests: New file.
23939         * modules/unictype/property-bidi-arabic-digit-tests: New file.
23940         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
23941         * modules/unictype/property-bidi-block-separator-tests: New file.
23942         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
23943         * modules/unictype/property-bidi-common-separator-tests: New file.
23944         * modules/unictype/property-bidi-control-tests: New file.
23945         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
23946         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
23947         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
23948         * modules/unictype/property-bidi-european-digit-tests: New file.
23949         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
23950         * modules/unictype/property-bidi-left-to-right-tests: New file.
23951         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
23952         * modules/unictype/property-bidi-other-neutral-tests: New file.
23953         * modules/unictype/property-bidi-pdf-tests: New file.
23954         * modules/unictype/property-bidi-segment-separator-tests: New file.
23955         * modules/unictype/property-bidi-whitespace-tests: New file.
23956         * modules/unictype/property-byname-tests: New file.
23957         * modules/unictype/property-combining-tests: New file.
23958         * modules/unictype/property-composite-tests: New file.
23959         * modules/unictype/property-currency-symbol-tests: New file.
23960         * modules/unictype/property-dash-tests: New file.
23961         * modules/unictype/property-decimal-digit-tests: New file.
23962         * modules/unictype/property-default-ignorable-code-point-tests: New file.
23963         * modules/unictype/property-deprecated-tests: New file.
23964         * modules/unictype/property-diacritic-tests: New file.
23965         * modules/unictype/property-extender-tests: New file.
23966         * modules/unictype/property-format-control-tests: New file.
23967         * modules/unictype/property-grapheme-base-tests: New file.
23968         * modules/unictype/property-grapheme-extend-tests: New file.
23969         * modules/unictype/property-grapheme-link-tests: New file.
23970         * modules/unictype/property-hex-digit-tests: New file.
23971         * modules/unictype/property-hyphen-tests: New file.
23972         * modules/unictype/property-id-continue-tests: New file.
23973         * modules/unictype/property-id-start-tests: New file.
23974         * modules/unictype/property-ideographic-tests: New file.
23975         * modules/unictype/property-ids-binary-operator-tests: New file.
23976         * modules/unictype/property-ids-trinary-operator-tests: New file.
23977         * modules/unictype/property-ignorable-control-tests: New file.
23978         * modules/unictype/property-iso-control-tests: New file.
23979         * modules/unictype/property-join-control-tests: New file.
23980         * modules/unictype/property-left-of-pair-tests: New file.
23981         * modules/unictype/property-line-separator-tests: New file.
23982         * modules/unictype/property-logical-order-exception-tests: New file.
23983         * modules/unictype/property-lowercase-tests: New file.
23984         * modules/unictype/property-math-tests: New file.
23985         * modules/unictype/property-non-break-tests: New file.
23986         * modules/unictype/property-not-a-character-tests: New file.
23987         * modules/unictype/property-numeric-tests: New file.
23988         * modules/unictype/property-other-alphabetic-tests: New file.
23989         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
23990         * modules/unictype/property-other-grapheme-extend-tests: New file.
23991         * modules/unictype/property-other-id-continue-tests: New file.
23992         * modules/unictype/property-other-id-start-tests: New file.
23993         * modules/unictype/property-other-lowercase-tests: New file.
23994         * modules/unictype/property-other-math-tests: New file.
23995         * modules/unictype/property-other-uppercase-tests: New file.
23996         * modules/unictype/property-paired-punctuation-tests: New file.
23997         * modules/unictype/property-paragraph-separator-tests: New file.
23998         * modules/unictype/property-pattern-syntax-tests: New file.
23999         * modules/unictype/property-pattern-white-space-tests: New file.
24000         * modules/unictype/property-private-use-tests: New file.
24001         * modules/unictype/property-punctuation-tests: New file.
24002         * modules/unictype/property-quotation-mark-tests: New file.
24003         * modules/unictype/property-radical-tests: New file.
24004         * modules/unictype/property-sentence-terminal-tests: New file.
24005         * modules/unictype/property-soft-dotted-tests: New file.
24006         * modules/unictype/property-space-tests: New file.
24007         * modules/unictype/property-terminal-punctuation-tests: New file.
24008         * modules/unictype/property-test-tests: New file.
24009         * modules/unictype/property-titlecase-tests: New file.
24010         * modules/unictype/property-unassigned-code-value-tests: New file.
24011         * modules/unictype/property-unified-ideograph-tests: New file.
24012         * modules/unictype/property-uppercase-tests: New file.
24013         * modules/unictype/property-variation-selector-tests: New file.
24014         * modules/unictype/property-white-space-tests: New file.
24015         * modules/unictype/property-xid-continue-tests: New file.
24016         * modules/unictype/property-xid-start-tests: New file.
24017         * modules/unictype/property-zero-width-tests: New file.
24018         * modules/unictype/scripts-tests: New file.
24019         * modules/unictype/syntax-c-ident-tests: New file.
24020         * modules/unictype/syntax-c-whitespace-tests: New file.
24021         * modules/unictype/syntax-java-ident-tests: New file.
24022         * modules/unictype/syntax-java-whitespace-tests: New file.
24023         * tests/unictype/test-bidi_byname.c: New file.
24024         * tests/unictype/test-bidi_name.c: New file.
24025         * tests/unictype/test-bidi_of.c: New file.
24026         * tests/unictype/test-bidi_test.c: New file.
24027         * tests/unictype/test-block_list.c: New file.
24028         * tests/unictype/test-block_of.c: New file.
24029         * tests/unictype/test-block_test.c: New file.
24030         * tests/unictype/test-categ_and.c: New file.
24031         * tests/unictype/test-categ_and_not.c: New file.
24032         * tests/unictype/test-categ_byname.c: New file.
24033         * tests/unictype/test-categ_name.c: New file.
24034         * tests/unictype/test-categ_none.c: New file.
24035         * tests/unictype/test-categ_of.c: New file.
24036         * tests/unictype/test-categ_or.c: New file.
24037         * tests/unictype/test-categ_test_withtable.c: New file.
24038         * tests/unictype/test-combining.c: New file.
24039         * tests/unictype/test-decdigit.c: New file.
24040         * tests/unictype/test-digit.c: New file.
24041         * tests/unictype/test-mirror.c: New file.
24042         * tests/unictype/test-numeric.c: New file.
24043         * tests/unictype/test-pr_byname.c: New file.
24044         * tests/unictype/test-pr_test.c: New file.
24045         * tests/unictype/test-predicate-part1.h: New file.
24046         * tests/unictype/test-predicate-part2.h: New file.
24047         * tests/unictype/test-scripts.c: New file.
24048         * tests/unictype/test-sy_c_ident.c: New file.
24049         * tests/unictype/test-sy_java_ident.c: New file.
24050
24051         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
24052         for Unicode 5.0.0.
24053         * tests/unictype/test-categ_Cc.c: Likewise.
24054         * tests/unictype/test-categ_Cf.c: Likewise.
24055         * tests/unictype/test-categ_Cn.c: Likewise.
24056         * tests/unictype/test-categ_Co.c: Likewise.
24057         * tests/unictype/test-categ_Cs.c: Likewise.
24058         * tests/unictype/test-categ_L.c: Likewise.
24059         * tests/unictype/test-categ_Ll.c: Likewise.
24060         * tests/unictype/test-categ_Lm.c: Likewise.
24061         * tests/unictype/test-categ_Lo.c: Likewise.
24062         * tests/unictype/test-categ_Lt.c: Likewise.
24063         * tests/unictype/test-categ_Lu.c: Likewise.
24064         * tests/unictype/test-categ_M.c: Likewise.
24065         * tests/unictype/test-categ_Mc.c: Likewise.
24066         * tests/unictype/test-categ_Me.c: Likewise.
24067         * tests/unictype/test-categ_Mn.c: Likewise.
24068         * tests/unictype/test-categ_N.c: Likewise.
24069         * tests/unictype/test-categ_Nd.c: Likewise.
24070         * tests/unictype/test-categ_Nl.c: Likewise.
24071         * tests/unictype/test-categ_No.c: Likewise.
24072         * tests/unictype/test-categ_P.c: Likewise.
24073         * tests/unictype/test-categ_Pc.c: Likewise.
24074         * tests/unictype/test-categ_Pd.c: Likewise.
24075         * tests/unictype/test-categ_Pe.c: Likewise.
24076         * tests/unictype/test-categ_Pf.c: Likewise.
24077         * tests/unictype/test-categ_Pi.c: Likewise.
24078         * tests/unictype/test-categ_Po.c: Likewise.
24079         * tests/unictype/test-categ_Ps.c: Likewise.
24080         * tests/unictype/test-categ_S.c: Likewise.
24081         * tests/unictype/test-categ_Sc.c: Likewise.
24082         * tests/unictype/test-categ_Sk.c: Likewise.
24083         * tests/unictype/test-categ_Sm.c: Likewise.
24084         * tests/unictype/test-categ_So.c: Likewise.
24085         * tests/unictype/test-categ_Z.c: Likewise.
24086         * tests/unictype/test-categ_Zl.c: Likewise.
24087         * tests/unictype/test-categ_Zp.c: Likewise.
24088         * tests/unictype/test-categ_Zs.c: Likewise.
24089         * tests/unictype/test-ctype_alnum.c: Likewise.
24090         * tests/unictype/test-ctype_alpha.c: Likewise.
24091         * tests/unictype/test-ctype_blank.c: Likewise.
24092         * tests/unictype/test-ctype_cntrl.c: Likewise.
24093         * tests/unictype/test-ctype_digit.c: Likewise.
24094         * tests/unictype/test-ctype_graph.c: Likewise.
24095         * tests/unictype/test-ctype_lower.c: Likewise.
24096         * tests/unictype/test-ctype_print.c: Likewise.
24097         * tests/unictype/test-ctype_punct.c: Likewise.
24098         * tests/unictype/test-ctype_space.c: Likewise.
24099         * tests/unictype/test-ctype_upper.c: Likewise.
24100         * tests/unictype/test-ctype_xdigit.c: Likewise.
24101         * tests/unictype/test-decdigit.h: Likewise.
24102         * tests/unictype/test-digit.h: Likewise.
24103         * tests/unictype/test-numeric.h: Likewise.
24104         * tests/unictype/test-pr_alphabetic.c: Likewise.
24105         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
24106         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
24107         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
24108         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
24109         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
24110         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
24111         * tests/unictype/test-pr_bidi_control.c: Likewise.
24112         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
24113         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
24114         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
24115         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
24116         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
24117         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
24118         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
24119         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
24120         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
24121         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
24122         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
24123         * tests/unictype/test-pr_combining.c: Likewise.
24124         * tests/unictype/test-pr_composite.c: Likewise.
24125         * tests/unictype/test-pr_currency_symbol.c: Likewise.
24126         * tests/unictype/test-pr_dash.c: Likewise.
24127         * tests/unictype/test-pr_decimal_digit.c: Likewise.
24128         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
24129         * tests/unictype/test-pr_deprecated.c: Likewise.
24130         * tests/unictype/test-pr_diacritic.c: Likewise.
24131         * tests/unictype/test-pr_extender.c: Likewise.
24132         * tests/unictype/test-pr_format_control.c: Likewise.
24133         * tests/unictype/test-pr_grapheme_base.c: Likewise.
24134         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
24135         * tests/unictype/test-pr_grapheme_link.c: Likewise.
24136         * tests/unictype/test-pr_hex_digit.c: Likewise.
24137         * tests/unictype/test-pr_hyphen.c: Likewise.
24138         * tests/unictype/test-pr_id_continue.c: Likewise.
24139         * tests/unictype/test-pr_id_start.c: Likewise.
24140         * tests/unictype/test-pr_ideographic.c: Likewise.
24141         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
24142         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
24143         * tests/unictype/test-pr_ignorable_control.c: Likewise.
24144         * tests/unictype/test-pr_iso_control.c: Likewise.
24145         * tests/unictype/test-pr_join_control.c: Likewise.
24146         * tests/unictype/test-pr_left_of_pair.c: Likewise.
24147         * tests/unictype/test-pr_line_separator.c: Likewise.
24148         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
24149         * tests/unictype/test-pr_lowercase.c: Likewise.
24150         * tests/unictype/test-pr_math.c: Likewise.
24151         * tests/unictype/test-pr_non_break.c: Likewise.
24152         * tests/unictype/test-pr_not_a_character.c: Likewise.
24153         * tests/unictype/test-pr_numeric.c: Likewise.
24154         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
24155         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
24156         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
24157         * tests/unictype/test-pr_other_id_continue.c: Likewise.
24158         * tests/unictype/test-pr_other_id_start.c: Likewise.
24159         * tests/unictype/test-pr_other_lowercase.c: Likewise.
24160         * tests/unictype/test-pr_other_math.c: Likewise.
24161         * tests/unictype/test-pr_other_uppercase.c: Likewise.
24162         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
24163         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
24164         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
24165         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
24166         * tests/unictype/test-pr_private_use.c: Likewise.
24167         * tests/unictype/test-pr_punctuation.c: Likewise.
24168         * tests/unictype/test-pr_quotation_mark.c: Likewise.
24169         * tests/unictype/test-pr_radical.c: Likewise.
24170         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
24171         * tests/unictype/test-pr_soft_dotted.c: Likewise.
24172         * tests/unictype/test-pr_space.c: Likewise.
24173         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
24174         * tests/unictype/test-pr_titlecase.c: Likewise.
24175         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
24176         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
24177         * tests/unictype/test-pr_uppercase.c: Likewise.
24178         * tests/unictype/test-pr_variation_selector.c: Likewise.
24179         * tests/unictype/test-pr_white_space.c: Likewise.
24180         * tests/unictype/test-pr_xid_continue.c: Likewise.
24181         * tests/unictype/test-pr_xid_start.c: Likewise.
24182         * tests/unictype/test-pr_zero_width.c: Likewise.
24183         * tests/unictype/test-sy_c_whitespace.c: Likewise.
24184         * tests/unictype/test-sy_java_whitespace.c: Likewise.
24185
24186 2007-11-12  Bruno Haible  <bruno@clisp.org>
24187
24188         Unicode character classification functions.
24189         * lib/unictype.h: New file.
24190         * modules/unictype/base: New file.
24191         * modules/unictype/category-L: New file.
24192         * modules/unictype/category-Lu: New file.
24193         * modules/unictype/category-Ll: New file.
24194         * modules/unictype/category-Lt: New file.
24195         * modules/unictype/category-Lm: New file.
24196         * modules/unictype/category-Lo: New file.
24197         * modules/unictype/category-M: New file.
24198         * modules/unictype/category-Mn: New file.
24199         * modules/unictype/category-Mc: New file.
24200         * modules/unictype/category-Me: New file.
24201         * modules/unictype/category-N: New file.
24202         * modules/unictype/category-Nd: New file.
24203         * modules/unictype/category-Nl: New file.
24204         * modules/unictype/category-No: New file.
24205         * modules/unictype/category-P: New file.
24206         * modules/unictype/category-Pc: New file.
24207         * modules/unictype/category-Pd: New file.
24208         * modules/unictype/category-Ps: New file.
24209         * modules/unictype/category-Pe: New file.
24210         * modules/unictype/category-Pi: New file.
24211         * modules/unictype/category-Pf: New file.
24212         * modules/unictype/category-Po: New file.
24213         * modules/unictype/category-S: New file.
24214         * modules/unictype/category-Sm: New file.
24215         * modules/unictype/category-Sc: New file.
24216         * modules/unictype/category-Sk: New file.
24217         * modules/unictype/category-So: New file.
24218         * modules/unictype/category-Z: New file.
24219         * modules/unictype/category-Zs: New file.
24220         * modules/unictype/category-Zl: New file.
24221         * modules/unictype/category-Zp: New file.
24222         * modules/unictype/category-C: New file.
24223         * modules/unictype/category-Cc: New file.
24224         * modules/unictype/category-Cf: New file.
24225         * modules/unictype/category-Cs: New file.
24226         * modules/unictype/category-Co: New file.
24227         * modules/unictype/category-Cn: New file.
24228         * modules/unictype/category-or: New file.
24229         * modules/unictype/category-of: New file.
24230         * modules/unictype/category-test: New file.
24231         * modules/unictype/category-test-withtable: New file.
24232         * modules/unictype/category-byname: New file.
24233         * modules/unictype/category-none: New file.
24234         * modules/unictype/category-and: New file.
24235         * modules/unictype/category-and-not: New file.
24236         * modules/unictype/category-name: New file.
24237         * modules/unictype/combining-class: New file.
24238         * modules/unictype/category-all: New file.
24239         * modules/unictype/bidicategory-all: New file.
24240         * modules/unictype/bidicategory-byname: New file.
24241         * modules/unictype/bidicategory-name: New file.
24242         * modules/unictype/bidicategory-of: New file.
24243         * modules/unictype/bidicategory-test: New file.
24244         * modules/unictype/decimal-digit: New file.
24245         * modules/unictype/digit: New file.
24246         * modules/unictype/numeric: New file.
24247         * modules/unictype/mirror: New file.
24248         * modules/unictype/property-white-space: New file.
24249         * modules/unictype/property-alphabetic: New file.
24250         * modules/unictype/property-other-alphabetic: New file.
24251         * modules/unictype/property-not-a-character: New file.
24252         * modules/unictype/property-default-ignorable-code-point: New file.
24253         * modules/unictype/property-other-default-ignorable-code-point: New
24254         file.
24255         * modules/unictype/property-deprecated: New file.
24256         * modules/unictype/property-logical-order-exception: New file.
24257         * modules/unictype/property-variation-selector: New file.
24258         * modules/unictype/property-private-use: New file.
24259         * modules/unictype/property-unassigned-code-value: New file.
24260         * modules/unictype/property-uppercase: New file.
24261         * modules/unictype/property-other-uppercase: New file.
24262         * modules/unictype/property-lowercase: New file.
24263         * modules/unictype/property-other-lowercase: New file.
24264         * modules/unictype/property-titlecase: New file.
24265         * modules/unictype/property-soft-dotted: New file.
24266         * modules/unictype/property-id-start: New file.
24267         * modules/unictype/property-other-id-start: New file.
24268         * modules/unictype/property-id-continue: New file.
24269         * modules/unictype/property-other-id-continue: New file.
24270         * modules/unictype/property-xid-start: New file.
24271         * modules/unictype/property-xid-continue: New file.
24272         * modules/unictype/property-pattern-white-space: New file.
24273         * modules/unictype/property-pattern-syntax: New file.
24274         * modules/unictype/property-join-control: New file.
24275         * modules/unictype/property-grapheme-base: New file.
24276         * modules/unictype/property-grapheme-extend: New file.
24277         * modules/unictype/property-other-grapheme-extend: New file.
24278         * modules/unictype/property-grapheme-link: New file.
24279         * modules/unictype/property-bidi-control: New file.
24280         * modules/unictype/property-bidi-left-to-right: New file.
24281         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
24282         * modules/unictype/property-bidi-arabic-right-to-left: New file.
24283         * modules/unictype/property-bidi-european-digit: New file.
24284         * modules/unictype/property-bidi-eur-num-separator: New file.
24285         * modules/unictype/property-bidi-eur-num-terminator: New file.
24286         * modules/unictype/property-bidi-arabic-digit: New file.
24287         * modules/unictype/property-bidi-common-separator: New file.
24288         * modules/unictype/property-bidi-block-separator: New file.
24289         * modules/unictype/property-bidi-segment-separator: New file.
24290         * modules/unictype/property-bidi-whitespace: New file.
24291         * modules/unictype/property-bidi-non-spacing-mark: New file.
24292         * modules/unictype/property-bidi-boundary-neutral: New file.
24293         * modules/unictype/property-bidi-pdf: New file.
24294         * modules/unictype/property-bidi-embedding-or-override: New file.
24295         * modules/unictype/property-bidi-other-neutral: New file.
24296         * modules/unictype/property-hex-digit: New file.
24297         * modules/unictype/property-ascii-hex-digit: New file.
24298         * modules/unictype/property-ideographic: New file.
24299         * modules/unictype/property-unified-ideograph: New file.
24300         * modules/unictype/property-radical: New file.
24301         * modules/unictype/property-ids-binary-operator: New file.
24302         * modules/unictype/property-ids-trinary-operator: New file.
24303         * modules/unictype/property-zero-width: New file.
24304         * modules/unictype/property-space: New file.
24305         * modules/unictype/property-non-break: New file.
24306         * modules/unictype/property-iso-control: New file.
24307         * modules/unictype/property-format-control: New file.
24308         * modules/unictype/property-dash: New file.
24309         * modules/unictype/property-hyphen: New file.
24310         * modules/unictype/property-punctuation: New file.
24311         * modules/unictype/property-line-separator: New file.
24312         * modules/unictype/property-paragraph-separator: New file.
24313         * modules/unictype/property-quotation-mark: New file.
24314         * modules/unictype/property-sentence-terminal: New file.
24315         * modules/unictype/property-terminal-punctuation: New file.
24316         * modules/unictype/property-currency-symbol: New file.
24317         * modules/unictype/property-math: New file.
24318         * modules/unictype/property-other-math: New file.
24319         * modules/unictype/property-paired-punctuation: New file.
24320         * modules/unictype/property-left-of-pair: New file.
24321         * modules/unictype/property-combining: New file.
24322         * modules/unictype/property-composite: New file.
24323         * modules/unictype/property-decimal-digit: New file.
24324         * modules/unictype/property-numeric: New file.
24325         * modules/unictype/property-diacritic: New file.
24326         * modules/unictype/property-extender: New file.
24327         * modules/unictype/property-ignorable-control: New file.
24328         * modules/unictype/property-test: New file.
24329         * modules/unictype/property-byname: New file.
24330         * modules/unictype/property-all: New file.
24331         * modules/unictype/scripts: New file.
24332         * modules/unictype/scripts-all: New file.
24333         * modules/unictype/block-of: New file.
24334         * modules/unictype/block-test: New file.
24335         * modules/unictype/block-list: New file.
24336         * modules/unictype/block-all: New file.
24337         * modules/unictype/syntax-c-whitespace: New file.
24338         * modules/unictype/syntax-java-whitespace: New file.
24339         * modules/unictype/syntax-c-ident: New file.
24340         * modules/unictype/syntax-java-ident: New file.
24341         * modules/unictype/ctype-alnum: New file.
24342         * modules/unictype/ctype-alpha: New file.
24343         * modules/unictype/ctype-cntrl: New file.
24344         * modules/unictype/ctype-digit: New file.
24345         * modules/unictype/ctype-graph: New file.
24346         * modules/unictype/ctype-lower: New file.
24347         * modules/unictype/ctype-print: New file.
24348         * modules/unictype/ctype-punct: New file.
24349         * modules/unictype/ctype-space: New file.
24350         * modules/unictype/ctype-upper: New file.
24351         * modules/unictype/ctype-xdigit: New file.
24352         * modules/unictype/ctype-blank: New file.
24353         * lib/unictype/bidi_byname.c: New file.
24354         * lib/unictype/bidi_name.c: New file.
24355         * lib/unictype/bidi_of.c: New file.
24356         * lib/unictype/bidi_test.c: New file.
24357         * lib/unictype/bitmap.h: New file.
24358         * lib/unictype/block_test.c: New file.
24359         * lib/unictype/blocks.c: New file.
24360         * lib/unictype/categ_C.c: New file.
24361         * lib/unictype/categ_Cc.c: New file.
24362         * lib/unictype/categ_Cf.c: New file.
24363         * lib/unictype/categ_Cn.c: New file.
24364         * lib/unictype/categ_Co.c: New file.
24365         * lib/unictype/categ_Cs.c: New file.
24366         * lib/unictype/categ_L.c: New file.
24367         * lib/unictype/categ_Ll.c: New file.
24368         * lib/unictype/categ_Lm.c: New file.
24369         * lib/unictype/categ_Lo.c: New file.
24370         * lib/unictype/categ_Lt.c: New file.
24371         * lib/unictype/categ_Lu.c: New file.
24372         * lib/unictype/categ_M.c: New file.
24373         * lib/unictype/categ_Mc.c: New file.
24374         * lib/unictype/categ_Me.c: New file.
24375         * lib/unictype/categ_Mn.c: New file.
24376         * lib/unictype/categ_N.c: New file.
24377         * lib/unictype/categ_Nd.c: New file.
24378         * lib/unictype/categ_Nl.c: New file.
24379         * lib/unictype/categ_No.c: New file.
24380         * lib/unictype/categ_P.c: New file.
24381         * lib/unictype/categ_Pc.c: New file.
24382         * lib/unictype/categ_Pd.c: New file.
24383         * lib/unictype/categ_Pe.c: New file.
24384         * lib/unictype/categ_Pf.c: New file.
24385         * lib/unictype/categ_Pi.c: New file.
24386         * lib/unictype/categ_Po.c: New file.
24387         * lib/unictype/categ_Ps.c: New file.
24388         * lib/unictype/categ_S.c: New file.
24389         * lib/unictype/categ_Sc.c: New file.
24390         * lib/unictype/categ_Sk.c: New file.
24391         * lib/unictype/categ_Sm.c: New file.
24392         * lib/unictype/categ_So.c: New file.
24393         * lib/unictype/categ_Z.c: New file.
24394         * lib/unictype/categ_Zl.c: New file.
24395         * lib/unictype/categ_Zp.c: New file.
24396         * lib/unictype/categ_Zs.c: New file.
24397         * lib/unictype/categ_and.c: New file.
24398         * lib/unictype/categ_and_not.c: New file.
24399         * lib/unictype/categ_byname.c: New file.
24400         * lib/unictype/categ_name.c: New file.
24401         * lib/unictype/categ_none.c: New file.
24402         * lib/unictype/categ_of.c: New file.
24403         * lib/unictype/categ_or.c: New file.
24404         * lib/unictype/categ_test.c: New file.
24405         * lib/unictype/combining.c: New file.
24406         * lib/unictype/ctype_alnum.c: New file.
24407         * lib/unictype/ctype_alpha.c: New file.
24408         * lib/unictype/ctype_blank.c: New file.
24409         * lib/unictype/ctype_cntrl.c: New file.
24410         * lib/unictype/ctype_digit.c: New file.
24411         * lib/unictype/ctype_graph.c: New file.
24412         * lib/unictype/ctype_lower.c: New file.
24413         * lib/unictype/ctype_print.c: New file.
24414         * lib/unictype/ctype_punct.c: New file.
24415         * lib/unictype/ctype_space.c: New file.
24416         * lib/unictype/ctype_upper.c: New file.
24417         * lib/unictype/ctype_xdigit.c: New file.
24418         * lib/unictype/decdigit.c: New file.
24419         * lib/unictype/digit.c: New file.
24420         * lib/unictype/identsyntaxmap.h: New file.
24421         * lib/unictype/mirror.c: New file.
24422         * lib/unictype/numeric.c: New file.
24423         * lib/unictype/pr_alphabetic.c: New file.
24424         * lib/unictype/pr_ascii_hex_digit.c: New file.
24425         * lib/unictype/pr_bidi_arabic_digit.c: New file.
24426         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
24427         * lib/unictype/pr_bidi_block_separator.c: New file.
24428         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
24429         * lib/unictype/pr_bidi_common_separator.c: New file.
24430         * lib/unictype/pr_bidi_control.c: New file.
24431         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
24432         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
24433         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
24434         * lib/unictype/pr_bidi_european_digit.c: New file.
24435         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
24436         * lib/unictype/pr_bidi_left_to_right.c: New file.
24437         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
24438         * lib/unictype/pr_bidi_other_neutral.c: New file.
24439         * lib/unictype/pr_bidi_pdf.c: New file.
24440         * lib/unictype/pr_bidi_segment_separator.c: New file.
24441         * lib/unictype/pr_bidi_whitespace.c: New file.
24442         * lib/unictype/pr_byname.c: New file.
24443         * lib/unictype/pr_byname.gperf: New file.
24444         * lib/unictype/pr_combining.c: New file.
24445         * lib/unictype/pr_composite.c: New file.
24446         * lib/unictype/pr_currency_symbol.c: New file.
24447         * lib/unictype/pr_dash.c: New file.
24448         * lib/unictype/pr_decimal_digit.c: New file.
24449         * lib/unictype/pr_default_ignorable_code_point.c: New file.
24450         * lib/unictype/pr_deprecated.c: New file.
24451         * lib/unictype/pr_diacritic.c: New file.
24452         * lib/unictype/pr_extender.c: New file.
24453         * lib/unictype/pr_format_control.c: New file.
24454         * lib/unictype/pr_grapheme_base.c: New file.
24455         * lib/unictype/pr_grapheme_extend.c: New file.
24456         * lib/unictype/pr_grapheme_link.c: New file.
24457         * lib/unictype/pr_hex_digit.c: New file.
24458         * lib/unictype/pr_hyphen.c: New file.
24459         * lib/unictype/pr_id_continue.c: New file.
24460         * lib/unictype/pr_id_start.c: New file.
24461         * lib/unictype/pr_ideographic.c: New file.
24462         * lib/unictype/pr_ids_binary_operator.c: New file.
24463         * lib/unictype/pr_ids_trinary_operator.c: New file.
24464         * lib/unictype/pr_ignorable_control.c: New file.
24465         * lib/unictype/pr_iso_control.c: New file.
24466         * lib/unictype/pr_join_control.c: New file.
24467         * lib/unictype/pr_left_of_pair.c: New file.
24468         * lib/unictype/pr_line_separator.c: New file.
24469         * lib/unictype/pr_logical_order_exception.c: New file.
24470         * lib/unictype/pr_lowercase.c: New file.
24471         * lib/unictype/pr_math.c: New file.
24472         * lib/unictype/pr_non_break.c: New file.
24473         * lib/unictype/pr_not_a_character.c: New file.
24474         * lib/unictype/pr_numeric.c: New file.
24475         * lib/unictype/pr_other_alphabetic.c: New file.
24476         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
24477         * lib/unictype/pr_other_grapheme_extend.c: New file.
24478         * lib/unictype/pr_other_id_continue.c: New file.
24479         * lib/unictype/pr_other_id_start.c: New file.
24480         * lib/unictype/pr_other_lowercase.c: New file.
24481         * lib/unictype/pr_other_math.c: New file.
24482         * lib/unictype/pr_other_uppercase.c: New file.
24483         * lib/unictype/pr_paired_punctuation.c: New file.
24484         * lib/unictype/pr_paragraph_separator.c: New file.
24485         * lib/unictype/pr_pattern_syntax.c: New file.
24486         * lib/unictype/pr_pattern_white_space.c: New file.
24487         * lib/unictype/pr_private_use.c: New file.
24488         * lib/unictype/pr_punctuation.c: New file.
24489         * lib/unictype/pr_quotation_mark.c: New file.
24490         * lib/unictype/pr_radical.c: New file.
24491         * lib/unictype/pr_sentence_terminal.c: New file.
24492         * lib/unictype/pr_soft_dotted.c: New file.
24493         * lib/unictype/pr_space.c: New file.
24494         * lib/unictype/pr_terminal_punctuation.c: New file.
24495         * lib/unictype/pr_test.c: New file.
24496         * lib/unictype/pr_titlecase.c: New file.
24497         * lib/unictype/pr_unassigned_code_value.c: New file.
24498         * lib/unictype/pr_unified_ideograph.c: New file.
24499         * lib/unictype/pr_uppercase.c: New file.
24500         * lib/unictype/pr_variation_selector.c: New file.
24501         * lib/unictype/pr_white_space.c: New file.
24502         * lib/unictype/pr_xid_continue.c: New file.
24503         * lib/unictype/pr_xid_start.c: New file.
24504         * lib/unictype/pr_zero_width.c: New file.
24505         * lib/unictype/scripts.c: New file.
24506         * lib/unictype/sy_c_ident.c: New file.
24507         * lib/unictype/sy_c_whitespace.c: New file.
24508         * lib/unictype/sy_java_ident.c: New file.
24509         * lib/unictype/sy_java_whitespace.c: New file.
24510
24511         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
24512         Unicode 5.0.0.
24513         * lib/unictype/blocks.h: Likewise.
24514         * lib/unictype/categ_C.h: Likewise.
24515         * lib/unictype/categ_Cc.h: Likewise.
24516         * lib/unictype/categ_Cf.h: Likewise.
24517         * lib/unictype/categ_Cn.h: Likewise.
24518         * lib/unictype/categ_Co.h: Likewise.
24519         * lib/unictype/categ_Cs.h: Likewise.
24520         * lib/unictype/categ_L.h: Likewise.
24521         * lib/unictype/categ_Ll.h: Likewise.
24522         * lib/unictype/categ_Lm.h: Likewise.
24523         * lib/unictype/categ_Lo.h: Likewise.
24524         * lib/unictype/categ_Lt.h: Likewise.
24525         * lib/unictype/categ_Lu.h: Likewise.
24526         * lib/unictype/categ_M.h: Likewise.
24527         * lib/unictype/categ_Mc.h: Likewise.
24528         * lib/unictype/categ_Me.h: Likewise.
24529         * lib/unictype/categ_Mn.h: Likewise.
24530         * lib/unictype/categ_N.h: Likewise.
24531         * lib/unictype/categ_Nd.h: Likewise.
24532         * lib/unictype/categ_Nl.h: Likewise.
24533         * lib/unictype/categ_No.h: Likewise.
24534         * lib/unictype/categ_P.h: Likewise.
24535         * lib/unictype/categ_Pc.h: Likewise.
24536         * lib/unictype/categ_Pd.h: Likewise.
24537         * lib/unictype/categ_Pe.h: Likewise.
24538         * lib/unictype/categ_Pf.h: Likewise.
24539         * lib/unictype/categ_Pi.h: Likewise.
24540         * lib/unictype/categ_Po.h: Likewise.
24541         * lib/unictype/categ_Ps.h: Likewise.
24542         * lib/unictype/categ_S.h: Likewise.
24543         * lib/unictype/categ_Sc.h: Likewise.
24544         * lib/unictype/categ_Sk.h: Likewise.
24545         * lib/unictype/categ_Sm.h: Likewise.
24546         * lib/unictype/categ_So.h: Likewise.
24547         * lib/unictype/categ_Z.h: Likewise.
24548         * lib/unictype/categ_Zl.h: Likewise.
24549         * lib/unictype/categ_Zp.h: Likewise.
24550         * lib/unictype/categ_Zs.h: Likewise.
24551         * lib/unictype/categ_of.h: Likewise.
24552         * lib/unictype/combining.h: Likewise.
24553         * lib/unictype/ctype_alnum.h: Likewise.
24554         * lib/unictype/ctype_alpha.h: Likewise.
24555         * lib/unictype/ctype_blank.h: Likewise.
24556         * lib/unictype/ctype_cntrl.h: Likewise.
24557         * lib/unictype/ctype_digit.h: Likewise.
24558         * lib/unictype/ctype_graph.h: Likewise.
24559         * lib/unictype/ctype_lower.h: Likewise.
24560         * lib/unictype/ctype_print.h: Likewise.
24561         * lib/unictype/ctype_punct.h: Likewise.
24562         * lib/unictype/ctype_space.h: Likewise.
24563         * lib/unictype/ctype_upper.h: Likewise.
24564         * lib/unictype/ctype_xdigit.h: Likewise.
24565         * lib/unictype/decdigit.h: Likewise.
24566         * lib/unictype/digit.h: Likewise.
24567         * lib/unictype/mirror.h: Likewise.
24568         * lib/unictype/numeric.h: Likewise.
24569         * lib/unictype/pr_alphabetic.h: Likewise.
24570         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
24571         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
24572         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
24573         * lib/unictype/pr_bidi_block_separator.h: Likewise.
24574         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
24575         * lib/unictype/pr_bidi_common_separator.h: Likewise.
24576         * lib/unictype/pr_bidi_control.h: Likewise.
24577         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
24578         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
24579         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
24580         * lib/unictype/pr_bidi_european_digit.h: Likewise.
24581         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
24582         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
24583         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
24584         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
24585         * lib/unictype/pr_bidi_pdf.h: Likewise.
24586         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
24587         * lib/unictype/pr_bidi_whitespace.h: Likewise.
24588         * lib/unictype/pr_combining.h: Likewise.
24589         * lib/unictype/pr_composite.h: Likewise.
24590         * lib/unictype/pr_currency_symbol.h: Likewise.
24591         * lib/unictype/pr_dash.h: Likewise.
24592         * lib/unictype/pr_decimal_digit.h: Likewise.
24593         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
24594         * lib/unictype/pr_deprecated.h: Likewise.
24595         * lib/unictype/pr_diacritic.h: Likewise.
24596         * lib/unictype/pr_extender.h: Likewise.
24597         * lib/unictype/pr_format_control.h: Likewise.
24598         * lib/unictype/pr_grapheme_base.h: Likewise.
24599         * lib/unictype/pr_grapheme_extend.h: Likewise.
24600         * lib/unictype/pr_grapheme_link.h: Likewise.
24601         * lib/unictype/pr_hex_digit.h: Likewise.
24602         * lib/unictype/pr_hyphen.h: Likewise.
24603         * lib/unictype/pr_id_continue.h: Likewise.
24604         * lib/unictype/pr_id_start.h: Likewise.
24605         * lib/unictype/pr_ideographic.h: Likewise.
24606         * lib/unictype/pr_ids_binary_operator.h: Likewise.
24607         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
24608         * lib/unictype/pr_ignorable_control.h: Likewise.
24609         * lib/unictype/pr_iso_control.h: Likewise.
24610         * lib/unictype/pr_join_control.h: Likewise.
24611         * lib/unictype/pr_left_of_pair.h: Likewise.
24612         * lib/unictype/pr_line_separator.h: Likewise.
24613         * lib/unictype/pr_logical_order_exception.h: Likewise.
24614         * lib/unictype/pr_lowercase.h: Likewise.
24615         * lib/unictype/pr_math.h: Likewise.
24616         * lib/unictype/pr_non_break.h: Likewise.
24617         * lib/unictype/pr_not_a_character.h: Likewise.
24618         * lib/unictype/pr_numeric.h: Likewise.
24619         * lib/unictype/pr_other_alphabetic.h: Likewise.
24620         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
24621         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
24622         * lib/unictype/pr_other_id_continue.h: Likewise.
24623         * lib/unictype/pr_other_id_start.h: Likewise.
24624         * lib/unictype/pr_other_lowercase.h: Likewise.
24625         * lib/unictype/pr_other_math.h: Likewise.
24626         * lib/unictype/pr_other_uppercase.h: Likewise.
24627         * lib/unictype/pr_paired_punctuation.h: Likewise.
24628         * lib/unictype/pr_paragraph_separator.h: Likewise.
24629         * lib/unictype/pr_pattern_syntax.h: Likewise.
24630         * lib/unictype/pr_pattern_white_space.h: Likewise.
24631         * lib/unictype/pr_private_use.h: Likewise.
24632         * lib/unictype/pr_punctuation.h: Likewise.
24633         * lib/unictype/pr_quotation_mark.h: Likewise.
24634         * lib/unictype/pr_radical.h: Likewise.
24635         * lib/unictype/pr_sentence_terminal.h: Likewise.
24636         * lib/unictype/pr_soft_dotted.h: Likewise.
24637         * lib/unictype/pr_space.h: Likewise.
24638         * lib/unictype/pr_terminal_punctuation.h: Likewise.
24639         * lib/unictype/pr_titlecase.h: Likewise.
24640         * lib/unictype/pr_unassigned_code_value.h: Likewise.
24641         * lib/unictype/pr_unified_ideograph.h: Likewise.
24642         * lib/unictype/pr_uppercase.h: Likewise.
24643         * lib/unictype/pr_variation_selector.h: Likewise.
24644         * lib/unictype/pr_white_space.h: Likewise.
24645         * lib/unictype/pr_xid_continue.h: Likewise.
24646         * lib/unictype/pr_xid_start.h: Likewise.
24647         * lib/unictype/pr_zero_width.h: Likewise.
24648         * lib/unictype/scripts.h: Likewise.
24649         * lib/unictype/scripts_byname.gperf: Likewise.
24650         * lib/unictype/sy_c_ident.h: Likewise.
24651         * lib/unictype/sy_c_whitespace.h: Likewise.
24652         * lib/unictype/sy_java_ident.h: Likewise.
24653         * lib/unictype/sy_java_whitespace.h: Likewise.
24654
24655         * lib/unictype/Makefile: New file.
24656         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
24657         glibc.
24658         * lib/unictype/3level.h: New file, copied from glibc.
24659         * lib/unictype/3levelbit.h: New file.
24660
24661 2007-11-11  Bruno Haible  <bruno@clisp.org>
24662
24663         * modules/gperf: New file.
24664         * modules/iconv_open (Depends-on): Add it.
24665         (Makefile.am): Remove the GPERF definition.
24666
24667 2007-11-11  Bruno Haible  <bruno@clisp.org>
24668
24669         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
24670         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
24671
24672 2007-11-11  Bruno Haible  <bruno@clisp.org>
24673
24674         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
24675         (usage): Remove function.
24676
24677 2007-11-11  Bruno Haible  <bruno@clisp.org>
24678
24679         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
24680         gl_FUNC_CEILF_LIBS.
24681         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
24682         gl_FUNC_CEIL_LIBS.
24683         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
24684         gl_FUNC_CEILL_LIBS.
24685         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
24686         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
24687         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
24688
24689 2007-11-11  Bruno Haible  <bruno@clisp.org>
24690
24691         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
24692         roundf were declared but do not exist on functions.
24693         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
24694         roundl were declared but do not exist on functions.
24695         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
24696         HAVE_FLOORL_AND_CEILL, respectively.
24697         Needed for Sun C on Solaris 10.
24698
24699 2007-11-11  Bruno Haible  <bruno@clisp.org>
24700
24701         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
24702         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
24703         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
24704         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
24705         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
24706         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
24707         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
24708         HAVE_DECL_ROUNDF.
24709         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
24710         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
24711         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
24712         of HAVE_DECL_ROUND*.
24713         * modules/math (Makefile.am): Update.
24714
24715 2007-11-10  Bruno Haible  <bruno@clisp.org>
24716
24717         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
24718         ptrdiff_t as m4/intl.m4.
24719
24720 2007-11-10  Jim Meyering  <meyering@redhat.com>
24721
24722         Avoid link failure for the argmatch test.
24723         * tests/test-argmatch.c (usage): Define function to avoid a link
24724         failure: argmatch_die requires a usage function.
24725
24726 2007-11-09  Bruno Haible  <bruno@clisp.org>
24727
24728         * doc/functions/snprintf.texi: Mention BeOS deficiency.
24729         * doc/functions/vsnprintf.texi: Likewise.
24730         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
24731         with a size argument < 2.
24732
24733 2007-11-09  Bruno Haible  <bruno@clisp.org>
24734
24735         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
24736         buffer. Fixes an inefficiency introduced on 2007-11-03.
24737
24738 2007-11-09  Bruno Haible  <bruno@clisp.org>
24739
24740         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
24741         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
24742
24743 2007-11-08  Jim Meyering  <meyering@redhat.com>
24744
24745         Change cache variable name prefix "jm_" to "gl_" everywhere.
24746         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
24747         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
24748         * m4/uptime.m4: s/gl_/jm_/
24749
24750 2007-11-07  Bruno Haible  <bruno@clisp.org>
24751
24752         Update to GNU gettext 0.17.
24753         * m4/intl.m4: Update to GNU gettext 0.17.
24754         * m4/po.m4: Likewise.
24755         * modules/gettext (Files): Remove m4/ulonglong.m4.
24756         (configure.ac): Require gettext infrastructure from version 0.17.
24757
24758 2007-11-06  Bruno Haible  <bruno@clisp.org>
24759
24760         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
24761         symbolic values are not defined in a public header.
24762         * lib/freadable.c (freadable) [QNX]: Likewise.
24763         * lib/freadahead.c (freadahead) [QNX]: Likewise.
24764         * lib/freading.c (freading) [QNX]: Likewise.
24765         * lib/fseterr.c (fseterr) [QNX]: Likewise.
24766         * lib/fwritable.c (fwritable) [QNX]: Likewise.
24767         * lib/fwriting.c (fwriting) [QNX]: Likewise.
24768         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
24769         Reported by Alain Magloire.
24770
24771         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
24772
24773 2007-11-05  Bruno Haible  <bruno@clisp.org>
24774
24775         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
24776         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
24777         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
24778         Reported by Eric Blake.
24779
24780 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24781             Bruno Haible  <bruno@clisp.org>
24782
24783         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
24784         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
24785         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
24786         (malloc): Undefine also before including <stdlib.h>.
24787         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
24788         Needed on OSF/1 4.0.
24789
24790 2007-11-05  Jim Meyering  <meyering@redhat.com>
24791
24792         git-version-gen: sync from coreutils.
24793         * build-aux/git-version-gen: Add comments.
24794         Change the first '-' to '.' in the snapshot version string,
24795         e.g., 6.9-377-08144 -> 6.9.377-08144
24796         Remove first parameter.
24797         Don't declare a version "-dirty" merely because a time
24798         stamp has changed.
24799
24800 2007-11-04  Bruno Haible  <bruno@clisp.org>
24801
24802         * lib/lock.h: Protect all macro definitions containing an 'if'
24803         statement through a "do { ... } while (0)".
24804         * lib/tls.h: Likewise.
24805
24806 2007-11-04  Bruno Haible  <bruno@clisp.org>
24807
24808         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
24809
24810 2007-11-04  Bruno Haible  <bruno@clisp.org>
24811
24812         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
24813         * modules/fprintf-posix (Depends-on): Add nocrash.
24814         * modules/snprintf-posix (Depends-on): Likewise.
24815         * modules/sprintf-posix (Depends-on): Likewise.
24816         * modules/vasnprintf-posix (Depends-on): Likewise.
24817         * modules/vasprintf-posix (Depends-on): Likewise.
24818         * modules/vfprintf-posix (Depends-on): Likewise.
24819         * modules/vsnprintf-posix (Depends-on): Likewise.
24820         * modules/vsprintf-posix (Depends-on): Likewise.
24821         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
24822         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
24823         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
24824         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
24825         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
24826         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
24827         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
24828
24829 2007-11-04  Bruno Haible  <bruno@clisp.org>
24830
24831         * modules/nocrash: New file.
24832         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
24833         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
24834
24835 2007-11-04  Bruno Haible  <bruno@clisp.org>
24836
24837         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
24838         precision handling.
24839         * tests/test-vasprintf-posix.c (test_function): Likewise.
24840         * tests/test-snprintf-posix.h (test_function): Likewise.
24841         * tests/test-sprintf-posix.h (test_function): Likewise.
24842
24843         Fix *printf behaviour for large precisions on mingw and BeOS.
24844         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
24845         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
24846         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
24847         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
24848         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
24849         gl_PRINTF_PRECISION and test its result. Invoke
24850         gl_PREREQ_VASNPRINTF_PRECISION.
24851         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
24852         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
24853         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
24854         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
24855         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
24856         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
24857         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
24858         * doc/functions/fprintf.texi: Update.
24859         * doc/functions/printf.texi: Update.
24860         * doc/functions/snprintf.texi: Update.
24861         * doc/functions/sprintf.texi: Update.
24862         * doc/functions/vfprintf.texi: Update.
24863         * doc/functions/vprintf.texi: Update.
24864         * doc/functions/vsnprintf.texi: Update.
24865         * doc/functions/vsprintf.texi: Update.
24866
24867 2007-11-04  Bruno Haible  <bruno@clisp.org>
24868
24869         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
24870
24871 2007-11-04  Bruno Haible  <bruno@clisp.org>
24872
24873         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
24874         Reported by Sylvain Beucler <beuc@gnu.org>.
24875
24876 2007-11-03  Bruno Haible  <bruno@clisp.org>
24877
24878         * tests/test-fprintf-posix2.sh: New file.
24879         * tests/test-fprintf-posix2.c: New file.
24880         * modules/fprintf-posix-tests (Files): Add them.
24881         (TESTS): Add test-fprintf-posix2.sh.
24882         (configure.ac): Check for getrlimit and setrlimit.
24883         (check_PROGRAMS): Add test-fprintf-posix2.
24884
24885         * tests/test-printf-posix2.sh: New file.
24886         * tests/test-printf-posix2.c: New file.
24887         * modules/printf-posix-tests (Files): Add them.
24888         (TESTS): Add test-printf-posix2.sh.
24889         (configure.ac): Check for getrlimit and setrlimit.
24890         (check_PROGRAMS): Add test-printf-posix2.
24891
24892         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
24893         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
24894         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
24895         (decode_double): New function, copied from decode_long_double.
24896         (scale10_round_decimal_decoded): New function, extracted from
24897         scale10_round_decimal_long_double.
24898         (scale10_round_decimal_long_double): Use it.
24899         (scale10_round_decimal_double): New function.
24900         (floorlog10): New function.
24901         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
24902         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
24903         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
24904         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
24905         gl_PRINTF_ENOMEM and test its result. Invoke
24906         gl_PREREQ_VASNPRINTF_ENOMEM.
24907         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
24908         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
24909         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
24910         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
24911         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
24912         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
24913         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
24914         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
24915         * modules/snprintf-posix (Depends-on): Likewise.
24916         * modules/sprintf-posix (Depends-on): Likewise.
24917         * modules/vasnprintf-posix (Depends-on): Likewise.
24918         * modules/vasprintf-posix (Depends-on): Likewise.
24919         * modules/vfprintf-posix (Depends-on): Likewise.
24920         * modules/vsnprintf-posix (Depends-on): Likewise.
24921         * modules/vsprintf-posix (Depends-on): Likewise.
24922         * doc/functions/fprintf.texi: Update.
24923         * doc/functions/printf.texi: Update.
24924         * doc/functions/snprintf.texi: Update.
24925         * doc/functions/sprintf.texi: Update.
24926         * doc/functions/vfprintf.texi: Update.
24927         * doc/functions/vprintf.texi: Update.
24928         * doc/functions/vsnprintf.texi: Update.
24929         * doc/functions/vsprintf.texi: Update.
24930
24931 2007-11-03  Bruno Haible  <bruno@clisp.org>
24932
24933         * modules/frexp-nolibm-tests: New file.
24934
24935         * modules/frexp-nolibm: New file.
24936         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
24937
24938 2007-11-03  Bruno Haible  <bruno@clisp.org>
24939
24940         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
24941         value is C99 compliant.
24942         Needed for OSF/1 5.1.
24943
24944 2007-11-03  Bruno Haible  <bruno@clisp.org>
24945
24946         Fix out-of-memory handling of vasnprintf.
24947         * lib/printf-parse.c: Include <errno.h>.
24948         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
24949         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
24950         is already set.
24951
24952 2007-11-02  Eric Blake  <ebb9@byu.net>
24953
24954         Fix tests on cygwin.
24955         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
24956
24957 2007-11-01  Bruno Haible  <bruno@clisp.org>
24958
24959         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
24960         warning.
24961         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
24962         needed for POSIX compatibility.
24963
24964 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
24965
24966         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
24967         for compatibility with GNU.
24968
24969 2007-11-01  Bruno Haible  <bruno@clisp.org>
24970
24971         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
24972         (putenv): Renamed from rpl_putenv. Change argument type from
24973         'const char *' to 'char *'.
24974         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
24975         of defining putenv in config.h, just set REPLACE_PUTENV.
24976         * modules/putenv (Depends-on): Add stdlib.
24977         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
24978         (Include): Use <stdlib.h>.
24979         * lib/stdlib.in.h (putenv): New declaration.
24980         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
24981         REPLACE_PUTENV.
24982         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
24983         REPLACE_PUTENV.
24984         Needed for MacOS X 10.5.0.
24985         Reported by Peter O'Gorman <peter@pogma.com>.
24986
24987 2007-11-01  Jim Meyering  <meyering@redhat.com>
24988
24989         Treat an empty date string exactly like "0".
24990         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
24991         if the remaining date string (to be parsed) is empty, use "0".
24992         Reported by Mischa Molhoek and discussed in this thread:
24993         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
24994
24995 2007-10-31  Bruno Haible  <bruno@clisp.org>
24996
24997         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
24998         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
24999         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
25000         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
25001         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
25002         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
25003
25004 2007-10-31  Bruno Haible  <bruno@clisp.org>
25005
25006         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
25007         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
25008         (AC_TYPE_LONG_LONG_INT): Use it.
25009         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
25010         it as well.
25011         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
25012         to m4/longlong.m4.
25013         * modules/stdint (Files): Remove m4/ulonglong.m4.
25014         * modules/strtoull (Files): Use m4/longlong.m4 instead of
25015         m4/ulonglong.m4.
25016         * modules/strtoumax (Files): Likewise.
25017
25018 2007-10-30  Bruno Haible  <bruno@clisp.org>
25019
25020         * modules/xvasprintf-posix: New file.
25021         Suggested by Eric Blake.
25022
25023 2007-10-30  Bruno Haible  <bruno@clisp.org>
25024
25025         * modules/xprintf-posix-tests: New file.
25026         * tests/test-xprintf-posix.sh: New file.
25027         * tests/test-xprintf-posix.c: New file.
25028         * tests/test-xfprintf-posix.c: New file.
25029
25030         * modules/xprintf-posix: New file.
25031
25032 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25033
25034         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
25035         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
25036         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
25037
25038 2007-10-29  Bruno Haible  <bruno@clisp.org>
25039
25040         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
25041         contain the special marker '_cv_'.
25042         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
25043         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
25044         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
25045         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
25046         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
25047         Reported by Ralf Wildenhues.
25048
25049 2007-10-29  Bruno Haible  <bruno@clisp.org>
25050
25051         * gnulib-tool (func_import): When --lgpl is not specified, set
25052         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
25053         GPLv3.
25054         Reported by Simon Josefsson.
25055
25056 2007-10-28  Bruno Haible  <bruno@clisp.org>
25057
25058         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
25059         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
25060         HAVE_DECL_ISFINITE.
25061         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
25062         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
25063         HAVE_DECL_ISFINITE.
25064
25065 2007-10-28  Bruno Haible  <bruno@clisp.org>
25066
25067         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
25068         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
25069
25070 2007-10-28  Bruno Haible  <bruno@clisp.org>
25071
25072         Fix link errors with Sun C 5.0 on Solaris 10.
25073         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
25074         function is declared but not present in the compiler's libm.
25075         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
25076         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
25077         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
25078         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
25079         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
25080         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
25081         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
25082         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
25083         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
25084         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
25085         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
25086         HAVE_DECL_FLOORL.
25087
25088 2007-10-28  Bruno Haible  <bruno@clisp.org>
25089
25090         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
25091         gl_FUNC_FLOORL. Cache the result.
25092         (gl_FUNC_FLOORL): Use it.
25093         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
25094         gl_FUNC_CEILL. Cache the result.
25095         (gl_FUNC_CEILL): Use it.
25096
25097         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
25098         gl_FUNC_FLOOR. Cache the result.
25099         (gl_FUNC_FLOOR): Use it.
25100         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
25101         gl_FUNC_CEIL. Cache the result.
25102         (gl_FUNC_CEIL): Use it.
25103
25104         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
25105         gl_FUNC_FLOORF. Cache the result.
25106         (gl_FUNC_FLOORF): Use it.
25107         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
25108         gl_FUNC_CEILF. Cache the result.
25109         (gl_FUNC_CEILF): Use it.
25110
25111 2007-10-28  Bruno Haible  <bruno@clisp.org>
25112
25113         * gnulib-tool: Allow specifying the LGPL version number through
25114         --lgpl=2 or --lgpl=3.
25115         (func_usage): Document --lgpl with argument.
25116         Handle --lgpl=... arguments.
25117         (func_import): Recognize also gl_LGPL calls with an argument. When
25118         --lgpl=2 is used and the module's license is just LGPL, report an
25119         error. Set sed_transform_lib_file according to the lgpl variable. In
25120         the generated files, use --lgpl or gl_LGPL invocations with argument,
25121         if necessary.
25122         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
25123         an LGPv2+ license.
25124         * doc/gnulib-tool.texi (Modified imports): Update explanation of
25125         gl_LGPL macro.
25126
25127 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25128             Bruno Haible  <bruno@clisp.org>
25129
25130         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
25131         (u16_uctomb_aux): Likewise.
25132         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
25133         !HAVE_INLINE.
25134         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
25135
25136 2007-10-28  Bruno Haible  <bruno@clisp.org>
25137
25138         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
25139         Invoke AM_GETTEXT_OPTION if it exists.
25140         * modules/vasprintf: Likewise.
25141         * modules/verror: Likewise.
25142         * modules/xprintf: Likewise.
25143         * modules/xvasprintf: Likewise.
25144
25145 2007-10-27  Ben Pfaff  <blp@gnu.org>
25146
25147         * lib/math.in.h: Define isfinite macro and prototypes for
25148         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
25149         implementations.
25150         * m4/math_h.m4: New substitutions for isfinite module.
25151         * lib/isfinite.c: New file.
25152         * m4/isfinite.m4: New file.
25153         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
25154         * modules/isfinite: New file.
25155         * modules/isfinite-tests: New file.
25156         * tests/tests-isfinite.c: New file.
25157         * doc/functions/isfinite.texi: Mention isfinite module.
25158         * MODULES.html.sh: Mention new module.
25159
25160 2007-10-27  Ben Pfaff  <blp@gnu.org>
25161
25162         Ralf Wildenhues reported that Tru64 4.0D declares the round
25163         functions but does not have definitions.
25164         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
25165         cannot be found in any library, set the output variable to
25166         "missing" instead of "".
25167         * m4/round.m4: Also use our substitute if we cannot find round in
25168         any library, even if it is declared.
25169         * m4/roundf.m4: Likewise for roundf.
25170         * m4/roundl.m4: Likewise for roundl.
25171         * lib/math.in.h: Undefine roundf, round, roundl before defining
25172         their replacements, to allow for hypothetical systems where these
25173         may be defined as macros but not available in libraries.
25174
25175 2007-10-27  Bruno Haible  <bruno@clisp.org>
25176
25177         * doc/gnulib.texi: Invoke @firstparagraphindent.
25178         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
25179         changes in gnulib.
25180         (Source changes): New section.
25181
25182 2007-10-26  Bruno Haible  <bruno@clisp.org>
25183
25184         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
25185         borrowed from autoconf.
25186
25187 2007-10-26  Bruno Haible  <bruno@clisp.org>
25188
25189         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
25190         strerror returned the empty string. Needed on HP-UX 11.00.
25191
25192 2007-10-24  Micah Cowan  <micah@cowan.name>
25193
25194         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
25195         * build-aux/bootstrap: Remove support for now-unnecessary option,
25196         --cvs-user, and envvars CVS_USER, CVS_RSH.
25197
25198 2007-10-24  Jim Meyering  <meyering@redhat.com>
25199
25200         Avoid diagnostics from sha1sum when there is no cached checksum.
25201         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
25202         if the po.s1 file hasn't been created yet.
25203
25204         * build-aux/bootstrap: Sync from coreutils:
25205         2007-10-24  Jim Meyering  <meyering@redhat.com>
25206         Get gnulib from the git repository, not from an obsolete cvs one.
25207         * build-aux/bootstrap: Suggestion from Micah Cowan.
25208         2007-10-04  Jim Meyering  <jim@meyering.net>
25209         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
25210         (update_po_files): Work also when there are no .po files in po/.
25211
25212 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
25213
25214         * README: Append ".git" to git and cg examples.
25215         Problem reported by Benoit Sigoure.
25216
25217 2007-10-23  Micah Cowan  <micah@cowan.name>
25218
25219         * users.txt: Add wget.
25220
25221 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25222
25223         Fix linking of some unistdio tests on FreeBSD.
25224         * modules/unistdio/u16-vsnprintf-tests
25225         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
25226         * modules/unistdio/u16-vsprintf-tests
25227         (test_u16_vsnprintf1_LDADD): Likewise.
25228         * modules/unistdio/u32-vsnprintf-tests
25229         (test_u32_vsnprintf1_LDADD): Likewise.
25230         * modules/unistdio/u32-vsprintf-tests
25231         (test_u32_vsprintf1_LDADD): Likewise.
25232         * modules/unistdio/u8-vsnprintf-tests
25233         (test_u8_vsnprintf1_LDADD): Likewise.
25234         * modules/unistdio/u8-vsprintf-tests
25235         (test_u8_vsprintf1_LDADD): Likewise.
25236         * modules/unistdio/ulc-vsnprintf-tests
25237         (test_ulc_vsnprintf1_LDADD): Likewise.
25238         * modules/unistdio/ulc-vsprintf-tests
25239         (test_ulc_vsprintf1_LDADD): Likewise.
25240
25241         Fix linking of some uniconv tests on FreeBSD.
25242         * modules/uniconv/u16-conv-from-enc-tests
25243         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
25244         * modules/uniconv/u16-conv-to-enc-tests
25245         (test_u16_conv_to_enc_LDADD): Likewise.
25246         * modules/uniconv/u16-strconv-from-enc-tests
25247         (test_u16_strconv_from_enc_LDADD): Likewise.
25248         * modules/uniconv/u16-strconv-to-enc-tests
25249         (test_u16_strconv_to_enc_LDADD): Likewise.
25250         * modules/uniconv/u32-conv-from-enc-tests
25251         (test_u32_conv_from_enc_LDADD): Likewise.
25252         * modules/uniconv/u32-conv-to-enc-tests
25253         (test_u32_conv_to_enc_LDADD): Likewise.
25254         * modules/uniconv/u32-strconv-from-enc-tests
25255         (test_u32_strconv_from_enc_LDADD): Likewise.
25256         * modules/uniconv/u32-strconv-to-enc-tests
25257         (test_u32_strconv_to_enc_LDADD): Likewise.
25258         * modules/uniconv/u8-conv-from-enc-tests
25259         (test_u8_conv_from_enc_LDADD): Likewise.
25260         * modules/uniconv/u8-conv-to-enc-tests
25261         (test_u8_conv_to_enc_LDADD): Likewise.
25262         * modules/uniconv/u8-strconv-from-enc-tests
25263         (test_u8_strconv_from_enc_LDADD): Likewise.
25264         * modules/uniconv/u8-strconv-to-enc-tests
25265         (test_u8_strconv_to_enc_LDADD): Likewise.
25266
25267 2007-10-22  Bruno Haible  <bruno@clisp.org>
25268
25269         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
25270         size.
25271
25272 2007-10-22  Eric Blake  <ebb9@byu.net>
25273
25274         Tweak x*printf documentation.
25275         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
25276         variable name and comments.
25277         Suggested by Bruno Haible.
25278
25279 2007-10-22  Bruno Haible  <bruno@clisp.org>
25280
25281         * lib/acl.c (copy_acl): Fix file name in comment.
25282
25283 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
25284
25285         Fix Tru64 problem with stdbool.h.
25286         * lib/stdbool.in.h (false, true):
25287         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
25288         Don't declare as an enum in this situation; it runs afoul of Tru64.
25289         Problem reported by Steven M. Schweda in
25290         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
25291
25292 2007-10-22  Eric Blake  <ebb9@byu.net>
25293
25294         Also wrap vf?printf.
25295         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
25296         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
25297         (xvprintf, xvfprintf): New functions.
25298
25299 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25300
25301         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
25302         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
25303
25304         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
25305         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
25306
25307 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
25308
25309         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
25310         by Bruno Haible.
25311
25312 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25313
25314         * lib/getloadavg.c
25315         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
25316         Undef `sys' after including sys/table.h, for Tru64 4.0D.
25317
25318         * tests/test-i-ring.c: Work for C89.
25319
25320 2007-10-22  Bruno Haible  <bruno@clisp.org>
25321
25322         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
25323         -1u, in preprocessor expression, so that we don't test for the bug
25324         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
25325         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
25326
25327 2007-10-22  Eric Blake  <ebb9@byu.net>
25328
25329         * tests/test-yesno.sh: Silence stderr during test.
25330
25331 2007-10-22  Simon Josefsson  <simon@josefsson.org>
25332
25333         * modules/crypto/gc-camellia: New file.
25334
25335         * m4/gc-camellia.m4: New file.
25336
25337         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
25338
25339         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
25340
25341 2007-10-22  Simon Josefsson  <simon@josefsson.org>
25342
25343         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
25344         --help to stdout.  Reported by sms@antinode.org (Steven
25345         M. Schweda).
25346
25347 2007-10-22  Simon Josefsson  <simon@josefsson.org>
25348
25349         * users.txt: Fix link to libksba.
25350
25351 2007-10-21  Ben Pfaff  <blp@gnu.org>
25352
25353         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
25354         round.c roundf implementation that depends on floorf and ceilf to
25355         be tested unconditionally.
25356
25357 2007-10-21  Ben Pfaff  <blp@gnu.org>
25358
25359         * m4/check-libm-func.m4: Removed.
25360         * m4/check-math-lib.m4: New file.
25361         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
25362         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
25363         definition and lack of AC_LIBOBJ([roundf]).
25364         * m4/roundl.m4: Ditto, and similarly for roundl.
25365         * modules/round: Reference new m4 file.
25366         * modules/roundf: Ditto.
25367         * modules/roundl: Ditto.
25368         * tests/test-round2.c (main): Use ROUND instead of round.
25369         Bug report from Bruno Haible.
25370
25371 2007-10-21  Bruno Haible  <bruno@clisp.org>
25372
25373         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
25374         context.
25375
25376 2007-10-21  Bruno Haible  <bruno@clisp.org>
25377
25378         * tests/test-wcwidth.c (main): Allow negative result for some control
25379         characters.
25380
25381         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
25382         Needed on OSF/1 5.1.
25383
25384 2007-10-21  Bruno Haible  <bruno@clisp.org>
25385
25386         * tests/test-floorf1.c: Include isnanf.h.
25387         (main): Use isnanf() instead of isnan().
25388         * tests/test-ceilf1.c: Include isnanf.h.
25389         (main): Use isnanf() instead of isnan().
25390         * tests/test-truncf1.c: Include isnanf.h.
25391         (main): Use isnanf() instead of isnan().
25392         * tests/test-roundf1.c: Include isnanf.h.
25393         (main): Use isnanf() instead of isnan().
25394
25395 2007-10-21  Eric Blake  <ebb9@byu.net>
25396
25397         * users.txt: Update URL for m4.
25398
25399 2007-10-21  Bruno Haible  <bruno@clisp.org>
25400
25401         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
25402
25403 2007-10-21  Bruno Haible  <bruno@clisp.org>
25404
25405         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
25406         Git's management files if the CVS files are not present.
25407
25408 2007-10-20  Bruno Haible  <bruno@clisp.org>
25409
25410         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
25411         gcc-3.4.x.
25412
25413 2007-10-20  Ben Pfaff  <blp@gnu.org>
25414
25415         * lib/math.in.h: Declare round, roundf, roundl if we are providing
25416         implementations.
25417         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
25418         * lib/round.c: New file.
25419         * lib/roundf.c: New file.
25420         * lib/roundl.c: New file.
25421         * m4/round.m4: New file.
25422         * m4/roundf.m4: New file.
25423         * m4/roundl.m4: New file.
25424         * m4/check-libm-func-m4: New file.
25425         * modules/math: Replace round, roundf, roundl related @VARS@ in
25426         math.in.h.
25427         * modules/round: New file.
25428         * modules/round-tests: New file.
25429         * modules/roundf: New file.
25430         * modules/roundf-tests: New file.
25431         * modules/roundl: New file.
25432         * modules/roundl-tests: New file.
25433         * tests/test-round1.c: New file.
25434         * tests/test-round2.c: New file.
25435         * tests/test-roundf1.c: New file.
25436         * tests/test-roundf2.c: New file.
25437         * tests/test-roundl.c: New file.
25438         * doc/functions/round.texi: Mention round module.
25439         * doc/functions/roundf.texi: Mention roundf module.
25440         * doc/functions/roundl.texi: Mention roundl module.
25441         * MODULES.html.sh: Mention new modules.
25442         Thanks to Bruno Haible for suggestions.
25443
25444 2007-10-20  Jim Meyering  <meyering@redhat.com>
25445
25446         * lib/xprintf.c: Include <config.h> unconditionally.
25447
25448         Change xprintf's license to GPL.
25449         * modules/xprintf (License): s/LGPL/GPL/, since this module
25450         depends on modules (exit and exitfail) which are GPL.
25451         Suggestion from Bruno Haible.
25452
25453         xprintf fixes.
25454         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
25455         Use a clearer diagnostic.
25456         Patch from Bruno Haible.
25457
25458 2007-10-20  Bruno Haible  <bruno@clisp.org>
25459
25460         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
25461         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
25462         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
25463
25464 2007-10-20  Bruno Haible  <bruno@clisp.org>
25465
25466         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
25467         precision in the comparison result > x - 1 or similar.
25468         * tests/test-ceilf2.c (correct_result_p): Likewise.
25469         * tests/test-truncf2.c (correct_result_p): Likewise.
25470         * tests/test-trunc2.c (correct_result_p): Likewise.
25471         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
25472
25473 2007-10-20  Bruno Haible  <bruno@clisp.org>
25474
25475         * modules/ceil: New file.
25476         * m4/ceil.m4: New file.
25477         * doc/functions/ceil.texi: Mention the 'ceil' module.
25478
25479 2007-10-20  Bruno Haible  <bruno@clisp.org>
25480
25481         * modules/floor: New file.
25482         * m4/floor.m4: New file.
25483         * doc/functions/floor.texi: Mention the 'floor' module.
25484
25485 2007-10-20  Bruno Haible  <bruno@clisp.org>
25486
25487         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
25488         of %a.
25489         * modules/floorf-tests (Depends-on): Likewise.
25490         * modules/truncf-tests (Depends-on): Likewise.
25491         * modules/trunc-tests (Depends-on): Likewise.
25492         Reported by Ben Pfaff.
25493
25494 2007-10-19  Jim Meyering  <meyering@redhat.com>
25495
25496         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
25497         Don't bother testing specific errno values.  Just test ferror.
25498
25499         New module: xprintf
25500         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
25501
25502 2007-10-19  Bruno Haible  <bruno@clisp.org>
25503
25504         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
25505         syntax.
25506         * modules/javaexec (Makefile.am): Likewise.
25507         * modules/relocatable-prog (Makefile.am): Likewise.
25508         Suggested by Jim Meyering.
25509
25510 2007-10-18  Bruno Haible  <bruno@clisp.org>
25511
25512         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
25513         Reported by Jim Meyering.
25514
25515 2007-10-18  Eric Blake  <ebb9@byu.net>
25516
25517         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
25518
25519 2007-10-18  Bruno Haible  <bruno@clisp.org>
25520
25521         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
25522         the format string into writable memory. Needed in Fortify conditions.
25523
25524 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
25525             Bruno Haible  <bruno@clisp.org>
25526
25527         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
25528         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
25529         * modules/trim (Depends-on): Add mbchar.
25530         (configure.ac): Add gl_FUNC_MBRTOWC.
25531         (Makefile.am): Augment lib_SOURCES.
25532
25533 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
25534
25535         Modify glob.c to use fstatat and dirfd, to simplify it.
25536         Suggested by Eric Blake.
25537         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
25538         Don't include <stdbool.h>; not used.
25539         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
25540         (link_exists_p): Simplify implementation, since we can now assume
25541         dirfd and fstatat.
25542         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
25543
25544 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25545
25546         * gnulib-tool (func_get_dependencies): Fix sed script to
25547         match only tests.
25548
25549 2007-10-17  Bruno Haible  <bruno@clisp.org>
25550
25551         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
25552         allow locale names without encoding suffix.
25553         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
25554         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
25555
25556 2007-10-16  Bruno Haible  <bruno@clisp.org>
25557
25558         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
25559         * lib/getgroups.c (getgroups): Likewise.
25560         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
25561
25562 2007-10-16  Bruno Haible  <bruno@clisp.org>
25563
25564         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
25565         * modules/malloc-posix (License): Likewise.
25566         * modules/realloc-posix (License): Likewise.
25567         * modules/calloc-posix (License): Likewise.
25568         * modules/intprops (License): Change from GPL to LGPL, with
25569         Paul Eggert's approval.
25570
25571 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
25572
25573         Merge glibc changes into lib/glob.c.
25574
25575         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
25576         2007-10-15 04:59:03 UTC.  Here are the changes:
25577
25578         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
25579
25580         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
25581
25582         * lib/glob.c: Add some branch prediction throughout.
25583
25584         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
25585
25586         [BZ #5103]
25587         * lib/glob.c (glob): Recognize patterns starting \/.
25588
25589         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
25590
25591         [BZ #3996]
25592         * lib/glob.c (attribute_hidden): Define if not defined.
25593         (glob): Unescape dirname, filename or username when needed and not
25594         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
25595         is NULL.  Handle unescaped [ in pattern without closing ].
25596         Don't pass GLOB_CHECK down to recursive glob for directories.
25597         (__glob_pattern_type): New function.
25598         (__glob_pattern_p): Implement using __glob_pattern_type.
25599         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
25600         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
25601         Remove unreachable code.
25602
25603         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
25604
25605         * lib/glob.c (glob_in_dir): Add some comments and asserts to
25606         explain why there are no leaks.
25607
25608         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
25609
25610         [BZ #3253]
25611         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
25612         time, rather allocate increasingly bigger arrays of pointers, if
25613         possible with alloca, if too large with malloc.
25614
25615 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
25616
25617         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
25618         Problem reported by H.Merijn Brand in
25619         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
25620         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
25621         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
25622
25623 2007-10-15  Bruno Haible  <bruno@clisp.org>
25624
25625         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
25626         with explicit rpl_ prefix.
25627         * lib/fopen.c (fopen): Likewise.
25628         * lib/freopen.c (freopen): Likewise.
25629         * lib/iconv.c (iconv): Likewise.
25630         * lib/iconv_close.c (iconv_close): Likewise.
25631
25632 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25633
25634         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
25635
25636 2007-10-15  Bruno Haible  <bruno@clisp.org>
25637
25638         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
25639         <stddef.h> instead of <stdlib.h> since we only need NULL.
25640         Reported by Ben Pfaff <blp@cs.stanford.edu>.
25641
25642 2007-10-15  Bruno Haible  <bruno@clisp.org>
25643
25644         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
25645         Replace paragraph talking about LIBOBJS.
25646         Reported by Colin Watson <cjwatson@debian.org>.
25647
25648 2007-10-15  Bruno Haible  <bruno@clisp.org>
25649
25650         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
25651         <stdlib.h> before using NULL.
25652
25653 2007-10-15  Simon Josefsson  <simon@josefsson.org>
25654
25655         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
25656         Reported by Albert Chin <china@thewrittenword.com>.
25657
25658 2007-10-14  Bruno Haible  <bruno@clisp.org>
25659
25660         * modules/iconv_open-utf-tests: New file.
25661         * tests/test-iconv-utf.c: New file.
25662
25663         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
25664         * modules/iconv_open-utf: New file.
25665         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
25666         (iconv, iconv_close): New declarations.
25667         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
25668         be defined.
25669         (iconv_open): Add special handling of conversion between UTF-8 and
25670         UTF-{16,32}{BE,LE}.
25671         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
25672         * lib/iconv_close.c: New file.
25673         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
25674         gl_FUNC_ICONV_OPEN.
25675         (gl_FUNC_ICONV_OPEN): Use it.
25676         (gl_FUNC_ICONV_OPEN_UTF): New macro.
25677         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
25678         and REPLACE_ICONV_UTF.
25679         * modules/iconv_open (Depends-on): Add c-strcase.
25680         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
25681         ICONV_CONST.
25682         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
25683
25684 2007-10-13  Albert Chin  <china@thewrittenword.com>
25685             Bruno Haible  <bruno@clisp.org>
25686
25687         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
25688         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
25689
25690 2007-10-13  Bruno Haible  <bruno@clisp.org>
25691
25692         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
25693         defined, use the ISO C99 inline semantics.
25694         * lib/argp.h (ARGP_EI): Likewise.
25695
25696 2007-10-13  Bruno Haible  <bruno@clisp.org>
25697
25698         Handle 'inline' change in gcc 4.3.0.
25699         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
25700         argp_fmtstream_write, argp_fmtstream_set_lmargin,
25701         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
25702         argp_fmtstream_point): Disable 'extern' declaration if the function
25703         definition is going to be provided inline.
25704         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
25705         semantics, not the ISO C99 inline semantics.
25706         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
25707         'extern' declaration if the function definition is going to be provided
25708         inline.
25709         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
25710         the GNU C inline semantics, not the ISO C99 inline semantics. With
25711         GCC 4.2, avoid a warning.
25712
25713 2007-10-13  Bruno Haible  <bruno@clisp.org>
25714
25715         * lib/freading.h (freading): Enable the use of __freading for
25716         glibc >= 2.7.
25717         * lib/freading.c (freading): Likewise.
25718
25719 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
25720
25721         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
25722         "warning: C99 inline functions are not supported; using GNU89".
25723
25724 2007-10-12  Bruno Haible  <bruno@clisp.org>
25725
25726         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
25727         of 2.
25728         * tests/test-ceilf2.c: New file.
25729         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
25730
25731         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
25732         * modules/ceilf-tests: Update.
25733
25734 2007-10-12  Bruno Haible  <bruno@clisp.org>
25735
25736         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
25737         of 2.
25738         * tests/test-floorf2.c: New file.
25739         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
25740
25741         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
25742         * modules/floorf-tests: Update.
25743
25744 2007-10-12  Bruno Haible  <bruno@clisp.org>
25745
25746         * tests/test-trunc2.c: New file.
25747         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
25748
25749         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
25750         * modules/trunc-tests: Update.
25751
25752 2007-10-12  Bruno Haible  <bruno@clisp.org>
25753
25754         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
25755         of 2.
25756         * tests/test-truncf2.c: New file.
25757         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
25758
25759         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
25760         * modules/truncf-tests: Update.
25761
25762 2007-10-11  Eric Blake  <ebb9@byu.net>
25763
25764         Don't claim strerror is broken on Interix.
25765         * doc/functions/strerror.texi (strerror): Known broken systems are
25766         now Solaris 8, and not Interix.
25767         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
25768         Interix on cross-compile.
25769         Reported by Martin Koeppe in
25770         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
25771
25772 2007-10-11  Bruno Haible  <bruno@clisp.org>
25773
25774         * modules/i-ring-tests: New file.
25775         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
25776         instead of assert.
25777
25778 2007-10-11  Bruno Haible  <bruno@clisp.org>
25779
25780         * modules/filenamecat-tests: New file.
25781         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
25782         * lib/filenamecat.c: Remove test code.
25783
25784 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
25785
25786         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
25787
25788         * lib/strerror.c: Include <string.h> always, to test interface,
25789         and to remove the need for the dummy.
25790         Include intprops.h to compute width instead of doing it ourselves
25791         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
25792         (strerror): Define it to return NULL if there's no system strerror.
25793         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
25794         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
25795         ancient pre-strerror Unix systems well any more.  Saying "unknown
25796         system error" is enough.
25797         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
25798         simpler strerror.c implementation.
25799         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
25800         Simplify the tests to reflect the simpler strerror implementation.
25801         * modules/strerror (Depends-on): Add intprops.
25802
25803 2007-10-09  Eric Blake  <ebb9@byu.net>
25804
25805         Silence test-fpending.
25806         * modules/fpending-tests (Files): Add wrapper script.
25807         * tests/test-fpending.sh: New file.
25808
25809 2007-10-09  Bruno Haible  <bruno@clisp.org>
25810
25811         * MODULES.html.sh (func_module): Don't create a hyperlink for
25812         function names like 'printf_frexp'.
25813         (Misc): Add crc, memxor.
25814         (Characteristics of floating types): New section.
25815         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
25816         isnanf-nolibm, signbit, trunc, truncf, truncl.
25817         (Enhancements for ISO C 99 functions): New subsection Input/output.
25818         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
25819         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
25820         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
25821         (Compatibility checks for POSIX:2001 functions): Add clock-time.
25822         (Enhancements for POSIX:2001 functions): Add chdir-long.
25823         (File system functions): Add areadlink, chdir-safer, read-file.
25824         Remove cycle-check.
25825         (File system as inode set): New section.
25826         (Date and time): Add gethrxtime.
25827         (Multithreading): Add openmp.
25828         (Internationalization functions): Add localename.
25829         (Unicode string functions): Add unistr/u*-mbsnlen.
25830         (Support for maintaining and releasing projects): Add git-version-gen.
25831         (Lone files): Remove directories.
25832
25833 2007-10-08  Ben Pfaff  <blp@gnu.org>
25834
25835         * lib/xmalloca.h: Fix typo in comment.
25836
25837 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
25838
25839         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
25840         when avoiding problems with integer overflow.  Use a portable test
25841         instead.
25842
25843 2007-10-08  Simon Josefsson  <simon@josefsson.org>
25844
25845         * modules/dummy (License): Change to LGPLv2+.
25846         * modules/float (License): Likewise
25847         * modules/realloc (License): Likewise
25848         * modules/stdlib (License): Likewise
25849
25850 2007-10-07  Bruno Haible  <bruno@clisp.org>
25851
25852         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
25853         * floor.c (TWO_MANT_DIG): Likewise.
25854         * ceil.c (TWO_MANT_DIG): Likewise.
25855         Reported by Ben Pfaff.
25856
25857 2007-10-07  Bruno Haible  <bruno@clisp.org>
25858
25859         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
25860         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
25861         * lib/frexp.c (FUNC): Likewise.
25862         * lib/printf-frexp.h (printf_frexp): Likewise.
25863         * lib/printf-frexpl.h (printf_frexpl): Likewise.
25864         * lib/printf-frexp.c (FUNC): Likewise.
25865         Suggested by Jim Meyering.
25866
25867 2007-10-07  Jim Meyering  <meyering@redhat.com>
25868
25869         Make xnanosleep's integer overflow test more robust.
25870         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
25871         so that gcc-4.3.0 doesn't optimize away this test for overflow.
25872
25873 2007-10-07  Bruno Haible  <bruno@clisp.org>
25874
25875         * NEWS: Mention the license change.
25876
25877         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
25878         abbreviations in the modules files.
25879
25880         Change copyright notice from GPLv2+ to GPLv3+.
25881         * README: Change copyright notice.
25882         * MODULES.html.sh: Likewise.
25883         * build-aux/bootstrap.conf: Likewise.
25884         * build-aux/config.libpath: Likewise.
25885         * build-aux/csharpcomp.sh.in: Likewise.
25886         * build-aux/csharpexec.sh.in: Likewise.
25887         * build-aux/install-reloc: Likewise.
25888         * build-aux/javacomp.sh.in: Likewise.
25889         * build-aux/javaexec.sh.in: Likewise.
25890         * build-aux/ldd.sh.in: Likewise.
25891         * build-aux/reloc-ldflags: Likewise.
25892         * build-aux/relocatable.sh.in: Likewise.
25893         * build-aux/x-to-1.in: Likewise.
25894         * check-module: Likewise.
25895         * config/srclistvars.sh: Likewise.
25896         * gnulib-tool: Likewise.
25897         * lib/acl-internal.h: Likewise.
25898         * lib/acl.c: Likewise.
25899         * lib/acl.h: Likewise.
25900         * lib/acl_entries.c: Likewise.
25901         * lib/areadlink-with-size.c: Likewise.
25902         * lib/areadlink.c: Likewise.
25903         * lib/areadlink.h: Likewise.
25904         * lib/argmatch.c: Likewise.
25905         * lib/argmatch.h: Likewise.
25906         * lib/argp-ba.c: Likewise.
25907         * lib/argp-eexst.c: Likewise.
25908         * lib/argp-fmtstream.c: Likewise.
25909         * lib/argp-fmtstream.h: Likewise.
25910         * lib/argp-fs-xinl.c: Likewise.
25911         * lib/argp-help.c: Likewise.
25912         * lib/argp-namefrob.h: Likewise.
25913         * lib/argp-parse.c: Likewise.
25914         * lib/argp-pin.c: Likewise.
25915         * lib/argp-pv.c: Likewise.
25916         * lib/argp-pvh.c: Likewise.
25917         * lib/argp-xinl.c: Likewise.
25918         * lib/argp.h: Likewise.
25919         * lib/at-func.c: Likewise.
25920         * lib/atanl.c: Likewise.
25921         * lib/backupfile.c: Likewise.
25922         * lib/backupfile.h: Likewise.
25923         * lib/basename.c: Likewise.
25924         * lib/binary-io.h: Likewise.
25925         * lib/byteswap.in.h: Likewise.
25926         * lib/c-stack.c: Likewise.
25927         * lib/c-stack.h: Likewise.
25928         * lib/c-strcasestr.c: Likewise.
25929         * lib/c-strcasestr.h: Likewise.
25930         * lib/c-strstr.c: Likewise.
25931         * lib/c-strstr.h: Likewise.
25932         * lib/c-strtod.c: Likewise.
25933         * lib/calloc.c: Likewise.
25934         * lib/canon-host.c: Likewise.
25935         * lib/canon-host.h: Likewise.
25936         * lib/canonicalize-lgpl.c: Likewise.
25937         * lib/canonicalize.c: Likewise.
25938         * lib/canonicalize.h: Likewise.
25939         * lib/ceil.c: Likewise.
25940         * lib/ceilf.c: Likewise.
25941         * lib/ceill.c: Likewise.
25942         * lib/chdir-long.c: Likewise.
25943         * lib/chdir-long.h: Likewise.
25944         * lib/chdir-safer.c: Likewise.
25945         * lib/chdir-safer.h: Likewise.
25946         * lib/chown.c: Likewise.
25947         * lib/classpath.c: Likewise.
25948         * lib/classpath.h: Likewise.
25949         * lib/clean-temp.c: Likewise.
25950         * lib/clean-temp.h: Likewise.
25951         * lib/cloexec.c: Likewise.
25952         * lib/close-stream.c: Likewise.
25953         * lib/closein.c: Likewise.
25954         * lib/closein.h: Likewise.
25955         * lib/closeout.c: Likewise.
25956         * lib/closeout.h: Likewise.
25957         * lib/concat-filename.c: Likewise.
25958         * lib/copy-file.c: Likewise.
25959         * lib/copy-file.h: Likewise.
25960         * lib/count-one-bits.h: Likewise.
25961         * lib/crc.c: Likewise.
25962         * lib/crc.h: Likewise.
25963         * lib/creat-safer.c: Likewise.
25964         * lib/csharpcomp.c: Likewise.
25965         * lib/csharpcomp.h: Likewise.
25966         * lib/csharpexec.c: Likewise.
25967         * lib/csharpexec.h: Likewise.
25968         * lib/cycle-check.c: Likewise.
25969         * lib/cycle-check.h: Likewise.
25970         * lib/diacrit.c: Likewise.
25971         * lib/diacrit.h: Likewise.
25972         * lib/diffseq.h: Likewise.
25973         * lib/dirchownmod.c: Likewise.
25974         * lib/dirent.in.h: Likewise.
25975         * lib/dirfd.c: Likewise.
25976         * lib/dirfd.h: Likewise.
25977         * lib/dirname.c: Likewise.
25978         * lib/dirname.h: Likewise.
25979         * lib/dummy.c: Likewise.
25980         * lib/dup-safer.c: Likewise.
25981         * lib/dup2.c: Likewise.
25982         * lib/eealloc.h: Likewise.
25983         * lib/error.c: Likewise.
25984         * lib/error.h: Likewise.
25985         * lib/euidaccess.c: Likewise.
25986         * lib/exclude.c: Likewise.
25987         * lib/exclude.h: Likewise.
25988         * lib/execute.c: Likewise.
25989         * lib/execute.h: Likewise.
25990         * lib/exitfail.c: Likewise.
25991         * lib/exitfail.h: Likewise.
25992         * lib/expl.c: Likewise.
25993         * lib/fatal-signal.c: Likewise.
25994         * lib/fatal-signal.h: Likewise.
25995         * lib/fbufmode.c: Likewise.
25996         * lib/fbufmode.h: Likewise.
25997         * lib/fchdir.c: Likewise.
25998         * lib/fchmodat.c: Likewise.
25999         * lib/fchownat.c: Likewise.
26000         * lib/fcntl--.h: Likewise.
26001         * lib/fcntl-safer.h: Likewise.
26002         * lib/fcntl.in.h: Likewise.
26003         * lib/fd-safer.c: Likewise.
26004         * lib/fflush.c: Likewise.
26005         * lib/file-has-acl.c: Likewise.
26006         * lib/file-set.c: Likewise.
26007         * lib/file-type.c: Likewise.
26008         * lib/file-type.h: Likewise.
26009         * lib/fileblocks.c: Likewise.
26010         * lib/filemode.c: Likewise.
26011         * lib/filemode.h: Likewise.
26012         * lib/filename.h: Likewise.
26013         * lib/filenamecat.c: Likewise.
26014         * lib/filenamecat.h: Likewise.
26015         * lib/findprog.c: Likewise.
26016         * lib/findprog.h: Likewise.
26017         * lib/float.in.h: Likewise.
26018         * lib/floor.c: Likewise.
26019         * lib/floorf.c: Likewise.
26020         * lib/floorl.c: Likewise.
26021         * lib/fopen-safer.c: Likewise.
26022         * lib/fopen.c: Likewise.
26023         * lib/fpending.c: Likewise.
26024         * lib/fpending.h: Likewise.
26025         * lib/fprintf.c: Likewise.
26026         * lib/fprintftime.h: Likewise.
26027         * lib/fpucw.h: Likewise.
26028         * lib/fpurge.c: Likewise.
26029         * lib/fpurge.h: Likewise.
26030         * lib/freadable.c: Likewise.
26031         * lib/freadable.h: Likewise.
26032         * lib/freadahead.c: Likewise.
26033         * lib/freadahead.h: Likewise.
26034         * lib/freading.c: Likewise.
26035         * lib/freading.h: Likewise.
26036         * lib/free.c: Likewise.
26037         * lib/freopen.c: Likewise.
26038         * lib/frexp.c: Likewise.
26039         * lib/frexpl.c: Likewise.
26040         * lib/fseek.c: Likewise.
26041         * lib/fseterr.c: Likewise.
26042         * lib/fseterr.h: Likewise.
26043         * lib/fstatat.c: Likewise.
26044         * lib/fstrcmp.c: Likewise.
26045         * lib/fstrcmp.h: Likewise.
26046         * lib/fsusage.c: Likewise.
26047         * lib/fsusage.h: Likewise.
26048         * lib/ftell.c: Likewise.
26049         * lib/ftello.c: Likewise.
26050         * lib/fts-cycle.c: Likewise.
26051         * lib/fts.c: Likewise.
26052         * lib/fts_.h: Likewise.
26053         * lib/full-read.c: Likewise.
26054         * lib/full-read.h: Likewise.
26055         * lib/full-write.c: Likewise.
26056         * lib/full-write.h: Likewise.
26057         * lib/fwritable.c: Likewise.
26058         * lib/fwritable.h: Likewise.
26059         * lib/fwriteerror.c: Likewise.
26060         * lib/fwriteerror.h: Likewise.
26061         * lib/fwriting.c: Likewise.
26062         * lib/fwriting.h: Likewise.
26063         * lib/gcd.c: Likewise.
26064         * lib/gcd.h: Likewise.
26065         * lib/getcwd.c: Likewise.
26066         * lib/getdate.h: Likewise.
26067         * lib/getdate.y: Likewise.
26068         * lib/getdomainname.c: Likewise.
26069         * lib/getdomainname.h: Likewise.
26070         * lib/getgroups.c: Likewise.
26071         * lib/gethostname.c: Likewise.
26072         * lib/gethrxtime.c: Likewise.
26073         * lib/gethrxtime.h: Likewise.
26074         * lib/getloadavg.c: Likewise.
26075         * lib/getndelim2.c: Likewise.
26076         * lib/getndelim2.h: Likewise.
26077         * lib/getnline.c: Likewise.
26078         * lib/getnline.h: Likewise.
26079         * lib/getopt.c: Likewise.
26080         * lib/getopt.in.h: Likewise.
26081         * lib/getopt1.c: Likewise.
26082         * lib/getopt_int.h: Likewise.
26083         * lib/getpagesize.h: Likewise.
26084         * lib/getsubopt.c: Likewise.
26085         * lib/gettime.c: Likewise.
26086         * lib/getugroups.c: Likewise.
26087         * lib/getugroups.h: Likewise.
26088         * lib/getusershell.c: Likewise.
26089         * lib/gl_anyavltree_list1.h: Likewise.
26090         * lib/gl_anyavltree_list2.h: Likewise.
26091         * lib/gl_anyhash_list1.h: Likewise.
26092         * lib/gl_anyhash_list2.h: Likewise.
26093         * lib/gl_anylinked_list1.h: Likewise.
26094         * lib/gl_anylinked_list2.h: Likewise.
26095         * lib/gl_anyrbtree_list1.h: Likewise.
26096         * lib/gl_anyrbtree_list2.h: Likewise.
26097         * lib/gl_anytree_list1.h: Likewise.
26098         * lib/gl_anytree_list2.h: Likewise.
26099         * lib/gl_anytree_oset.h: Likewise.
26100         * lib/gl_anytreehash_list1.h: Likewise.
26101         * lib/gl_anytreehash_list2.h: Likewise.
26102         * lib/gl_array_list.c: Likewise.
26103         * lib/gl_array_list.h: Likewise.
26104         * lib/gl_array_oset.c: Likewise.
26105         * lib/gl_array_oset.h: Likewise.
26106         * lib/gl_avltree_list.c: Likewise.
26107         * lib/gl_avltree_list.h: Likewise.
26108         * lib/gl_avltree_oset.c: Likewise.
26109         * lib/gl_avltree_oset.h: Likewise.
26110         * lib/gl_avltreehash_list.c: Likewise.
26111         * lib/gl_avltreehash_list.h: Likewise.
26112         * lib/gl_carray_list.c: Likewise.
26113         * lib/gl_carray_list.h: Likewise.
26114         * lib/gl_linked_list.c: Likewise.
26115         * lib/gl_linked_list.h: Likewise.
26116         * lib/gl_linkedhash_list.c: Likewise.
26117         * lib/gl_linkedhash_list.h: Likewise.
26118         * lib/gl_list.c: Likewise.
26119         * lib/gl_list.h: Likewise.
26120         * lib/gl_oset.c: Likewise.
26121         * lib/gl_oset.h: Likewise.
26122         * lib/gl_rbtree_list.c: Likewise.
26123         * lib/gl_rbtree_list.h: Likewise.
26124         * lib/gl_rbtree_oset.c: Likewise.
26125         * lib/gl_rbtree_oset.h: Likewise.
26126         * lib/gl_rbtreehash_list.c: Likewise.
26127         * lib/gl_rbtreehash_list.h: Likewise.
26128         * lib/gl_sublist.c: Likewise.
26129         * lib/gl_sublist.h: Likewise.
26130         * lib/group-member.c: Likewise.
26131         * lib/group-member.h: Likewise.
26132         * lib/hard-locale.c: Likewise.
26133         * lib/hard-locale.h: Likewise.
26134         * lib/hash-pjw.c: Likewise.
26135         * lib/hash-pjw.h: Likewise.
26136         * lib/hash-triple.c: Likewise.
26137         * lib/hash.c: Likewise.
26138         * lib/hash.h: Likewise.
26139         * lib/human.c: Likewise.
26140         * lib/human.h: Likewise.
26141         * lib/i-ring.c: Likewise.
26142         * lib/i-ring.h: Likewise.
26143         * lib/idcache.c: Likewise.
26144         * lib/imaxabs.c: Likewise.
26145         * lib/imaxdiv.c: Likewise.
26146         * lib/inet_pton.c: Likewise.
26147         * lib/inet_pton.h: Likewise.
26148         * lib/intprops.h: Likewise.
26149         * lib/inttostr.c: Likewise.
26150         * lib/inttostr.h: Likewise.
26151         * lib/inttypes.in.h: Likewise.
26152         * lib/isapipe.c: Likewise.
26153         * lib/isdir.c: Likewise.
26154         * lib/isnan.c: Likewise.
26155         * lib/isnan.h: Likewise.
26156         * lib/isnanf.c: Likewise.
26157         * lib/isnanf.h: Likewise.
26158         * lib/isnanl-nolibm.h: Likewise.
26159         * lib/isnanl.c: Likewise.
26160         * lib/isnanl.h: Likewise.
26161         * lib/javacomp.c: Likewise.
26162         * lib/javacomp.h: Likewise.
26163         * lib/javaexec.c: Likewise.
26164         * lib/javaexec.h: Likewise.
26165         * lib/javaversion.c: Likewise.
26166         * lib/javaversion.h: Likewise.
26167         * lib/javaversion.java: Likewise.
26168         * lib/lbrkprop.h: Likewise.
26169         * lib/lchmod.h: Likewise.
26170         * lib/lchown.c: Likewise.
26171         * lib/ldexpl.c: Likewise.
26172         * lib/linebreak.c: Likewise.
26173         * lib/linebreak.h: Likewise.
26174         * lib/linebuffer.c: Likewise.
26175         * lib/linebuffer.h: Likewise.
26176         * lib/locale.in.h: Likewise.
26177         * lib/logl.c: Likewise.
26178         * lib/long-options.c: Likewise.
26179         * lib/long-options.h: Likewise.
26180         * lib/lstat.c: Likewise.
26181         * lib/lstat.h: Likewise.
26182         * lib/math.in.h: Likewise.
26183         * lib/mbchar.c: Likewise.
26184         * lib/mbchar.h: Likewise.
26185         * lib/mbfile.h: Likewise.
26186         * lib/mbiter.h: Likewise.
26187         * lib/mbscasecmp.c: Likewise.
26188         * lib/mbscasestr.c: Likewise.
26189         * lib/mbschr.c: Likewise.
26190         * lib/mbscspn.c: Likewise.
26191         * lib/mbslen.c: Likewise.
26192         * lib/mbsncasecmp.c: Likewise.
26193         * lib/mbsnlen.c: Likewise.
26194         * lib/mbspbrk.c: Likewise.
26195         * lib/mbspcasecmp.c: Likewise.
26196         * lib/mbsrchr.c: Likewise.
26197         * lib/mbssep.c: Likewise.
26198         * lib/mbsspn.c: Likewise.
26199         * lib/mbsstr.c: Likewise.
26200         * lib/mbstok_r.c: Likewise.
26201         * lib/mbswidth.c: Likewise.
26202         * lib/mbswidth.h: Likewise.
26203         * lib/mbuiter.h: Likewise.
26204         * lib/memcasecmp.c: Likewise.
26205         * lib/memcasecmp.h: Likewise.
26206         * lib/memchr.c: Likewise.
26207         * lib/memcmp.c: Likewise.
26208         * lib/memcoll.c: Likewise.
26209         * lib/memcoll.h: Likewise.
26210         * lib/memcpy.c: Likewise.
26211         * lib/memrchr.c: Likewise.
26212         * lib/mkancesdirs.c: Likewise.
26213         * lib/mkdir-p.c: Likewise.
26214         * lib/mkdir-p.h: Likewise.
26215         * lib/mkdir.c: Likewise.
26216         * lib/mkdirat.c: Likewise.
26217         * lib/mkdtemp.c: Likewise.
26218         * lib/mkstemp-safer.c: Likewise.
26219         * lib/mkstemp.c: Likewise.
26220         * lib/modechange.c: Likewise.
26221         * lib/modechange.h: Likewise.
26222         * lib/mountlist.c: Likewise.
26223         * lib/mountlist.h: Likewise.
26224         * lib/mpsort.c: Likewise.
26225         * lib/nanosleep.c: Likewise.
26226         * lib/obstack.c: Likewise.
26227         * lib/obstack.h: Likewise.
26228         * lib/open-safer.c: Likewise.
26229         * lib/open.c: Likewise.
26230         * lib/openat-die.c: Likewise.
26231         * lib/openat-priv.h: Likewise.
26232         * lib/openat-proc.c: Likewise.
26233         * lib/openat.c: Likewise.
26234         * lib/openat.h: Likewise.
26235         * lib/pagealign_alloc.c: Likewise.
26236         * lib/pagealign_alloc.h: Likewise.
26237         * lib/physmem.c: Likewise.
26238         * lib/physmem.h: Likewise.
26239         * lib/pipe-safer.c: Likewise.
26240         * lib/pipe.c: Likewise.
26241         * lib/pipe.h: Likewise.
26242         * lib/posixtm.c: Likewise.
26243         * lib/posixtm.h: Likewise.
26244         * lib/posixver.c: Likewise.
26245         * lib/printf-frexp.c: Likewise.
26246         * lib/printf-frexp.h: Likewise.
26247         * lib/printf-frexpl.c: Likewise.
26248         * lib/printf-frexpl.h: Likewise.
26249         * lib/printf.c: Likewise.
26250         * lib/progname.c: Likewise.
26251         * lib/progname.h: Likewise.
26252         * lib/progreloc.c: Likewise.
26253         * lib/putenv.c: Likewise.
26254         * lib/quote.c: Likewise.
26255         * lib/quote.h: Likewise.
26256         * lib/quotearg.c: Likewise.
26257         * lib/quotearg.h: Likewise.
26258         * lib/raise.c: Likewise.
26259         * lib/readline.c: Likewise.
26260         * lib/readline.h: Likewise.
26261         * lib/readlink.c: Likewise.
26262         * lib/readtokens.c: Likewise.
26263         * lib/readtokens.h: Likewise.
26264         * lib/readtokens0.c: Likewise.
26265         * lib/readtokens0.h: Likewise.
26266         * lib/readutmp.c: Likewise.
26267         * lib/readutmp.h: Likewise.
26268         * lib/realloc.c: Likewise.
26269         * lib/relocwrapper.c: Likewise.
26270         * lib/rename-dest-slash.c: Likewise.
26271         * lib/rename.c: Likewise.
26272         * lib/rmdir.c: Likewise.
26273         * lib/rpmatch.c: Likewise.
26274         * lib/safe-read.c: Likewise.
26275         * lib/safe-read.h: Likewise.
26276         * lib/safe-write.c: Likewise.
26277         * lib/safe-write.h: Likewise.
26278         * lib/same-inode.h: Likewise.
26279         * lib/same.c: Likewise.
26280         * lib/same.h: Likewise.
26281         * lib/save-cwd.c: Likewise.
26282         * lib/save-cwd.h: Likewise.
26283         * lib/savedir.c: Likewise.
26284         * lib/savedir.h: Likewise.
26285         * lib/savewd.c: Likewise.
26286         * lib/savewd.h: Likewise.
26287         * lib/search.in.h: Likewise.
26288         * lib/setenv.c: Likewise.
26289         * lib/setenv.h: Likewise.
26290         * lib/settime.c: Likewise.
26291         * lib/sh-quote.c: Likewise.
26292         * lib/sh-quote.h: Likewise.
26293         * lib/sig2str.c: Likewise.
26294         * lib/sig2str.h: Likewise.
26295         * lib/signal.in.h: Likewise.
26296         * lib/signbitd.c: Likewise.
26297         * lib/signbitf.c: Likewise.
26298         * lib/signbitl.c: Likewise.
26299         * lib/sigprocmask.c: Likewise.
26300         * lib/sincosl.c: Likewise.
26301         * lib/sleep.c: Likewise.
26302         * lib/sprintf.c: Likewise.
26303         * lib/sqrtl.c: Likewise.
26304         * lib/stat-time.h: Likewise.
26305         * lib/stdio--.h: Likewise.
26306         * lib/stdio-safer.h: Likewise.
26307         * lib/stdlib--.h: Likewise.
26308         * lib/stdlib-safer.h: Likewise.
26309         * lib/stdlib.in.h: Likewise.
26310         * lib/stpcpy.c: Likewise.
26311         * lib/stpncpy.c: Likewise.
26312         * lib/strchrnul.c: Likewise.
26313         * lib/strcspn.c: Likewise.
26314         * lib/strerror.c: Likewise.
26315         * lib/strftime.c: Likewise.
26316         * lib/strftime.h: Likewise.
26317         * lib/striconveh.c: Likewise.
26318         * lib/striconveh.h: Likewise.
26319         * lib/striconveha.c: Likewise.
26320         * lib/striconveha.h: Likewise.
26321         * lib/stripslash.c: Likewise.
26322         * lib/strnlen1.c: Likewise.
26323         * lib/strnlen1.h: Likewise.
26324         * lib/strtod.c: Likewise.
26325         * lib/strtoimax.c: Likewise.
26326         * lib/strtok_r.c: Likewise.
26327         * lib/strtol.c: Likewise.
26328         * lib/strtoll.c: Likewise.
26329         * lib/strtoul.c: Likewise.
26330         * lib/strtoull.c: Likewise.
26331         * lib/sysexits.in.h: Likewise.
26332         * lib/tempname.c: Likewise.
26333         * lib/tempname.h: Likewise.
26334         * lib/timespec.h: Likewise.
26335         * lib/tls.c: Likewise.
26336         * lib/tls.h: Likewise.
26337         * lib/tmpdir.c: Likewise.
26338         * lib/tmpdir.h: Likewise.
26339         * lib/tmpfile-safer.c: Likewise.
26340         * lib/tmpfile.c: Likewise.
26341         * lib/trigl.c: Likewise.
26342         * lib/trigl.h: Likewise.
26343         * lib/trim.c: Likewise.
26344         * lib/trim.h: Likewise.
26345         * lib/trunc.c: Likewise.
26346         * lib/truncf.c: Likewise.
26347         * lib/truncl.c: Likewise.
26348         * lib/tsearch.c: Likewise.
26349         * lib/unicodeio.c: Likewise.
26350         * lib/unicodeio.h: Likewise.
26351         * lib/unistd--.h: Likewise.
26352         * lib/unistd-safer.h: Likewise.
26353         * lib/unistdio/ulc-fprintf.c: Likewise.
26354         * lib/unistdio/ulc-vfprintf.c: Likewise.
26355         * lib/unlinkdir.c: Likewise.
26356         * lib/unlinkdir.h: Likewise.
26357         * lib/unlocked-io.h: Likewise.
26358         * lib/unsetenv.c: Likewise.
26359         * lib/userspec.c: Likewise.
26360         * lib/utime.c: Likewise.
26361         * lib/utimecmp.c: Likewise.
26362         * lib/utimecmp.h: Likewise.
26363         * lib/utimens.c: Likewise.
26364         * lib/verify.h: Likewise.
26365         * lib/verror.c: Likewise.
26366         * lib/verror.h: Likewise.
26367         * lib/version-etc-fsf.c: Likewise.
26368         * lib/version-etc.c: Likewise.
26369         * lib/version-etc.h: Likewise.
26370         * lib/vfprintf.c: Likewise.
26371         * lib/vprintf.c: Likewise.
26372         * lib/vsprintf.c: Likewise.
26373         * lib/w32spawn.h: Likewise.
26374         * lib/wait-process.c: Likewise.
26375         * lib/wait-process.h: Likewise.
26376         * lib/wcwidth.c: Likewise.
26377         * lib/write-any-file.c: Likewise.
26378         * lib/xalloc-die.c: Likewise.
26379         * lib/xalloc.h: Likewise.
26380         * lib/xasprintf.c: Likewise.
26381         * lib/xgetcwd.c: Likewise.
26382         * lib/xgetcwd.h: Likewise.
26383         * lib/xgetdomainname.c: Likewise.
26384         * lib/xgetdomainname.h: Likewise.
26385         * lib/xgethostname.c: Likewise.
26386         * lib/xmalloc.c: Likewise.
26387         * lib/xmalloca.c: Likewise.
26388         * lib/xmalloca.h: Likewise.
26389         * lib/xmemcoll.c: Likewise.
26390         * lib/xnanosleep.c: Likewise.
26391         * lib/xreadlink.c: Likewise.
26392         * lib/xreadlink.h: Likewise.
26393         * lib/xsetenv.c: Likewise.
26394         * lib/xsetenv.h: Likewise.
26395         * lib/xstriconv.c: Likewise.
26396         * lib/xstriconv.h: Likewise.
26397         * lib/xstrndup.c: Likewise.
26398         * lib/xstrndup.h: Likewise.
26399         * lib/xstrtod.c: Likewise.
26400         * lib/xstrtod.h: Likewise.
26401         * lib/xstrtol-error.c: Likewise.
26402         * lib/xstrtol.c: Likewise.
26403         * lib/xstrtol.h: Likewise.
26404         * lib/xtime.h: Likewise.
26405         * lib/xvasprintf.c: Likewise.
26406         * lib/xvasprintf.h: Likewise.
26407         * lib/yesno.c: Likewise.
26408         * lib/yesno.h: Likewise.
26409         * posix-modules: Likewise.
26410         * tests/test-alloca-opt.c: Likewise.
26411         * tests/test-arcfour.c: Likewise.
26412         * tests/test-arctwo.c: Likewise.
26413         * tests/test-argmatch.c: Likewise.
26414         * tests/test-argp-2.sh: Likewise.
26415         * tests/test-argp.c: Likewise.
26416         * tests/test-arpa_inet.c: Likewise.
26417         * tests/test-array_list.c: Likewise.
26418         * tests/test-array_oset.c: Likewise.
26419         * tests/test-atexit.c: Likewise.
26420         * tests/test-avltree_list.c: Likewise.
26421         * tests/test-avltree_oset.c: Likewise.
26422         * tests/test-avltreehash_list.c: Likewise.
26423         * tests/test-base64.c: Likewise.
26424         * tests/test-binary-io.c: Likewise.
26425         * tests/test-byteswap.c: Likewise.
26426         * tests/test-c-ctype.c: Likewise.
26427         * tests/test-c-strcasecmp.c: Likewise.
26428         * tests/test-c-strcasestr.c: Likewise.
26429         * tests/test-c-strncasecmp.c: Likewise.
26430         * tests/test-c-strstr.c: Likewise.
26431         * tests/test-canonicalize-lgpl.c: Likewise.
26432         * tests/test-canonicalize.c: Likewise.
26433         * tests/test-carray_list.c: Likewise.
26434         * tests/test-ceilf.c: Likewise.
26435         * tests/test-ceill.c: Likewise.
26436         * tests/test-count-one-bits.c: Likewise.
26437         * tests/test-crc.c: Likewise.
26438         * tests/test-dirname.c: Likewise.
26439         * tests/test-fbufmode.c: Likewise.
26440         * tests/test-fcntl.c: Likewise.
26441         * tests/test-fflush.c: Likewise.
26442         * tests/test-floorf.c: Likewise.
26443         * tests/test-floorl.c: Likewise.
26444         * tests/test-fopen.c: Likewise.
26445         * tests/test-fprintf-posix.c: Likewise.
26446         * tests/test-fprintf-posix.h: Likewise.
26447         * tests/test-fpurge.c: Likewise.
26448         * tests/test-freadable.c: Likewise.
26449         * tests/test-freadahead.c: Likewise.
26450         * tests/test-freading.c: Likewise.
26451         * tests/test-freopen.c: Likewise.
26452         * tests/test-frexp.c: Likewise.
26453         * tests/test-frexpl.c: Likewise.
26454         * tests/test-fseek.c: Likewise.
26455         * tests/test-fseeko.c: Likewise.
26456         * tests/test-fseterr.c: Likewise.
26457         * tests/test-fstrcmp.c: Likewise.
26458         * tests/test-ftell.c: Likewise.
26459         * tests/test-ftello.c: Likewise.
26460         * tests/test-fwritable.c: Likewise.
26461         * tests/test-fwriting.c: Likewise.
26462         * tests/test-getaddrinfo.c: Likewise.
26463         * tests/test-getpass.c: Likewise.
26464         * tests/test-gettimeofday.c: Likewise.
26465         * tests/test-hmac-md5.c: Likewise.
26466         * tests/test-hmac-sha1.c: Likewise.
26467         * tests/test-iconv.c: Likewise.
26468         * tests/test-iconvme.c: Likewise.
26469         * tests/test-inttypes.c: Likewise.
26470         * tests/test-isnan.c: Likewise.
26471         * tests/test-isnanf.c: Likewise.
26472         * tests/test-isnanl-nolibm.c: Likewise.
26473         * tests/test-isnanl.c: Likewise.
26474         * tests/test-isnanl.h: Likewise.
26475         * tests/test-ldexpl.c: Likewise.
26476         * tests/test-linked_list.c: Likewise.
26477         * tests/test-linkedhash_list.c: Likewise.
26478         * tests/test-locale.c: Likewise.
26479         * tests/test-localename.c: Likewise.
26480         * tests/test-lock.c: Likewise.
26481         * tests/test-lseek.c: Likewise.
26482         * tests/test-malloca.c: Likewise.
26483         * tests/test-math.c: Likewise.
26484         * tests/test-mbscasecmp.c: Likewise.
26485         * tests/test-mbscasestr1.c: Likewise.
26486         * tests/test-mbscasestr2.c: Likewise.
26487         * tests/test-mbscasestr3.c: Likewise.
26488         * tests/test-mbscasestr4.c: Likewise.
26489         * tests/test-mbschr.c: Likewise.
26490         * tests/test-mbscspn.c: Likewise.
26491         * tests/test-mbsncasecmp.c: Likewise.
26492         * tests/test-mbspbrk.c: Likewise.
26493         * tests/test-mbspcasecmp.c: Likewise.
26494         * tests/test-mbsrchr.c: Likewise.
26495         * tests/test-mbsspn.c: Likewise.
26496         * tests/test-mbsstr1.c: Likewise.
26497         * tests/test-mbsstr2.c: Likewise.
26498         * tests/test-mbsstr3.c: Likewise.
26499         * tests/test-md5.c: Likewise.
26500         * tests/test-memmem.c: Likewise.
26501         * tests/test-netinet_in.c: Likewise.
26502         * tests/test-open.c: Likewise.
26503         * tests/test-printf-frexp.c: Likewise.
26504         * tests/test-printf-frexpl.c: Likewise.
26505         * tests/test-printf-posix.c: Likewise.
26506         * tests/test-printf-posix.h: Likewise.
26507         * tests/test-rbtree_list.c: Likewise.
26508         * tests/test-rbtree_oset.c: Likewise.
26509         * tests/test-rbtreehash_list.c: Likewise.
26510         * tests/test-read-file.c: Likewise.
26511         * tests/test-rijndael.c: Likewise.
26512         * tests/test-search.c: Likewise.
26513         * tests/test-signbit.c: Likewise.
26514         * tests/test-sleep.c: Likewise.
26515         * tests/test-snprintf-posix.c: Likewise.
26516         * tests/test-snprintf-posix.h: Likewise.
26517         * tests/test-snprintf.c: Likewise.
26518         * tests/test-sprintf-posix.c: Likewise.
26519         * tests/test-sprintf-posix.h: Likewise.
26520         * tests/test-stat-time.c: Likewise.
26521         * tests/test-stdbool.c: Likewise.
26522         * tests/test-stdint.c: Likewise.
26523         * tests/test-stdio.c: Likewise.
26524         * tests/test-stdlib.c: Likewise.
26525         * tests/test-stpncpy.c: Likewise.
26526         * tests/test-strcasestr.c: Likewise.
26527         * tests/test-striconv.c: Likewise.
26528         * tests/test-striconveh.c: Likewise.
26529         * tests/test-striconveha.c: Likewise.
26530         * tests/test-string.c: Likewise.
26531         * tests/test-sys_select.c: Likewise.
26532         * tests/test-sys_socket.c: Likewise.
26533         * tests/test-sys_stat.c: Likewise.
26534         * tests/test-sys_time.c: Likewise.
26535         * tests/test-sysexits.c: Likewise.
26536         * tests/test-time.c: Likewise.
26537         * tests/test-tls.c: Likewise.
26538         * tests/test-trunc.c: Likewise.
26539         * tests/test-truncf.c: Likewise.
26540         * tests/test-truncl.c: Likewise.
26541         * tests/test-unistd.c: Likewise.
26542         * tests/test-vasnprintf-posix.c: Likewise.
26543         * tests/test-vasnprintf-posix2.c: Likewise.
26544         * tests/test-vasnprintf.c: Likewise.
26545         * tests/test-vasprintf-posix.c: Likewise.
26546         * tests/test-vasprintf.c: Likewise.
26547         * tests/test-verify.c: Likewise.
26548         * tests/test-vfprintf-posix.c: Likewise.
26549         * tests/test-vprintf-posix.c: Likewise.
26550         * tests/test-vsnprintf-posix.c: Likewise.
26551         * tests/test-vsnprintf.c: Likewise.
26552         * tests/test-vsprintf-posix.c: Likewise.
26553         * tests/test-wchar.c: Likewise.
26554         * tests/test-wctype.c: Likewise.
26555         * tests/test-wcwidth.c: Likewise.
26556         * tests/test-xstrtol.c: Likewise.
26557         * tests/test-xvasprintf.c: Likewise.
26558         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
26559         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
26560         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
26561         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
26562         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
26563         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
26564         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
26565         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
26566         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
26567         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
26568         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
26569         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
26570         * tests/uniname/test-uninames.c: Likewise.
26571         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
26572         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
26573         * tests/unistdio/test-u16-printf1.h: Likewise.
26574         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
26575         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
26576         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
26577         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
26578         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
26579         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
26580         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
26581         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
26582         * tests/unistdio/test-u32-printf1.h: Likewise.
26583         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
26584         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
26585         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
26586         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
26587         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
26588         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
26589         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
26590         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
26591         * tests/unistdio/test-u8-printf1.h: Likewise.
26592         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
26593         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
26594         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
26595         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
26596         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
26597         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
26598         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
26599         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
26600         * tests/unistdio/test-ulc-printf1.h: Likewise.
26601         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
26602         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
26603         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
26604         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
26605         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
26606         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
26607         * tests/uniwidth/test-u16-strwidth.c: Likewise.
26608         * tests/uniwidth/test-u16-width.c: Likewise.
26609         * tests/uniwidth/test-u32-strwidth.c: Likewise.
26610         * tests/uniwidth/test-u32-width.c: Likewise.
26611         * tests/uniwidth/test-u8-strwidth.c: Likewise.
26612         * tests/uniwidth/test-u8-width.c: Likewise.
26613         * tests/uniwidth/test-uc_width.c: Likewise.
26614         * config/srclist-update: Likewise.
26615         (fixlicense): Update to GPLv3+.
26616
26617         Change copyright notice from LGPLv2.1+ to LGPLv3+.
26618         * tests/test-tsearch.c: Change copyright notice.
26619
26620         Change copyright notice from LGPLv2.0+ to LGPLv3+.
26621         * lib/c-strcaseeq.h: Change copyright notice.
26622         * lib/streq.h: Likewise.
26623         * lib/uniconv.h: Likewise.
26624         * lib/uniconv/u-conv-from-enc.h: Likewise.
26625         * lib/uniconv/u-conv-to-enc.h: Likewise.
26626         * lib/uniconv/u-strconv-from-enc.h: Likewise.
26627         * lib/uniconv/u-strconv-to-enc.h: Likewise.
26628         * lib/uniconv/u16-conv-from-enc.c: Likewise.
26629         * lib/uniconv/u16-conv-to-enc.c: Likewise.
26630         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
26631         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
26632         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
26633         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
26634         * lib/uniconv/u32-conv-from-enc.c: Likewise.
26635         * lib/uniconv/u32-conv-to-enc.c: Likewise.
26636         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
26637         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
26638         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
26639         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
26640         * lib/uniconv/u8-conv-from-enc.c: Likewise.
26641         * lib/uniconv/u8-conv-to-enc.c: Likewise.
26642         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
26643         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
26644         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
26645         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
26646         * lib/uniname.h: Likewise.
26647         * lib/uniname/uniname.c: Likewise.
26648         * lib/unistdio.h: Likewise.
26649         * lib/unistdio/u-asnprintf.h: Likewise.
26650         * lib/unistdio/u-asprintf.h: Likewise.
26651         * lib/unistdio/u-printf-args.c: Likewise.
26652         * lib/unistdio/u-printf-args.h: Likewise.
26653         * lib/unistdio/u-printf-parse.h: Likewise.
26654         * lib/unistdio/u-snprintf.h: Likewise.
26655         * lib/unistdio/u-sprintf.h: Likewise.
26656         * lib/unistdio/u-vasprintf.h: Likewise.
26657         * lib/unistdio/u-vsnprintf.h: Likewise.
26658         * lib/unistdio/u-vsprintf.h: Likewise.
26659         * lib/unistdio/u16-asnprintf.c: Likewise.
26660         * lib/unistdio/u16-asprintf.c: Likewise.
26661         * lib/unistdio/u16-printf-parse.c: Likewise.
26662         * lib/unistdio/u16-snprintf.c: Likewise.
26663         * lib/unistdio/u16-sprintf.c: Likewise.
26664         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
26665         * lib/unistdio/u16-u16-asprintf.c: Likewise.
26666         * lib/unistdio/u16-u16-snprintf.c: Likewise.
26667         * lib/unistdio/u16-u16-sprintf.c: Likewise.
26668         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
26669         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
26670         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
26671         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
26672         * lib/unistdio/u16-vasnprintf.c: Likewise.
26673         * lib/unistdio/u16-vasprintf.c: Likewise.
26674         * lib/unistdio/u16-vsnprintf.c: Likewise.
26675         * lib/unistdio/u16-vsprintf.c: Likewise.
26676         * lib/unistdio/u32-asnprintf.c: Likewise.
26677         * lib/unistdio/u32-asprintf.c: Likewise.
26678         * lib/unistdio/u32-printf-parse.c: Likewise.
26679         * lib/unistdio/u32-snprintf.c: Likewise.
26680         * lib/unistdio/u32-sprintf.c: Likewise.
26681         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
26682         * lib/unistdio/u32-u32-asprintf.c: Likewise.
26683         * lib/unistdio/u32-u32-snprintf.c: Likewise.
26684         * lib/unistdio/u32-u32-sprintf.c: Likewise.
26685         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
26686         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
26687         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
26688         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
26689         * lib/unistdio/u32-vasnprintf.c: Likewise.
26690         * lib/unistdio/u32-vasprintf.c: Likewise.
26691         * lib/unistdio/u32-vsnprintf.c: Likewise.
26692         * lib/unistdio/u32-vsprintf.c: Likewise.
26693         * lib/unistdio/u8-asnprintf.c: Likewise.
26694         * lib/unistdio/u8-asprintf.c: Likewise.
26695         * lib/unistdio/u8-printf-parse.c: Likewise.
26696         * lib/unistdio/u8-snprintf.c: Likewise.
26697         * lib/unistdio/u8-sprintf.c: Likewise.
26698         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
26699         * lib/unistdio/u8-u8-asprintf.c: Likewise.
26700         * lib/unistdio/u8-u8-snprintf.c: Likewise.
26701         * lib/unistdio/u8-u8-sprintf.c: Likewise.
26702         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
26703         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
26704         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
26705         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
26706         * lib/unistdio/u8-vasnprintf.c: Likewise.
26707         * lib/unistdio/u8-vasprintf.c: Likewise.
26708         * lib/unistdio/u8-vsnprintf.c: Likewise.
26709         * lib/unistdio/u8-vsprintf.c: Likewise.
26710         * lib/unistdio/ulc-asnprintf.c: Likewise.
26711         * lib/unistdio/ulc-asprintf.c: Likewise.
26712         * lib/unistdio/ulc-printf-parse.c: Likewise.
26713         * lib/unistdio/ulc-snprintf.c: Likewise.
26714         * lib/unistdio/ulc-sprintf.c: Likewise.
26715         * lib/unistdio/ulc-vasnprintf.c: Likewise.
26716         * lib/unistdio/ulc-vasprintf.c: Likewise.
26717         * lib/unistdio/ulc-vsnprintf.c: Likewise.
26718         * lib/unistdio/ulc-vsprintf.c: Likewise.
26719         * lib/unistr.h: Likewise.
26720         * lib/unistr/u-cpy-alloc.h: Likewise.
26721         * lib/unistr/u-cpy.h: Likewise.
26722         * lib/unistr/u-endswith.h: Likewise.
26723         * lib/unistr/u-move.h: Likewise.
26724         * lib/unistr/u-set.h: Likewise.
26725         * lib/unistr/u-startswith.h: Likewise.
26726         * lib/unistr/u-stpcpy.h: Likewise.
26727         * lib/unistr/u-stpncpy.h: Likewise.
26728         * lib/unistr/u-strcat.h: Likewise.
26729         * lib/unistr/u-strcpy.h: Likewise.
26730         * lib/unistr/u-strcspn.h: Likewise.
26731         * lib/unistr/u-strdup.h: Likewise.
26732         * lib/unistr/u-strlen.h: Likewise.
26733         * lib/unistr/u-strncat.h: Likewise.
26734         * lib/unistr/u-strncpy.h: Likewise.
26735         * lib/unistr/u-strnlen.h: Likewise.
26736         * lib/unistr/u-strpbrk.h: Likewise.
26737         * lib/unistr/u-strspn.h: Likewise.
26738         * lib/unistr/u-strstr.h: Likewise.
26739         * lib/unistr/u-strtok.h: Likewise.
26740         * lib/unistr/u16-check.c: Likewise.
26741         * lib/unistr/u16-chr.c: Likewise.
26742         * lib/unistr/u16-cmp.c: Likewise.
26743         * lib/unistr/u16-cpy-alloc.c: Likewise.
26744         * lib/unistr/u16-cpy.c: Likewise.
26745         * lib/unistr/u16-endswith.c: Likewise.
26746         * lib/unistr/u16-mblen.c: Likewise.
26747         * lib/unistr/u16-mbsnlen.c: Likewise.
26748         * lib/unistr/u16-mbtouc-aux.c: Likewise.
26749         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
26750         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
26751         * lib/unistr/u16-mbtouc.c: Likewise.
26752         * lib/unistr/u16-mbtoucr.c: Likewise.
26753         * lib/unistr/u16-move.c: Likewise.
26754         * lib/unistr/u16-next.c: Likewise.
26755         * lib/unistr/u16-prev.c: Likewise.
26756         * lib/unistr/u16-set.c: Likewise.
26757         * lib/unistr/u16-startswith.c: Likewise.
26758         * lib/unistr/u16-stpcpy.c: Likewise.
26759         * lib/unistr/u16-stpncpy.c: Likewise.
26760         * lib/unistr/u16-strcat.c: Likewise.
26761         * lib/unistr/u16-strchr.c: Likewise.
26762         * lib/unistr/u16-strcmp.c: Likewise.
26763         * lib/unistr/u16-strcpy.c: Likewise.
26764         * lib/unistr/u16-strcspn.c: Likewise.
26765         * lib/unistr/u16-strdup.c: Likewise.
26766         * lib/unistr/u16-strlen.c: Likewise.
26767         * lib/unistr/u16-strmblen.c: Likewise.
26768         * lib/unistr/u16-strmbtouc.c: Likewise.
26769         * lib/unistr/u16-strncat.c: Likewise.
26770         * lib/unistr/u16-strncmp.c: Likewise.
26771         * lib/unistr/u16-strncpy.c: Likewise.
26772         * lib/unistr/u16-strnlen.c: Likewise.
26773         * lib/unistr/u16-strpbrk.c: Likewise.
26774         * lib/unistr/u16-strrchr.c: Likewise.
26775         * lib/unistr/u16-strspn.c: Likewise.
26776         * lib/unistr/u16-strstr.c: Likewise.
26777         * lib/unistr/u16-strtok.c: Likewise.
26778         * lib/unistr/u16-to-u32.c: Likewise.
26779         * lib/unistr/u16-to-u8.c: Likewise.
26780         * lib/unistr/u16-uctomb-aux.c: Likewise.
26781         * lib/unistr/u16-uctomb.c: Likewise.
26782         * lib/unistr/u32-check.c: Likewise.
26783         * lib/unistr/u32-chr.c: Likewise.
26784         * lib/unistr/u32-cmp.c: Likewise.
26785         * lib/unistr/u32-cpy-alloc.c: Likewise.
26786         * lib/unistr/u32-cpy.c: Likewise.
26787         * lib/unistr/u32-endswith.c: Likewise.
26788         * lib/unistr/u32-mblen.c: Likewise.
26789         * lib/unistr/u32-mbsnlen.c: Likewise.
26790         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
26791         * lib/unistr/u32-mbtouc.c: Likewise.
26792         * lib/unistr/u32-mbtoucr.c: Likewise.
26793         * lib/unistr/u32-move.c: Likewise.
26794         * lib/unistr/u32-next.c: Likewise.
26795         * lib/unistr/u32-prev.c: Likewise.
26796         * lib/unistr/u32-set.c: Likewise.
26797         * lib/unistr/u32-startswith.c: Likewise.
26798         * lib/unistr/u32-stpcpy.c: Likewise.
26799         * lib/unistr/u32-stpncpy.c: Likewise.
26800         * lib/unistr/u32-strcat.c: Likewise.
26801         * lib/unistr/u32-strchr.c: Likewise.
26802         * lib/unistr/u32-strcmp.c: Likewise.
26803         * lib/unistr/u32-strcpy.c: Likewise.
26804         * lib/unistr/u32-strcspn.c: Likewise.
26805         * lib/unistr/u32-strdup.c: Likewise.
26806         * lib/unistr/u32-strlen.c: Likewise.
26807         * lib/unistr/u32-strmblen.c: Likewise.
26808         * lib/unistr/u32-strmbtouc.c: Likewise.
26809         * lib/unistr/u32-strncat.c: Likewise.
26810         * lib/unistr/u32-strncmp.c: Likewise.
26811         * lib/unistr/u32-strncpy.c: Likewise.
26812         * lib/unistr/u32-strnlen.c: Likewise.
26813         * lib/unistr/u32-strpbrk.c: Likewise.
26814         * lib/unistr/u32-strrchr.c: Likewise.
26815         * lib/unistr/u32-strspn.c: Likewise.
26816         * lib/unistr/u32-strstr.c: Likewise.
26817         * lib/unistr/u32-strtok.c: Likewise.
26818         * lib/unistr/u32-to-u16.c: Likewise.
26819         * lib/unistr/u32-to-u8.c: Likewise.
26820         * lib/unistr/u32-uctomb.c: Likewise.
26821         * lib/unistr/u8-check.c: Likewise.
26822         * lib/unistr/u8-chr.c: Likewise.
26823         * lib/unistr/u8-cmp.c: Likewise.
26824         * lib/unistr/u8-cpy-alloc.c: Likewise.
26825         * lib/unistr/u8-cpy.c: Likewise.
26826         * lib/unistr/u8-endswith.c: Likewise.
26827         * lib/unistr/u8-mblen.c: Likewise.
26828         * lib/unistr/u8-mbsnlen.c: Likewise.
26829         * lib/unistr/u8-mbtouc-aux.c: Likewise.
26830         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
26831         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
26832         * lib/unistr/u8-mbtouc.c: Likewise.
26833         * lib/unistr/u8-mbtoucr.c: Likewise.
26834         * lib/unistr/u8-move.c: Likewise.
26835         * lib/unistr/u8-next.c: Likewise.
26836         * lib/unistr/u8-prev.c: Likewise.
26837         * lib/unistr/u8-set.c: Likewise.
26838         * lib/unistr/u8-startswith.c: Likewise.
26839         * lib/unistr/u8-stpcpy.c: Likewise.
26840         * lib/unistr/u8-stpncpy.c: Likewise.
26841         * lib/unistr/u8-strcat.c: Likewise.
26842         * lib/unistr/u8-strchr.c: Likewise.
26843         * lib/unistr/u8-strcmp.c: Likewise.
26844         * lib/unistr/u8-strcpy.c: Likewise.
26845         * lib/unistr/u8-strcspn.c: Likewise.
26846         * lib/unistr/u8-strdup.c: Likewise.
26847         * lib/unistr/u8-strlen.c: Likewise.
26848         * lib/unistr/u8-strmblen.c: Likewise.
26849         * lib/unistr/u8-strmbtouc.c: Likewise.
26850         * lib/unistr/u8-strncat.c: Likewise.
26851         * lib/unistr/u8-strncmp.c: Likewise.
26852         * lib/unistr/u8-strncpy.c: Likewise.
26853         * lib/unistr/u8-strnlen.c: Likewise.
26854         * lib/unistr/u8-strpbrk.c: Likewise.
26855         * lib/unistr/u8-strrchr.c: Likewise.
26856         * lib/unistr/u8-strspn.c: Likewise.
26857         * lib/unistr/u8-strstr.c: Likewise.
26858         * lib/unistr/u8-strtok.c: Likewise.
26859         * lib/unistr/u8-to-u16.c: Likewise.
26860         * lib/unistr/u8-to-u32.c: Likewise.
26861         * lib/unistr/u8-uctomb-aux.c: Likewise.
26862         * lib/unistr/u8-uctomb.c: Likewise.
26863         * lib/unitypes.h: Likewise.
26864         * lib/uniwidth.h: Likewise.
26865         * lib/uniwidth/cjk.h: Likewise.
26866         * lib/uniwidth/u16-strwidth.c: Likewise.
26867         * lib/uniwidth/u16-width.c: Likewise.
26868         * lib/uniwidth/u32-strwidth.c: Likewise.
26869         * lib/uniwidth/u32-width.c: Likewise.
26870         * lib/uniwidth/u8-strwidth.c: Likewise.
26871         * lib/uniwidth/u8-width.c: Likewise.
26872         * lib/uniwidth/width.c: Likewise.
26873
26874 2007-10-07  Bruno Haible  <bruno@clisp.org>
26875
26876         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
26877         The file is still under LGPL (see modules/inttypes).
26878
26879 2007-10-06  Bruno Haible  <bruno@clisp.org>
26880
26881         * modules/trunc (Dependencies): Add 'extensions'.
26882         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
26883         Reported by Ben Pfaff <blp@gnu.org>.
26884
26885 2007-10-06  Bruno Haible  <bruno@clisp.org>
26886
26887         * modules/freopen-tests: New file.
26888         * tests/test-freopen.c: New file.
26889
26890         * modules/fopen-tests: New file.
26891         * tests/test-fopen.c: New file.
26892
26893         * modules/fopen: New file.
26894         * lib/fopen.c: New file.
26895         * m4/fopen.m4: New file.
26896         * modules/freopen: New file.
26897         * lib/freopen.c: New file.
26898         * m4/freopen.m4: New file.
26899         * lib/stdio.in.h (fopen, freopen): New declarations.
26900         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
26901         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
26902         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
26903         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
26904         * doc/functions/fopen.texi: Mention the 'fopen' module.
26905         * doc/functions/freopen.texi: Mention the 'freopen' module.
26906
26907 2007-10-06  Bruno Haible  <bruno@clisp.org>
26908
26909         * modules/open-tests: New file.
26910         * tests/test-open.c: New file.
26911
26912         * modules/open: New file.
26913         * lib/open.c: New file.
26914         * m4/open.m4: New file.
26915         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
26916         lib/open.c does.
26917         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
26918         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
26919         macros.
26920         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
26921         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
26922         REPLACE_OPEN.
26923         * doc/functions/open.texi: Mention the 'open' module.
26924
26925 2007-10-04  Bruno Haible  <bruno@clisp.org>
26926
26927         * modules/ceill-tests: New file.
26928         * tests/test-ceill.c: New file.
26929
26930         * modules/ceill: New file.
26931         * lib/ceill.c: Replace entire file.
26932         * m4/ceill.m4: New file.
26933         * lib/math.in.h (ceill): Replace declaration.
26934         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
26935         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
26936         * doc/functions/ceill.texi: Mention the 'ceill' module.
26937         * modules/mathl (Files): Remove lib/ceill.c.
26938         (Depends-on): Add ceill.
26939
26940 2007-10-04  Bruno Haible  <bruno@clisp.org>
26941
26942         * modules/ceilf-tests: New file.
26943         * tests/test-ceilf.c: New file.
26944
26945         * modules/ceilf: New file.
26946         * lib/ceil.c: New file.
26947         * lib/ceilf.c: New file.
26948         * m4/ceilf.m4: New file.
26949         * lib/math.in.h (ceilf): New declaration.
26950         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
26951         HAVE_DECL_CEILF.
26952         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
26953         HAVE_DECL_CEILF.
26954         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
26955
26956 2007-10-04  Bruno Haible  <bruno@clisp.org>
26957
26958         * modules/floorl-tests: New file.
26959         * tests/test-floorl.c: New file.
26960
26961         * modules/floorl: New file.
26962         * lib/floorl.c: Replace entire file.
26963         * m4/floorl.m4: New file.
26964         * lib/math.in.h (floorl): Replace declaration.
26965         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
26966         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
26967         * doc/functions/floorl.texi: Mention the 'floorl' module.
26968         * modules/mathl (Files): Remove lib/floorl.c.
26969         (Depends-on): Add floorl.
26970
26971 2007-10-04  Bruno Haible  <bruno@clisp.org>
26972
26973         * modules/floorf-tests: New file.
26974         * tests/test-floorf.c: New file.
26975
26976         * modules/floorf: New file.
26977         * lib/floor.c: New file.
26978         * lib/floorf.c: New file.
26979         * m4/floorf.m4: New file.
26980         * lib/math.in.h (floorf): New declaration.
26981         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
26982         HAVE_DECL_FLOORF.
26983         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
26984         HAVE_DECL_FLOORF.
26985         * doc/functions/floorf.texi: Mention the 'floorf' module.
26986
26987 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
26988             Bruno Haible  <bruno@clisp.org>
26989
26990         Advertise for the Git server instead of the CVS server.
26991         * doc/gnulib-intro.texi (Steady Development): Mention the Git
26992         repository instead of the CVS one.
26993         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
26994         about all VCS systems generically.
26995         * doc/gnulib.texi (Introduction): Capitalize `Git'.
26996
26997 2007-10-04  Bruno Haible  <bruno@clisp.org>
26998
26999         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
27000         means.
27001         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
27002
27003 2007-10-04  Bruno Haible  <bruno@clisp.org>
27004
27005         * modules/truncl-tests: New file.
27006         * tests/test-truncl.c: New file.
27007
27008         * modules/truncl: New file.
27009         * lib/truncl.c: New file.
27010         * m4/truncl.m4: New file.
27011         * lib/math.in.h (truncl): New declaration.
27012         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
27013         HAVE_DECL_TRUNCL.
27014         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
27015         HAVE_DECL_TRUNCL.
27016         * doc/functions/truncl.texi: Mention the 'truncl' module.
27017
27018 2007-10-04  Bruno Haible  <bruno@clisp.org>
27019
27020         * modules/truncf-tests: New file.
27021         * tests/test-truncf.c: New file.
27022
27023         * modules/truncf: New file.
27024         * lib/trunc.c: Make paramerizable through USE_* macros.
27025         * lib/truncf.c: New file.
27026         * m4/truncf.m4: New file.
27027         * lib/math.in.h (truncf): New declaration.
27028         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
27029         HAVE_DECL_TRUNCF.
27030         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
27031         HAVE_DECL_TRUNCF.
27032         * doc/functions/truncf.texi: Mention the 'truncf' module.
27033
27034 2007-10-03  Bruno Haible  <bruno@clisp.org>
27035
27036         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
27037         augmentation also for tests modules.
27038         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
27039         * modules/atexit-tests (Makefile.am): Likewise.
27040         * modules/binary-io-tests (Makefile.am): Likewise.
27041         * modules/c-strcase-tests (Makefile.am): Likewise.
27042         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
27043         * modules/canonicalize-tests (Makefile.am): Likewise.
27044         * modules/closein-tests (Makefile.am): Likewise.
27045         * modules/fprintf-posix-tests (Makefile.am): Likewise.
27046         * modules/freadahead-tests (Makefile.am): Likewise.
27047         * modules/fseek-tests (Makefile.am): Likewise.
27048         * modules/fseeko-tests (Makefile.am): Likewise.
27049         * modules/ftell-tests (Makefile.am): Likewise.
27050         * modules/ftello-tests (Makefile.am): Likewise.
27051         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
27052         * modules/isnanl-tests (Makefile.am): Likewise.
27053         * modules/lseek-tests (Makefile.am): Likewise.
27054         * modules/mbscasecmp-tests (Makefile.am): Likewise.
27055         * modules/mbscasestr-tests (Makefile.am): Likewise.
27056         * modules/mbschr-tests (Makefile.am): Likewise.
27057         * modules/mbscspn-tests (Makefile.am): Likewise.
27058         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
27059         * modules/mbspbrk-tests (Makefile.am): Likewise.
27060         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
27061         * modules/mbsrchr-tests (Makefile.am): Likewise.
27062         * modules/mbsspn-tests (Makefile.am): Likewise.
27063         * modules/mbsstr-tests (Makefile.am): Likewise.
27064         * modules/printf-posix-tests (Makefile.am): Likewise.
27065         * modules/snprintf-posix-tests (Makefile.am): Likewise.
27066         * modules/sprintf-posix-tests (Makefile.am): Likewise.
27067         * modules/tsearch-tests (Makefile.am): Likewise.
27068         * modules/uniname/uniname-tests (Makefile.am): Likewise.
27069         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
27070         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
27071         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
27072         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
27073         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
27074         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
27075         * modules/vprintf-posix-tests (Makefile.am): Likewise.
27076         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
27077         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
27078         * modules/xstrtoimax-tests (Makefile.am): Likewise.
27079         * modules/xstrtol-tests (Makefile.am): Likewise.
27080         * modules/xstrtoumax-tests (Makefile.am): Likewise.
27081         * modules/yesno-tests (Makefile.am): Likewise.
27082
27083 2007-10-03  Bruno Haible  <bruno@clisp.org>
27084
27085         * modules/trunc-tests: New file.
27086         * tests/test-trunc.c: New file.
27087
27088         * modules/trunc: New file.
27089         * lib/trunc.c: New file.
27090         * m4/trunc.m4: New file.
27091         * lib/math.in.h (trunc): New declaration.
27092         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
27093         HAVE_DECL_TRUNC.
27094         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
27095         HAVE_DECL_TRUNC.
27096         * doc/functions/trunc.texi: Mention the 'trunc' module.
27097
27098 2007-10-03  Bruno Haible  <bruno@clisp.org>
27099
27100         * tests/test-fpending.c: New file, mostly copied
27101         from coreutils/lib/t-fpending.c.
27102         * modules/fpending-tests: New file.
27103
27104 2007-10-03  Bruno Haible  <bruno@clisp.org>
27105
27106         Port the stdio extensions to QNX (untested).
27107         * lib/fseterr.c (fseterr): Add support for QNX.
27108         * lib/fbufmode.c (fbufmode): Likewise.
27109         * lib/freadable.c (freadable): Likewise.
27110         * lib/fwritable.c (fwritable): Likewise.
27111         * lib/freading.c (freading): Likewise.
27112         * lib/fwriting.c (fwriting): Likewise.
27113         * lib/freadahead.c (freadahed): Likewise.
27114         * lib/fpurge.c (fpurge): Likewise.
27115         * lib/fseeko.c (rpl_fseeko): Likewise.
27116
27117 2007-10-03  Bruno Haible  <bruno@clisp.org>
27118             Jim Meyering  <jim@meyering.net>
27119             Eric Blake  <ebb9@byu.net>
27120
27121         * doc/relocatable.texi: Use @command instead of @program.
27122
27123 2007-10-02  Jim Meyering  <jim@meyering.net>
27124
27125         Perform one more "_.h" -> ".in.h" substitution.
27126         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
27127         instead of unistd_.h here, too.
27128
27129 2007-10-01  Bruno Haible  <bruno@clisp.org>
27130
27131         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
27132         Needed for the alloca-opt module.
27133
27134 2007-09-30  Bruno Haible  <bruno@clisp.org>
27135
27136         * lib/alloca.in.h: Renamed from lib/alloca_.h.
27137         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
27138         alloca_.h.
27139         * lib/argz.in.h: Renamed from lib/argz_.h.
27140         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
27141         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
27142         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
27143         byteswap_.h.
27144         * lib/dirent.in.h: Renamed from lib/dirent_.h.
27145         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
27146         dirent_.h.
27147         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
27148         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
27149         fcntl_.h.
27150         * lib/float.in.h: Renamed from lib/float_.h.
27151         * modules/float (Files, Makefile.am): Use float.in.h instead of
27152         float_.h.
27153         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
27154         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
27155         fnmatch_.h.
27156         * lib/getopt.in.h: Renamed from lib/getopt_.h.
27157         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
27158         getopt_.h.
27159         * lib/glob.in.h: Renamed from lib/glob_.h.
27160         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
27161         * lib/iconv.in.h: Renamed from lib/iconv_.h.
27162         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
27163         iconv_.h.
27164         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
27165         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
27166         inttypes_.h.
27167         * lib/locale.in.h: Renamed from lib/locale_.h.
27168         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
27169         locale_.h.
27170         * lib/math.in.h: Renamed from lib/math_.h.
27171         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
27172         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
27173         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
27174         of netinet_in_.h. Add dependency.
27175         * lib/poll.in.h: Renamed from lib/poll_.h.
27176         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
27177         * lib/search.in.h: Renamed from lib/search_.h.
27178         * modules/search (Files, Makefile.am): Use search.in.h instead of
27179         search_.h.
27180         * lib/signal.in.h: Renamed from lib/signal_.h.
27181         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
27182         _signal.h.
27183         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
27184         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
27185         stdbool_.h.
27186         * lib/stdint.in.h: Renamed from lib/stdint_.h.
27187         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
27188         stdint_.h.
27189         * lib/stdio.in.h: Renamed from lib/stdio_.h.
27190         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
27191         stdio_.h.
27192         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
27193         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
27194         stdlib_.h.
27195         * lib/string.in.h: Renamed from lib/string_.h.
27196         * modules/string (Files, Makefile.am): Use string.in.h instead of
27197         string_.h.
27198         * doc/gnulib-tool.texi (Initial import): Update.
27199         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
27200         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
27201         of sys_select_.h. Add dependency.
27202         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
27203         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
27204         of sys_socket_.h.
27205         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
27206         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
27207         sys_stat_.h.
27208         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
27209         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
27210         sys_time_.h.
27211         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
27212         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
27213         sysexits_.h.
27214         * lib/time.in.h: Renamed from lib/time_.h.
27215         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
27216         * lib/unistd.in.h: Renamed from lib/unistd_.h.
27217         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
27218         unistd_.h.
27219         * lib/wchar.in.h: Renamed from lib/wchar_.h.
27220         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
27221         wchar_.h.
27222         * lib/wctype.in.h: Renamed from lib/wctype_.h.
27223         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
27224         wctype_.h.
27225         * build-aux/bootstrap (slurp): Update.
27226         * lib/.cppi-disable: Update.
27227
27228 2007-09-30  Bruno Haible  <bruno@clisp.org>
27229
27230         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
27231         Needed on BeOS.
27232
27233 2007-09-30  Bruno Haible  <bruno@clisp.org>
27234
27235         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
27236
27237 2007-09-29  Bruno Haible  <bruno@clisp.org>
27238
27239         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
27240
27241 2007-09-29  Bruno Haible  <bruno@clisp.org>
27242
27243         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
27244         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
27245         * build-aux/install-reloc: Compile also areadlink.c.
27246         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
27247
27248 2007-09-29  Bruno Haible  <bruno@clisp.org>
27249
27250         * gnulib-tool (func_emit_initmacro_done): Indentation.
27251
27252 2007-09-29  Bruno Haible  <bruno@clisp.org>
27253
27254         * README: Add CVS checkout update instructions.
27255         Info from Bob Proulx <bob@proulx.com>.
27256
27257 2007-09-28  Eric Blake  <ebb9@byu.net>
27258
27259         Provide move-if-change.
27260         * build-aux/move-if-change: New file, based on best practice
27261         rather than any canonical upstream location.
27262
27263 2007-09-28  Jim Meyering  <jim@meyering.net>
27264
27265         Fix canonicalize loop-detection corner case.
27266         Do not attempt to stat the symlink values stored via seen_triple.
27267         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
27268         on linux-2.6.18, (but not 2.6.22).
27269         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
27270         triple_compare.  The former compares dev,ino,filename, while the latter
27271         would actually stat dirname(filename) when dev and ino were equal.
27272         * lib/hash-triple.c: Install <string.h>.
27273         (STREQ): Define.
27274         (triple_compare_ino_str): New function.
27275         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
27276
27277 2007-09-28  Eric Blake  <ebb9@byu.net>
27278
27279         Enforce that AC_REPLACE_FUNCS files exist.
27280         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
27281         override check for typos.
27282
27283         Fix test-closein on Solaris 10.
27284         * tests/test-closein.c (main): Don't assume stdin can be inherited
27285         closed on all systems.
27286         * tests/test-closein.sh: Likewise.
27287         Reported by Piotr Tarnowski.
27288
27289 2007-09-28  Jim Meyering  <jim@meyering.net>
27290
27291         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
27292
27293 2007-09-27  Jim Meyering  <jim@meyering.net>
27294
27295         canonicalize: Avoid a false-positive cycle failure.
27296         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
27297         Sort.  Remove cycle-check.
27298         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
27299         not cycle-check.h.
27300         (seen_triple): New function.
27301         (canonicalize_filename_mode): Use it instead of cycle-check.
27302         * tests/test-canonicalize.c: Add a test for this bug.
27303         * tests/test-canonicalize.sh: Set up and run the test.
27304
27305         New module, file-set, from coreutils.
27306         * modules/file-set: Define it.
27307         * lib/file-set.c, lib/file-set.h: Implement.
27308
27309         New module, hash-triple, from coreutils.
27310         * modules/hash-triple: Define it.
27311         * lib/hash-triple.c, lib/hash-triple.h: Implement.
27312
27313 2007-09-25  Eric Blake  <ebb9@byu.net>
27314
27315         Fix strerror on Interix.
27316         * lib/string_.h (strerror): Declare replacement.
27317         * doc/functions/strerror.texi (strerror): Document the Interix
27318         shortcoming.
27319         * modules/string (Makefile.am): Support new hooks.
27320         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
27321         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
27322         gl_FUNC_STRERROR_SEPARATE.
27323         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
27324         * lib/strerror.c (rpl_strerror): Provide replacement.
27325         * modules/strerror (Depends-on): Add string.
27326         (configure.ac): Detect use of module.
27327         * tests/test-strerror.c: New file.
27328         * modules/strerror-tests: New test module.
27329         * modules/argp (Depends-on): Add strerror.
27330         * modules/error (Depends-on): Likewise.
27331         Reported by Martin Koeppe.
27332
27333 2007-09-24  Bruno Haible  <bruno@clisp.org>
27334
27335         * README: Update git instructions.
27336
27337 2007-09-24  Eric Blake  <ebb9@byu.net>
27338
27339         Revert fpending breakage from 2007-09-08.
27340         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
27341         __fpending.c.
27342
27343 2007-09-24  Jim Meyering  <jim@meyering.net>
27344
27345         filenamecat.c: Add a test.
27346         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
27347         showing how the function works when DIR is the empty string.
27348
27349 2007-09-21  Simon Josefsson  <simon@josefsson.org>
27350
27351         * tests/test-canonicalize.sh: Turn on executable bit.
27352
27353 2007-09-19  Eric Blake  <ebb9@byu.net>
27354
27355         * README: Update CVS instructions.
27356
27357 2007-09-18  Bruno Haible  <bruno@clisp.org>
27358
27359         * modules/areadlink: New file.
27360         * lib/areadlink.h (areadlink): New declaration.
27361         * lib/areadlink.c: New file, based on lib/xreadlink.c.
27362
27363 2007-09-17  Jim Meyering  <jim@meyering.net>
27364
27365         * lib/savewd.c (ESTALE) [!defined]: Define.
27366         Reported to be required on Interix by Martin Koeppe.
27367
27368 2007-09-17  Bruno Haible  <bruno@clisp.org>
27369
27370         * gnulib-tool (func_version): Use $version.
27371
27372 2007-09-16  Bruno Haible  <bruno@clisp.org>
27373
27374         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
27375         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
27376         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
27377         Reported by Greg Schafer <gschafer@zip.com.au>.
27378
27379 2007-09-15  Bruno Haible  <bruno@clisp.org>
27380
27381         * gnulib-tool (sed): Try a little harder to make bash understand the
27382         alias.
27383         Reported by Bruce Korb <bruce.korb@gmail.com>.
27384
27385 2007-09-13  Eric Blake  <ebb9@byu.net>
27386
27387         * ChangeLog: Remove conflict markers.
27388
27389 2007-09-13  Simon Josefsson  <simon@josefsson.org>
27390
27391         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
27392         Reported by Bruno Haible <bruno@clisp.org>.
27393
27394 2007-09-12  Bruno Haible  <bruno@clisp.org>
27395
27396         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
27397         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
27398         is not defined.
27399
27400 2007-09-12  Eric Blake  <ebb9@byu.net>
27401
27402         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
27403         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
27404         Autoconf definition.
27405         * modules/euidaccess (Depends-on): Add extensions, for
27406         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
27407         * modules/fnmatch (Depends-on): Likewise.
27408         * modules/getaddrinfo (Depends-on): Likewise.
27409         * modules/getdelim (Depends-on): Likewise.
27410         * modules/getline (Depends-on): Likewise.
27411         * modules/getsubopt (Depends-on): Likewise.
27412         * modules/gettext (Depends-on): Likewise.
27413         * modules/group-member (Depends-on): Likewise.
27414         * modules/mbchar (Depends-on): Likewise.
27415         * modules/memmem (Depends-on): Likewise.
27416         * modules/mempcpy (Depends-on): Likewise.
27417         * modules/memrchr (Depends-on): Likewise.
27418         * modules/pagealign_alloc (Depends-on): Likewise.
27419         * modules/readutmp (Depends-on): Likewise.
27420         * modules/stpcpy (Depends-on): Likewise.
27421         * modules/stpncpy (Depends-on): Likewise.
27422         * modules/strchrnul (Depends-on): Likewise.
27423         * modules/strndup (Depends-on): Likewise.
27424         * modules/strsep (Depends-on): Likewise.
27425         * modules/strverscmp (Depends-on): Likewise.
27426         * modules/vasprintf (Depends-on): Likewise.
27427         * modules/wcwidth (Depends-on): Likewise.
27428         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
27429         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
27430         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
27431         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
27432         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
27433         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
27434         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
27435         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
27436         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
27437         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
27438         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
27439         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
27440         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
27441         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
27442         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
27443         * m4/readutmp.m4 (gl_READUTMP): Likewise.
27444         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
27445         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
27446         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
27447         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
27448         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
27449         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
27450         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
27451         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
27452         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
27453         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
27454         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
27455         so that lock.m4 can be used in gettext without extensions module.
27456
27457 2007-09-11  Bruno Haible  <bruno@clisp.org>
27458
27459         * m4/isc-posix.m4: Remove file.
27460         Suggested by Eric Blake.
27461
27462 2007-09-11  Eric Blake  <ebb9@byu.net>
27463
27464         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
27465
27466 2007-09-10  Bruno Haible  <bruno@clisp.org>
27467
27468         * posix-modules: Fix typo in error message.
27469         Reported by Matt <mkraai@beckman.com>.
27470
27471 2007-09-09  Bruno Haible  <bruno@clisp.org>
27472
27473         * doc/functions/getdelim.texi: Update list of platforms lacking the
27474         function.
27475         * doc/functions/getline.texi: Likewise.
27476
27477 2007-09-09  Jim Meyering  <jim@meyering.net>
27478
27479         * lib/hash.c (hash_initialize): Detect calloc failure.
27480         Reported by Bruno Haible.
27481
27482 2007-09-09  Bruno Haible  <bruno@clisp.org>
27483
27484         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
27485         malloc or realloc fails.
27486
27487 2007-09-09  Bruno Haible  <bruno@clisp.org>
27488
27489         * modules/getcwd (Depends-on): Add malloc-posix.
27490         * modules/glob (Depends-on): Likewise.
27491         * modules/putenv (Depends-on): Likewise.
27492         * modules/strdup (Depends-on): Likewise.
27493         * modules/getdelim (Depends-on): Add realloc-posix.
27494         * modules/read-file (Depends-on): Likewise.
27495
27496 2007-09-09  Bruno Haible  <bruno@clisp.org>
27497
27498         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
27499         (gl_FUNC_MALLOC_POSIX): Require it.
27500         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
27501         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
27502         * modules/realloc (Files): Add m4/malloc.m4.
27503         * modules/calloc (Files): Likewise.
27504
27505 2007-09-09  Bruno Haible  <bruno@clisp.org>
27506
27507         * modules/malloc-posix: New file.
27508         * modules/malloc (Depends-on): Add malloc-posix.
27509         * lib/malloc.c: Include errno.h.
27510         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
27511         and a POSIX-compatible malloc into a single function. Set ENOMEM
27512         when returning NULL.
27513         * m4/malloc.m4: New file.
27514         * doc/functions/malloc.texi: Mention the malloc-posix module.
27515         * lib/stdlib_.h (malloc): New declaration.
27516         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
27517         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
27518         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
27519         and HAVE_MALLOC_POSIX.
27520
27521 2007-09-09  Bruno Haible  <bruno@clisp.org>
27522
27523         * modules/realloc-posix: New file.
27524         * modules/realloc (Depends-on): Add realloc-posix.
27525         * lib/realloc.c: Include errno.h.
27526         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
27527         and a POSIX-compatible realloc into a single function. Set ENOMEM
27528         when returning NULL.
27529         * m4/realloc.m4: New file.
27530         * doc/functions/realloc.texi: Mention the realloc-posix module.
27531         * lib/stdlib_.h (realloc): New declaration.
27532         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
27533         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
27534         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
27535         and HAVE_REALLOC_POSIX.
27536
27537 2007-09-09  Bruno Haible  <bruno@clisp.org>
27538
27539         * modules/calloc-posix: New file.
27540         * modules/calloc (Depends-on): Add calloc-posix.
27541         * lib/calloc.c: Include errno.h.
27542         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
27543         and a POSIX-compatible calloc into a single function. Set ENOMEM
27544         when returning NULL.
27545         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
27546         * doc/functions/calloc.texi: Mention the calloc-posix module.
27547         * lib/stdlib_.h (calloc): New declaration.
27548         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
27549         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
27550         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
27551         and HAVE_CALLOC_POSIX.
27552
27553 2007-09-09  Bruno Haible  <bruno@clisp.org>
27554
27555         Allow for modules to show an arbitrary notice.
27556         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
27557         * gnulib-tool: New option --extract-notice.
27558         (func_usage): Document it.
27559         (sed_extract_prog): Update.
27560         (func_get_notice): New function.
27561         (func_modules_notice): New function.
27562         (func_import, func_create_testdir): Invoke it.
27563         Suggested by Jim Meyering.
27564
27565 2007-09-09  Bruno Haible  <bruno@clisp.org>
27566
27567         * gnulib-tool: New options --verbose, --quiet.
27568         (func_usage): Document them.
27569         (verbose): New variable.
27570         (func_execute_command): New function.
27571         (func_import): Don't show the module list and the file list if
27572         $verbose < 0.
27573         (func_create_testdir): Likewise. Use func_execute_command.
27574         (func_create_megatestdir): Use func_execute_command.
27575
27576 2007-09-08  Bruno Haible  <bruno@clisp.org>
27577
27578         * gnulib-tool (func_import): Prefer rsync over wget when available,
27579         for fetching the PO files.
27580
27581 2007-09-08  Bruno Haible  <bruno@clisp.org>
27582
27583         * posix-modules: New file. Portions copied from gnulib-tool.
27584         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
27585
27586 2007-09-08  Jim Meyering  <jim@meyering.net>
27587
27588         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
27589         * lib/fpending.h: Rename from __fpending.h.
27590         * lib/fpending.c: Rename from __fpending.c.
27591         Include "fpending.h", not "__fpending.h".
27592         * lib/__fpending.h, lib/__fpending.c: Remove files.
27593         * modules/fpending (Files): Reflect new file names.
27594         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
27595
27596 2007-09-08  Bruno Haible  <bruno@clisp.org>
27597
27598         * m4/inttypes-h.m4: Remove stub file.
27599
27600 2007-09-07  Simon Josefsson  <simon@josefsson.org>
27601
27602         * doc/headers/stdint.texi: Discuss #include_next issue.
27603
27604 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
27605
27606         * build-aux/bootstrap: Remove obsolete comment about wget --help.
27607
27608 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
27609
27610         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
27611         in variable name.
27612
27613 2007-09-03  Jim Meyering  <jim@meyering.net>
27614
27615         New module: git-version-gen.
27616         * modules/git-version-gen: New file.
27617
27618         Import changes from coreutils for bootstrap script.
27619
27620         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
27621
27622         bootstrap: uses rsync to download the .po files
27623         * build-aux/bootstrap (po_download_command_format): New global.
27624         (download_po_files): Use rsync.
27625         (update_po_files): Don't remove .po files after download,
27626         so future rsync runs can take advantage of the copies.
27627
27628         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
27629
27630         Solve the unnecessary-.po-file-regeneration problem once and for all.
27631         * build-aux/bootstrap (download_po_files): New function, renamed from
27632         get_translations.  Now, downloads, but doesn't update LINGUAS.
27633         (update_po_files): New function.
27634
27635         bootstrap: Ignore more.
27636         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
27637         uniwidth to e.g., lib/.gitignore.
27638         (slurp): Handle the sys_stat_.h -> sys mapping, too.
27639
27640         * build-aux/bootstrap: New setting: vc_ignore.
27641         (insert_sorted_if_absent): Create $file if absent.
27642         Adapt to new, possibly empty, list: $vc_ignore.
27643
27644         bootstrap: generate more ignorable names
27645         * build-aux/bootstrap (slurp): When generating ignorable names,
27646         also map .sin to .sed, .gperf to .c, and .y to .c.
27647
27648 2007-09-03  Jim Meyering  <jim@meyering.net>
27649
27650         * build-aux/git-version-gen: New file, from coreutils.  For details, see
27651         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
27652
27653 2007-09-02  Bruno Haible  <bruno@clisp.org>
27654
27655         Fix mis-recognition of 'mcs' on QNX 6.
27656         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
27657         output contains the string "Mono".
27658         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
27659         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
27660
27661 2007-09-01  Bruno Haible  <bruno@clisp.org>
27662
27663         Fix collision between uniwidth/* and linebreak modules.
27664         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
27665         u32_width): Remove declarations.
27666         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
27667         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
27668         streq3, streq2, streq1, streq0): Remove functions.
27669         (STREQ): Remove macro.
27670         (is_cjk_encoding): Remove function.
27671         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
27672         (uc_width, u8_width, u16_width, u32_width): Remove functions.
27673         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
27674         * NEWS: Document the change.
27675
27676 2007-09-01  Bruno Haible  <bruno@clisp.org>
27677
27678         * lib/streq.h: Add double-inclusion guard.
27679
27680 2007-09-01  Karl Berry  <karl@gnu.org>
27681
27682         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
27683
27684 2007-08-28  Jim Meyering  <jim@meyering.net>
27685
27686         Rename mreadlink_with_size to areadlink_with_size.
27687         * NEWS: Document the change.
27688         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
27689         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
27690         * lib/mreadlink.h: Rename this to...
27691         * lib/areadlink.h: ...this.
27692         * modules/mreadlink-with-size: Rename this to...
27693         * modules/areadlink-with-size: ...this.
27694         * lib/canonicalize.c: Reflect the renaming.
27695         * modules/canonicalize: Likewise.
27696
27697 2007-08-26  Bruno Haible  <bruno@clisp.org>
27698
27699         * gnulib-tool (func_import): When deciding which files to remove,
27700         consider also dangling symbolic links.
27701         Reported by Eric Blake.
27702
27703 2007-08-26  Bruno Haible  <bruno@clisp.org>
27704
27705         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
27706
27707 2007-08-23  Simon Josefsson  <simon@josefsson.org>
27708
27709         * lib/readline.c: Don't include getline.h, the prototype is now
27710         found in stdio.h.
27711
27712 2007-08-23  Jim Meyering  <jim@meyering.net>
27713
27714         Getdelim touchup.
27715         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
27716         around the funlockfile call, since funlockfile never sets errno.
27717         Don't set errno upon failed realloc.
27718
27719 2007-08-22  Eric Blake  <ebb9@byu.net>
27720
27721         Getline touchups.
27722         * lib/getdelim.c (getdelim): Revert regression that required *n to
27723         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
27724         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
27725         getdelim, rather than whether implementation is missing.
27726         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
27727         * lib/stdio_.h (getline): Also declare if replacement is
27728         required.
27729         * doc/functions/getdelim.texi: New file.
27730         * doc/functions/getline.texi: Likewise.
27731         * doc/gnulib.texi (Function Substitutes): Add new files.
27732         Reported by Bruno Haible.
27733
27734 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
27735
27736         * users.txt: Add Guile.
27737
27738 2007-08-22  Eric Blake  <ebb9@byu.net>
27739
27740         * tests/test-getdelim.c (main): Use remove, not unlink.
27741         * tests/test-getline.c (main): Likewise.
27742
27743         Move getline and getdelim into stdio.h, per POSIX 200x.
27744         * modules/getline (Files): Remove getline.h.
27745         (Depends-on): Add stdio.
27746         (configure.ac): Add module indicator.
27747         * modules/getdelim (Files): Remove getdelim.h.
27748         (Depends-on): Add stdio.
27749         (configure.ac): Add module indicator.
27750         * modules/stdio (Makefile.am): Work with new indicators.
27751         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
27752         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
27753         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
27754         * lib/getdelim.h: Delete.
27755         * lib/getline.h: Delete.
27756         * lib/stdio_.h (getdelim, getline): Declare.
27757         * modules/getdelim-tests: New module.
27758         * modules/getline-tests: Likewise.
27759         * tests/test-getdelim.c: New file.
27760         * tests/test-getline.c: Likewise.
27761         * NEWS: Document the change.
27762         * lib/getline.c: Update choice of header.
27763         * lib/csharpcomp.c: Likewise.
27764         * lib/getpass.c: Likewise.
27765         * lib/javacomp.c: Likewise.
27766         * lib/javaversion.c: Likewise.
27767         * lib/yesno.c: Likewise.
27768         * lib/getdelim.c: Likewise.
27769         (getdelim): Set errno on failure, and avoid memory leak.
27770
27771 2007-08-19  Bruno Haible  <bruno@clisp.org>
27772
27773         * modules/closein (Depends-on): Add freadahead.
27774         * lib/closein.c: Include freadahead.h.
27775         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
27776         is zero.
27777
27778 2007-08-19  Bruno Haible  <bruno@clisp.org>
27779
27780         * modules/freadahead-tests: New file.
27781         * tests/test-freadahead.sh: New file.
27782         * tests/test-freadahead.c: New file.
27783
27784         * modules/freadahead: New file.
27785         * lib/freadahead.h: New file.
27786         * lib/freadahead.c: New file.
27787         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
27788         fbufmode, fpurge, freadable, fwritable.
27789
27790 2007-08-19  Eric Blake  <ebb9@byu.net>
27791
27792         Test yesno in combination with closein.
27793         * lib/yesno.c (yesno): Document use of stdin.
27794         * modules/yesno-tests (Files): New module.
27795         * tests/test-yesno.c (main): New file.
27796         * tests/test-yesno.sh: Likewise.
27797
27798 2007-08-19  Bruno Haible  <bruno@clisp.org>
27799
27800         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
27801         * lib/fseeko.c (rpl_fseeko): Likewise.
27802         * lib/fseterr.c (fseterr): Likewise.
27803
27804 2007-08-19  Bruno Haible  <bruno@clisp.org>
27805
27806         * tests/test-lseek.c (main): Disable a test for BeOS.
27807         * doc/functions/lseek.texi: Document the BeOS bug.
27808
27809 2007-08-19  Bruno Haible  <bruno@clisp.org>
27810             Eric Blake  <ebb9@byu.net>
27811
27812         * lib/lseek.c: Include <sys/stat.h>.
27813         (rpl_lseek): Add workaround code also for Unix platforms.
27814         Needed for BeOS.
27815         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
27816         * doc/functions/lseek.texi: Document BeOS definiency.
27817
27818 2007-08-18  Bruno Haible  <bruno@clisp.org>
27819
27820         * modules/fstrcmp-tests: New file.
27821         * tests/test-fstrcmp.c: New file.
27822
27823 2007-08-18  Bruno Haible  <bruno@clisp.org>
27824
27825         * modules/fstrcmp: New file, from GNU gettext with modifications.
27826         * lib/fstrcmp.h: New file, from GNU gettext.
27827         * lib/fstrcmp.c: New file, from GNU gettext.
27828         * MODULES.html.sh (String handling): Add fstrcmp.
27829
27830 2007-08-18  Bruno Haible  <bruno@clisp.org>
27831
27832         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
27833         'bool'.
27834         (diag, compareseq): Remove const from the ctxt argument.
27835         (USE_HEURISTIC): Undefine at the end.
27836
27837 2007-08-18  Jim Meyering  <jim@meyering.net>
27838
27839         New file: lib/idcache.h
27840         * NEWS: Mention the addition.
27841         * modules/idcache (Files): Add lib/idcache.h
27842         * lib/idcache.c: Include "idcache.h".
27843         Don't include <sys/types.h>.
27844         Add a FIXME comment.
27845         Move file-scoped "static" declarations to the top.
27846         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
27847
27848 2007-08-17  Bruno Haible  <bruno@clisp.org>
27849         and Paul Eggert  <eggert@cs.ucla.edu>
27850
27851         * MODULES.html.sh: Add diffseq.
27852         * modules/diffseq: New file.
27853         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
27854         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
27855
27856 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
27857
27858         Import changes from coreutils for bootstrap script.
27859
27860         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
27861
27862         * build-aux/bootstrap (slurp): Work even in environments where
27863         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
27864         current code does not slurp files whose names start with ".", and
27865         this looks like it might be a troublesome area.
27866
27867         2007-07-11  Jim Meyering  <jim@meyering.net>
27868
27869         If there's a GPL vN copyright comment, require that N == 3.
27870
27871         2007-07-08  Jim Meyering  <jim@meyering.net>
27872
27873         Run the coreutils-specific code only if tests/Makefile.am.in exists.
27874         * build-aux/bootstrap (mam_template): Move definition out of loop.
27875
27876         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
27877
27878         * build-aux/bootstrap (symlink_to_dir): Rename function from
27879         symlink_to_gnulib.  Add a directory parameter.  Update all
27880         callers.
27881         (cp_mark_as_generated): Also check for -- and link to -- files in
27882         gl/.
27883
27884         2007-07-08  Jim Meyering  <jim@meyering.net>
27885
27886         Adapt to deeper hierarchy in gnulib.
27887         * build-aux/bootstrap (symlink_to_dir): If the destination
27888         directory doesn't exist, create it. This is required at least for
27889         "lib/uniwidth/cjk.h".
27890
27891         2007-05-15  Jim Meyering  <jim@meyering.net>
27892
27893         * build-aux/bootstrap: Now that generated Makefile.am files
27894         are no longer under version control, they must be created at
27895         bootstrap time.
27896
27897 2007-08-14  Ben Pfaff  <blp@gnu.org>
27898
27899         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
27900
27901 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
27902
27903         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
27904         given the changes below.
27905         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
27906         even on hosts that have padding bits beyond the supported 64.
27907
27908 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
27909
27910         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
27911         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
27912         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
27913         depends on it.
27914         (xstrtol_error): Remove.
27915         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
27916         but with a different signature.
27917         (ATTRIBUTE_NORETURN, __attribute__): New macros.
27918         * lib/xstrtol-error.c: Include exitfail.h.
27919         (xstrtol_fatal): New function, with a different signature from the
27920         old xstrtol_error, so that the caller need not worry about passing
27921         in an exit status, or about storage management of the option argument.
27922         (xstrtol_error): Now a static function.  Redo signature to
27923         implement xstrtol_fatal.  Output the correct number of hyphens in
27924         front of the option so that the caller need not worry about
27925         storage management.
27926         (N_): New macro.
27927         (_): Remove; not used now.
27928         * modules/xstrtol: Depend on getopt.
27929         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
27930         of old STRTOL_FATAL_ERROR macro.
27931         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
27932         of test program.
27933         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
27934         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
27935
27936 2007-08-08  Eric Blake  <ebb9@byu.net>
27937
27938         * lib/xstrtol-error.c: Add missing include.
27939
27940         Move xstrtol messages into gnulib domain, when --pobase is used.
27941         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
27942         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
27943         * modules/xstrtol (Files): Distribute new file.
27944         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
27945         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
27946         * tests/test-xstrtol.c: ...into new file.
27947         * tests/test-xstrtoul.c: Also test xstrtoul.
27948         * tests/test-xstrtoimax.c: Also test xstrtoimax.
27949         * tests/test-xstrtoumax.c: Also test xstrtoumax.
27950         * tests/test-xstrtol.sh: Drive the tests.
27951         * tests/test-xstrtoimax.sh: Likewise.
27952         * tests/test-xstrtoumax.sh: Likewise.
27953         * modules/xstrtol-tests: New module.
27954         * modules/xstrtoimax-tests: Likewise.
27955         * modules/xstrtoumax-tests: Likewise.
27956
27957 2007-08-08  Jim Meyering  <jim@meyering.net>
27958
27959         New function: mfile_name_concat.
27960         * lib/filenamecat.c (mfile_name_concat): New function, just like
27961         file_name_concat, but return NULL upon failure rather than exiting
27962         with a diagnostic.
27963         * lib/filenamecat.h: Declare it.
27964
27965 2007-08-07  Bruno Haible  <bruno@clisp.org>
27966
27967         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
27968         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
27969         warning from gcc.
27970         Reported by Eric Blake.
27971
27972 2007-08-07  Simon Josefsson  <simon@josefsson.org>
27973
27974         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
27975         * modules/crypto/arcfour (License): Likewise.
27976         * modules/crypto/des-tests (License): Likewise.
27977         * modules/crypto/gc-arctwo-tests (License): Likewise.
27978         * modules/crypto/gc-des-tests (License): Likewise.
27979         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
27980         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
27981         * modules/crypto/gc-md2-tests (License): Likewise.
27982         * modules/crypto/gc-md4-tests (License): Likewise.
27983         * modules/crypto/gc-md5-tests (License): Likewise.
27984         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
27985         * modules/crypto/gc-rijndael-tests (License): Likewise.
27986         * modules/crypto/gc-sha1-tests (License): Likewise.
27987         * modules/crypto/gc-tests (License): Likewise.
27988         * modules/crypto/hmac-md5 (License): Likewise.
27989         * modules/crypto/hmac-sha1 (License): Likewise.
27990         * modules/crypto/md2-tests (License): Likewise.
27991         * modules/crypto/md4-tests (License): Likewise.
27992         * modules/crypto/md5 (License): Likewise.
27993         * modules/crypto/rijndael (License): Likewise.
27994         * modules/crypto/sha1 (License): Likewise.
27995         * modules/memxor (License): Likewise.
27996
27997 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
27998         and Bruno Haible  <bruno@clisp.org>
27999
28000         * NEWS: Describe interface changes to human, xstrtol.
28001         * lib/human.h: Include <xstrtol.h>.
28002         (human_options): Return enum strtol_error, not int.  Remove
28003         bool arg; take int * instead.
28004         * lib/human.c: Don't include "gettext.h".
28005         (_): Remove; no longer used.
28006         Don't include <xstrtol.h>, since human.h does it.
28007         (human_options): Adjust to abovementioned interface changes.
28008         Do not report error to stderr; that's now the caller's
28009         responsibility.
28010         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
28011         interface change.
28012         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
28013         Str, Argument_type_string.  All uses changed.  Put " argument"
28014         in diagnostics to make them clearer.  Change wording of suffix
28015         message for clarity.
28016         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
28017         Argument_type_string.
28018         (STRTOL_FATAL_WARN): Remove; no longer used.
28019         * modules/human (Depends-on): Remove gettext-h.
28020
28021 2007-08-06  Simon Josefsson  <simon@josefsson.org>
28022
28023         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
28024
28025 2007-07-31  Bruno Haible  <bruno@clisp.org>
28026
28027         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
28028         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
28029         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
28030
28031 2007-07-31  Bruno Haible  <bruno@clisp.org>
28032
28033         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
28034         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
28035
28036 2007-07-30  Bruno Haible  <bruno@clisp.org>
28037
28038         * modules/base64 (License): Use the synonymous term "LGPLv2+".
28039         * modules/c-ctype (License): Likewise.
28040         * modules/c-strcase (License): Likewise.
28041         * modules/check-version (License): Likewise.
28042         * modules/iconv (License): Likewise.
28043         * modules/iconv_open (License): Likewise.
28044         * modules/read-file (License): Likewise.
28045         * modules/striconv (License): Likewise.
28046         * modules/strverscmp (License): Likewise.
28047         * modules/vasprintf (License): Likewise.
28048         * modules/crypto/des (License): Likewise.
28049         * modules/crypto/gc (License): Likewise.
28050         * modules/crypto/gc-arcfour (License): Likewise.
28051         * modules/crypto/gc-arctwo (License): Likewise.
28052         * modules/crypto/gc-des (License): Likewise.
28053         * modules/crypto/gc-hmac-md5 (License): Likewise.
28054         * modules/crypto/gc-hmac-sha1 (License): Likewise.
28055         * modules/crypto/gc-md2 (License): Likewise.
28056         * modules/crypto/gc-md4 (License): Likewise.
28057         * modules/crypto/gc-md5 (License): Likewise.
28058         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
28059         * modules/crypto/gc-random (License): Likewise.
28060         * modules/crypto/gc-rijndael (License): Likewise.
28061         * modules/crypto/gc-sha1 (License): Likewise.
28062         * modules/crypto/md2 (License): Likewise.
28063         * modules/crypto/md4 (License): Likewise.
28064
28065 2007-07-30  Jim Meyering  <jim@meyering.net>
28066
28067         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
28068         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
28069         it has valid stat data.  This bug would cause du not to count the
28070         sizes of inaccessible directories.
28071         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
28072         in <http://bugzilla.redhat.com/250077>.
28073
28074 2007-07-25  Peter O'Gorman  <peter@pogma.com>
28075             Bruno Haible  <bruno@clisp.org>
28076
28077         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
28078         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
28079         #include_next, gives a diagnostic about it, but reports no error in
28080         the exit code.
28081         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
28082
28083 2007-07-24  Ben Pfaff  <blp@gnu.org>
28084
28085         Improve name: "count-one-bits" is better than "popcount".
28086         * MODULES.html.sh: Update name.
28087         * lib/popcount.h: Renamed lib/count-one-bits.h.
28088         (popcount): Renamed count_one_bits.
28089         (popcountl): Renamed count_one_bits_l.
28090         (popcountll): Renamed count_one_bits_ll.
28091         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
28092         * modules/popcount: Renamed module/count-one-bits.
28093         * modules/popcount-tests: Renamed module/count-one-bits-tests.
28094         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
28095
28096 2007-07-23  Ben Pfaff  <blp@gnu.org>
28097
28098         * lib/popcount.h (popcount32): Reduce size of constants, to allow
28099         better code generation, and add U to large constants to avoid
28100         warnings, in non-GCC case.
28101         Suggested by Bruno Haible.
28102
28103 2007-07-23  Ben Pfaff  <blp@gnu.org>
28104
28105         * lib/popcount.h: Use verify_true instead of if...abort.
28106         * modules/popcount: Depend on verify module.
28107         Suggested by Jim Meyering.
28108
28109 2007-07-23  Bruno Haible  <bruno@clisp.org>
28110
28111         * gnulib-tool (func_import): Create a .cvsignore file also when the
28112         directory is not yet in CVS but the toplevel directory is. When
28113         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
28114         Reported by Karl Berry.
28115
28116 2007-07-22  Ben Pfaff  <blp@gnu.org>
28117
28118         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
28119         case.
28120         Suggested by Eric Blake.
28121
28122 2007-07-22  Ben Pfaff  <blp@gnu.org>
28123
28124         New module: popcount.
28125         * MODULES.html.sh: Add popcount.
28126         * modules/popcount: New file.
28127         * modules/popcount-tests: New file.
28128         * tests/test-popcount.c: New file.
28129         * lib/popcount.h: New file.
28130         * m4/popcount.m4: New file.
28131
28132 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
28133
28134         * build-aux/announce-gen: Update to GPLv3.
28135
28136         * build-aux/config.guess: Update from config.
28137
28138 2007-07-21  Bruno Haible  <bruno@clisp.org>
28139
28140         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
28141         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
28142
28143 2007-07-20  Jim Meyering  <jim@meyering.net>
28144
28145         * check-module: Diagnose a self-dependency.
28146
28147 2007-07-19  Bruno Haible  <bruno@clisp.org>
28148
28149         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
28150         empty.
28151         Reported by Eric Blake.
28152
28153 2007-07-18  Bruno Haible  <bruno@clisp.org>
28154
28155         * gnulib-tool: New options --po-base, --po-domain.
28156         (func_usage): Document them.
28157         (pobase, po_domain): New variables.
28158         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
28159         DEFAULT_TEXT_DOMAIN.
28160         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
28161         (func_import): Consider pobase and po_domain. Create a po/ directory.
28162         (func_create_testdir): Set pobase and po_domain to empty.
28163         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
28164         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
28165
28166 2007-07-18  Bruno Haible  <bruno@clisp.org>
28167
28168         * gnulib-tool (func_get_automake_snippet): Synthesize also an
28169         EXTRA_DIST augmentation for files in build-aux/.
28170
28171 2007-07-16  Bruno Haible  <bruno@clisp.org>
28172
28173         * modules/lseek (License): Use the synonymous term "LGPLv2+".
28174         * modules/getdelim (License): Likewise.
28175
28176 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
28177
28178         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
28179         * modules/d-type (License): Likewise.
28180         * modules/extensions (License): Likewise.
28181         * modules/fnmatch (License): Likewise.
28182         * modules/fseeko (License): Likewise.
28183         * modules/getaddrinfo (License): Likewise.
28184         * modules/getline (License): Likewise.
28185         * modules/getlogin_r (License): Likewise.
28186         * modules/getpass (License): Likewise.
28187         * modules/gettimeofday (License): Likewise.
28188         * modules/glob (License): Likewise.
28189         * modules/inet_ntop (License): Likewise.
28190         * modules/malloc (License): Likewise.
28191         * modules/malloca (License): Likewise.
28192         * modules/memmem (License): Likewise.
28193         * modules/mempcpy (License): Likewise.
28194         * modules/memset (License): Likewise.
28195         * modules/minmax (License): Likewise.
28196         * modules/mktime (License): Likewise.
28197         * modules/netinet_in (License): Likewise.
28198         * modules/pathmax (License): Likewise.
28199         * modules/poll (License): Likewise.
28200         * modules/regex (License): Likewise.
28201         * modules/snprintf (License): Likewise.
28202         * modules/stdbool (License): Likewise.
28203         * modules/stdint (License): Likewise.
28204         * modules/stdio (License): Likewise.
28205         * modules/strcase (License): Likewise.
28206         * modules/strcasestr (License): Likewise.
28207         * modules/strdup (License): Likewise.
28208         * modules/string (License): Likewise.
28209         * modules/strndup (License): Likewise.
28210         * modules/strnlen (License): Likewise.
28211         * modules/strpbrk (License): Likewise.
28212         * modules/strptime (License): Likewise.
28213         * modules/strsep (License): Likewise.
28214         * modules/sys_select (License): Likewise.
28215         * modules/sys_socket (License): Likewise.
28216         * modules/sys_stat (License): Likewise.
28217         * modules/sys_time (License): Likewise.
28218         * modules/time (License): Likewise.
28219         * modules/time_r (License): Likewise.
28220         * modules/timegm (License): Likewise.
28221         * modules/unistd (License): Likewise.
28222         * modules/vsnprintf (License): Likewise.
28223         * modules/wctype (License): Likewise.
28224
28225 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28226
28227         * modules/argz (License): LGPLv2+.
28228
28229 2007-07-15  Karl Berry  <karl@gnu.org>
28230
28231         * doc/gnulib.texi: revise node structure per new fdl.texi.
28232
28233 2007-07-14  Bruno Haible  <bruno@clisp.org>
28234
28235         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
28236         the output file.
28237         * lib/uniname/uninames.h: Regenerated.
28238
28239 2007-07-14  Karl Berry  <karl@gnu.org>
28240
28241         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
28242         omitting sectioning and index commands.
28243
28244 2007-07-13  Bruno Haible  <bruno@clisp.org>
28245
28246         New gnulib-tool option --more-symlinks.
28247         * gnulib-tool (func_usage): Document --more-symlinks.
28248         (do_copyrights): New variable.
28249         Recognize option --more-symlinks.
28250         (func_import): Don't add a copyright notice transform to
28251         sed_transform_lib_file if do_copyrights is empty.
28252
28253 2007-07-13  Bruno Haible  <bruno@clisp.org>
28254
28255         * lib/vasnprintf.c (decimal_point_char): Define also if
28256         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
28257         && !NEED_PRINTF_DIRECTIVE_A.
28258         Reported by Clemens Koller <clemens.koller@anagramm.de> via
28259         Gary V. Vaughan <gary@gnu.org>.
28260
28261 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
28262
28263         * lib/inttypes_.h: Undo previous change, since it was fixed
28264         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
28265
28266 2007-07-13  Bruno Haible  <bruno@clisp.org>
28267
28268         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
28269         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
28270
28271 2007-07-13  Jim Meyering  <jim@meyering.net>
28272
28273         df: Don't fail for Tru64's "file-on-file mount".
28274         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
28275         so we fall through and use statfs instead.  Details here:
28276         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
28277         Reported by Albert Chin.
28278
28279 2007-07-13  Bruno Haible  <bruno@clisp.org>
28280
28281         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
28282         * modules/configmake (License): Likewise.
28283         * modules/gettext (License): Likewise.
28284         * modules/gettext-h (License): Likewise.
28285         * modules/include_next (License): Likewise.
28286         * modules/link-warning (License): Likewise.
28287         * modules/localcharset (License): Likewise.
28288         * modules/localename (License): Likewise.
28289         * modules/lock (License): Likewise.
28290         * modules/relocatable-lib-lgpl (License): Likewise.
28291         * modules/size_max (License): Likewise.
28292         * modules/vasnprintf (License): Likewise.
28293         * modules/wchar (License): Likewise.
28294         * modules/xsize (License): Likewise.
28295
28296 2007-07-13  Bruno Haible  <bruno@clisp.org>
28297
28298         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
28299         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
28300
28301 2007-07-12  Bruno Haible  <bruno@clisp.org>
28302
28303         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
28304         in the modules files.
28305
28306 2007-07-11  Karl Berry  <karl@gnu.org>
28307
28308         * MODULES.html.sh (func_module): use
28309          sed -e '\|^'"${includefile}"'$|d'
28310          instead of /.../d, to avoid errors on $includefile's containing /.
28311
28312 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
28313
28314         * gnulib-tool (func_import): Avoid duplication of --avoid
28315         statements
28316         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
28317         names to `_' in variable names.
28318
28319 2007-07-10  Eric Blake  <ebb9@byu.net>
28320
28321         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
28322         * NEWS: Document this change.
28323
28324 2007-07-08  Bruno Haible  <bruno@clisp.org>
28325
28326         Update to Unicode 5.0.
28327         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
28328         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
28329         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
28330         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
28331         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
28332         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
28333         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
28334         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
28335         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
28336         U+10A3F, U+1D242..U+1D244.
28337         (nonspacing_table_ind): Update.
28338         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
28339         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
28340
28341 2007-07-08  Bruno Haible  <bruno@clisp.org>
28342
28343         Update to Unicode 5.0.
28344         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
28345         code transform. Extend the name index field of unicode_name_to_code and
28346         unicode_code_to_name from 16 to 24 bits.
28347         * lib/uniname/uniname.c (unicode_character_name,
28348         unicode_name_character): Add the range 0x12xxx to the code transform.
28349         * lib/uniname/uninames.h: Regenerated.
28350         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
28351
28352 2007-07-07  Bruno Haible  <bruno@clisp.org>
28353
28354         * modules/wcwidth-tests: New file.
28355         * tests/test-wcwidth.c: New file.
28356
28357         Work around MacOS X wcwidth() bug.
28358         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
28359         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
28360         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
28361         original wcwidth in non-UTF-8 locales.
28362         * modules/wcwidth (Depends-on): Add localcharset, streq,
28363         uniwidth/width.
28364         * doc/functions/wcwidth.texi: Update.
28365
28366 2007-07-07  Bruno Haible  <bruno@clisp.org>
28367
28368         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
28369         (wcwidth): New declaration.
28370         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
28371         macros.
28372         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
28373         here. Prepare for creating <wchar.h> unconditionally.
28374         * modules/wchar (Depends-on): Add link-warning.
28375         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
28376         REPLACE_WCWIDTH, and GL_LINK_WARNING.
28377         * lib/wcwidth.h: Remove file.
28378         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
28379         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
28380         * modules/wcwidth (Files): Remove lib/wcwidth.h.
28381         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
28382         (Include): Replace wcwidth.h with <wchar.h>.
28383         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
28384         * lib/mbchar.h: Don't include wcwidth.h.
28385         * lib/mbswidth.c: Likewise.
28386         * NEWS: Mention the change.
28387
28388 2007-07-07  Bruno Haible  <bruno@clisp.org>
28389
28390         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
28391         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
28392         definition with an external declaration.
28393         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
28394         defined as a function. Remove AC_C_INLINE requirement.
28395         * modules/wcwidth (Files): Add lib/wcwidth.c.
28396         (Makefile.am): Remove redundant statement.
28397
28398 2007-07-07  Bruno Haible  <bruno@clisp.org>
28399
28400         * MODULES.html.sh (Unicode string functions): Add the new modules.
28401
28402         * tests/uniwidth/test-u32-strwidth.c: New file.
28403         * modules/uniwidth/u32-strwidth-tests: New file.
28404
28405         * lib/uniwidth/u32-strwidth.c: New file.
28406         * modules/uniwidth/u32-strwidth: New file.
28407
28408         * tests/uniwidth/test-u16-strwidth.c: New file.
28409         * modules/uniwidth/u16-strwidth-tests: New file.
28410
28411         * lib/uniwidth/u16-strwidth.c: New file.
28412         * modules/uniwidth/u16-strwidth: New file.
28413
28414         * tests/uniwidth/test-u8-strwidth.c: New file.
28415         * modules/uniwidth/u8-strwidth-tests: New file.
28416
28417         * lib/uniwidth/u8-strwidth.c: New file.
28418         * modules/uniwidth/u8-strwidth: New file.
28419
28420         * tests/uniwidth/test-u32-width.c: New file.
28421         * modules/uniwidth/u32-width-tests: New file.
28422
28423         * lib/uniwidth/u32-width.c: New file.
28424         * modules/uniwidth/u32-width: New file.
28425
28426         * tests/uniwidth/test-u16-width.c: New file.
28427         * modules/uniwidth/u16-width-tests: New file.
28428
28429         * lib/uniwidth/u16-width.c: New file.
28430         * modules/uniwidth/u16-width: New file.
28431
28432         * tests/uniwidth/test-u8-width.c: New file.
28433         * modules/uniwidth/u8-width-tests: New file.
28434
28435         * lib/uniwidth/u8-width.c: New file.
28436         * modules/uniwidth/u8-width: New file.
28437
28438         * tests/uniwidth/test-uc_width.c: New file.
28439         * modules/uniwidth/width-tests: New file.
28440
28441         * lib/uniwidth/width.c: New file, from GNU libiconv.
28442         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
28443         * modules/uniwidth/width: New file.
28444
28445         * lib/uniwidth.h: New file, from GNU libiconv.
28446         * modules/uniwidth/base: New file.
28447
28448 2007-07-07  Bruno Haible  <bruno@clisp.org>
28449
28450         * lib/uniname.h: New file, from GNU gettext.
28451         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
28452         * lib/uniname/uninames.h: New file, from GNU gettext.
28453         * lib/uniname/uniname.c: New file, from GNU gettext.
28454         * tests/uniname/test-uninames.sh: New file.
28455         * tests/uniname/test-uninames.c: New file, from GNU gettext.
28456         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
28457         * modules/uniname/base: New file.
28458         * modules/uniname/uniname: New file.
28459         * modules/uniname/uniname-tests: New file.
28460         * MODULES.html.sh (Unicode string functions): Add the new modules.
28461
28462 2007-07-06  Bruno Haible  <bruno@clisp.org>
28463
28464         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
28465
28466 2007-07-06  Bruno Haible  <bruno@clisp.org>
28467
28468         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
28469         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
28470         includes <cygwin/sys_time.h> which includes <sys/select.h> which
28471         include <sys/time.h>.
28472         Reported by Eric Blake.
28473
28474 2007-07-06  Eric Blake  <ebb9@byu.net>
28475
28476         Fix testing canonicalize on cygwin.
28477         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
28478         Revert patch from 2007-06-19.
28479         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
28480         canonicalize module is also in use.
28481         * tests/test-canonicalize.c: New file.
28482         * tests/test-canonicalize.sh: Likewise.
28483         * modules/canonicalize-tests: Likewise.
28484
28485 2007-07-06  Jim Meyering  <jim@meyering.net>
28486
28487         * lib/getugroups.c (getugroups): Detect getgrent failure.
28488         Adjust comment to reflect reality: this function may return -1.
28489
28490 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
28491
28492         * build-aux/bootstrap (TP_URL,get_translations): Update to use
28493         the new TP address.
28494         (usage): Fix typo
28495         (gnulib_mk): New variable.
28496
28497 2007-07-05  Jim Meyering  <jim@meyering.net>
28498
28499         Don't let endgrent clobber errno, no matter how improbable.
28500         * lib/getugroups.c (getugroups): Save and restore errno around
28501         endgrent call.
28502
28503         Close the group DB even when failing with 2^31 or more members.
28504         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
28505
28506 2007-07-04  Jim Meyering  <jim@meyering.net>
28507
28508         * lib/getugroups.h: New file.
28509         * lib/getugroups.c: Include "getugroups.h".
28510         Remove uses of "register" keyword.
28511         Move local variable, "cp", down into scope where used.
28512         Give "username" parameter the "const" attribute.
28513         * modules/getugroups (Files): Add lib/getugroups.h
28514
28515 2007-07-04  Karl Berry  <karl@gnu.org>
28516
28517         * MODULES.html.sh (func_all_modules): Complete rename of
28518         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
28519
28520 2007-07-02  Bruno Haible  <bruno@clisp.org>
28521
28522         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
28523         mode, when inttypes.h comes from gnulib.
28524         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
28525
28526 2007-07-02  Simon Josefsson  <simon@josefsson.org>
28527
28528         * NEWS: Mention lgpl module name change.
28529
28530         * modules/lgpl-2.1: Renamed from lgpl.
28531
28532         * NEWS: Mention gpl module name change.
28533
28534         * modules/gpl-3.0: New file, based on gpl-2.0.
28535
28536         * modules/gpl-2.0: Renamed from gpl.
28537
28538         * modules/gpl: Fix filename, doc/gpl.texi is now found at
28539         doc/gpl-2.0.texi.
28540
28541 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
28542
28543         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
28544         #define __STDC_LIMIT_MACROS temporarily while including
28545         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
28546         Problem reported by Joel E. Denny in
28547         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
28548
28549 2007-07-01  Bruno Haible  <bruno@clisp.org>
28550
28551         * lib/unistdio.h: New file.
28552         * lib/unistdio/u-asnprintf.h: New file.
28553         * lib/unistdio/u-asprintf.h: New file.
28554         * lib/unistdio/u-printf-args.c: New file.
28555         * lib/unistdio/u-printf-args.h: New file.
28556         * lib/unistdio/u-printf-parse.h: New file.
28557         * lib/unistdio/u-snprintf.h: New file.
28558         * lib/unistdio/u-sprintf.h: New file.
28559         * lib/unistdio/u-vasprintf.h: New file.
28560         * lib/unistdio/u-vsnprintf.h: New file.
28561         * lib/unistdio/u-vsprintf.h: New file.
28562         * lib/unistdio/ulc-asnprintf.c: New file.
28563         * lib/unistdio/ulc-asprintf.c: New file.
28564         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
28565         * lib/unistdio/ulc-printf-parse.c: New file.
28566         * lib/unistdio/ulc-snprintf.c: New file.
28567         * lib/unistdio/ulc-sprintf.c: New file.
28568         * lib/unistdio/ulc-vasnprintf.c: New file.
28569         * lib/unistdio/ulc-vasprintf.c: New file.
28570         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
28571         * lib/unistdio/ulc-vsnprintf.c: New file.
28572         * lib/unistdio/ulc-vsprintf.c: New file.
28573         * lib/unistdio/u8-asnprintf.c: New file.
28574         * lib/unistdio/u8-asprintf.c: New file.
28575         * lib/unistdio/u8-printf-parse.c: New file.
28576         * lib/unistdio/u8-snprintf.c: New file.
28577         * lib/unistdio/u8-sprintf.c: New file.
28578         * lib/unistdio/u8-vasnprintf.c: New file.
28579         * lib/unistdio/u8-vasprintf.c: New file.
28580         * lib/unistdio/u8-vsnprintf.c: New file.
28581         * lib/unistdio/u8-vsprintf.c: New file.
28582         * lib/unistdio/u8-u8-asnprintf.c: New file.
28583         * lib/unistdio/u8-u8-asprintf.c: New file.
28584         * lib/unistdio/u8-u8-snprintf.c: New file.
28585         * lib/unistdio/u8-u8-sprintf.c: New file.
28586         * lib/unistdio/u8-u8-vasnprintf.c: New file.
28587         * lib/unistdio/u8-u8-vasprintf.c: New file.
28588         * lib/unistdio/u8-u8-vsnprintf.c: New file.
28589         * lib/unistdio/u8-u8-vsprintf.c: New file.
28590         * lib/unistdio/u16-asnprintf.c: New file.
28591         * lib/unistdio/u16-asprintf.c: New file.
28592         * lib/unistdio/u16-printf-parse.c: New file.
28593         * lib/unistdio/u16-snprintf.c: New file.
28594         * lib/unistdio/u16-sprintf.c: New file.
28595         * lib/unistdio/u16-vasnprintf.c: New file.
28596         * lib/unistdio/u16-vasprintf.c: New file.
28597         * lib/unistdio/u16-vsnprintf.c: New file.
28598         * lib/unistdio/u16-vsprintf.c: New file.
28599         * lib/unistdio/u16-u16-asnprintf.c: New file.
28600         * lib/unistdio/u16-u16-asprintf.c: New file.
28601         * lib/unistdio/u16-u16-snprintf.c: New file.
28602         * lib/unistdio/u16-u16-sprintf.c: New file.
28603         * lib/unistdio/u16-u16-vasnprintf.c: New file.
28604         * lib/unistdio/u16-u16-vasprintf.c: New file.
28605         * lib/unistdio/u16-u16-vsnprintf.c: New file.
28606         * lib/unistdio/u16-u16-vsprintf.c: New file.
28607         * lib/unistdio/u32-asnprintf.c: New file.
28608         * lib/unistdio/u32-asprintf.c: New file.
28609         * lib/unistdio/u32-printf-parse.c: New file.
28610         * lib/unistdio/u32-snprintf.c: New file.
28611         * lib/unistdio/u32-sprintf.c: New file.
28612         * lib/unistdio/u32-vasnprintf.c: New file.
28613         * lib/unistdio/u32-vasprintf.c: New file.
28614         * lib/unistdio/u32-vsnprintf.c: New file.
28615         * lib/unistdio/u32-vsprintf.c: New file.
28616         * lib/unistdio/u32-u32-asnprintf.c: New file.
28617         * lib/unistdio/u32-u32-asprintf.c: New file.
28618         * lib/unistdio/u32-u32-snprintf.c: New file.
28619         * lib/unistdio/u32-u32-sprintf.c: New file.
28620         * lib/unistdio/u32-u32-vasnprintf.c: New file.
28621         * lib/unistdio/u32-u32-vasprintf.c: New file.
28622         * lib/unistdio/u32-u32-vsnprintf.c: New file.
28623         * lib/unistdio/u32-u32-vsprintf.c: New file.
28624         * tests/unistdio/test-ulc-asnprintf1.c: New file.
28625         * tests/unistdio/test-ulc-asnprintf1.h: New file.
28626         * tests/unistdio/test-ulc-printf1.h: New file.
28627         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
28628         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
28629         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
28630         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
28631         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
28632         * tests/unistdio/test-ulc-vasprintf1.c: New file.
28633         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
28634         * tests/unistdio/test-ulc-vsprintf1.c: New file.
28635         * tests/unistdio/test-u8-asnprintf1.c: New file.
28636         * tests/unistdio/test-u8-asnprintf1.h: New file.
28637         * tests/unistdio/test-u8-printf1.h: New file.
28638         * tests/unistdio/test-u8-vasnprintf1.c: New file.
28639         * tests/unistdio/test-u8-vasnprintf2.c: New file.
28640         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
28641         * tests/unistdio/test-u8-vasnprintf3.c: New file.
28642         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
28643         * tests/unistdio/test-u8-vasprintf1.c: New file.
28644         * tests/unistdio/test-u8-vsnprintf1.c: New file.
28645         * tests/unistdio/test-u8-vsprintf1.c: New file.
28646         * tests/unistdio/test-u16-asnprintf1.c: New file.
28647         * tests/unistdio/test-u16-asnprintf1.h: New file.
28648         * tests/unistdio/test-u16-printf1.h: New file.
28649         * tests/unistdio/test-u16-vasnprintf1.c: New file.
28650         * tests/unistdio/test-u16-vasnprintf2.c: New file.
28651         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
28652         * tests/unistdio/test-u16-vasnprintf3.c: New file.
28653         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
28654         * tests/unistdio/test-u16-vasprintf1.c: New file.
28655         * tests/unistdio/test-u16-vsnprintf1.c: New file.
28656         * tests/unistdio/test-u16-vsprintf1.c: New file.
28657         * tests/unistdio/test-u32-asnprintf1.c: New file.
28658         * tests/unistdio/test-u32-asnprintf1.h: New file.
28659         * tests/unistdio/test-u32-printf1.h: New file.
28660         * tests/unistdio/test-u32-vasnprintf1.c: New file.
28661         * tests/unistdio/test-u32-vasnprintf2.c: New file.
28662         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
28663         * tests/unistdio/test-u32-vasnprintf3.c: New file.
28664         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
28665         * tests/unistdio/test-u32-vasprintf1.c: New file.
28666         * tests/unistdio/test-u32-vsnprintf1.c: New file.
28667         * tests/unistdio/test-u32-vsprintf1.c: New file.
28668         * modules/unistdio/base: New file.
28669         * modules/unistdio/u-printf-args: New file.
28670         * modules/unistdio/ulc-asnprintf: New file.
28671         * modules/unistdio/ulc-asprintf: New file.
28672         * modules/unistdio/ulc-fprintf: New file.
28673         * modules/unistdio/ulc-printf-parse: New file.
28674         * modules/unistdio/ulc-snprintf: New file.
28675         * modules/unistdio/ulc-sprintf: New file.
28676         * modules/unistdio/ulc-vasnprintf: New file.
28677         * modules/unistdio/ulc-vasprintf: New file.
28678         * modules/unistdio/ulc-vfprintf: New file.
28679         * modules/unistdio/ulc-vsnprintf: New file.
28680         * modules/unistdio/ulc-vsprintf: New file.
28681         * modules/unistdio/u8-asnprintf: New file.
28682         * modules/unistdio/u8-asprintf: New file.
28683         * modules/unistdio/u8-printf-parse: New file.
28684         * modules/unistdio/u8-snprintf: New file.
28685         * modules/unistdio/u8-sprintf: New file.
28686         * modules/unistdio/u8-vasnprintf: New file.
28687         * modules/unistdio/u8-vasprintf: New file.
28688         * modules/unistdio/u8-vsnprintf: New file.
28689         * modules/unistdio/u8-vsprintf: New file.
28690         * modules/unistdio/u8-u8-asnprintf: New file.
28691         * modules/unistdio/u8-u8-asprintf: New file.
28692         * modules/unistdio/u8-u8-snprintf: New file.
28693         * modules/unistdio/u8-u8-sprintf: New file.
28694         * modules/unistdio/u8-u8-vasnprintf: New file.
28695         * modules/unistdio/u8-u8-vasprintf: New file.
28696         * modules/unistdio/u8-u8-vsnprintf: New file.
28697         * modules/unistdio/u8-u8-vsprintf: New file.
28698         * modules/unistdio/u16-asnprintf: New file.
28699         * modules/unistdio/u16-asprintf: New file.
28700         * modules/unistdio/u16-printf-parse: New file.
28701         * modules/unistdio/u16-snprintf: New file.
28702         * modules/unistdio/u16-sprintf: New file.
28703         * modules/unistdio/u16-vasnprintf: New file.
28704         * modules/unistdio/u16-vasprintf: New file.
28705         * modules/unistdio/u16-vsnprintf: New file.
28706         * modules/unistdio/u16-vsprintf: New file.
28707         * modules/unistdio/u16-u16-asnprintf: New file.
28708         * modules/unistdio/u16-u16-asprintf: New file.
28709         * modules/unistdio/u16-u16-snprintf: New file.
28710         * modules/unistdio/u16-u16-sprintf: New file.
28711         * modules/unistdio/u16-u16-vasnprintf: New file.
28712         * modules/unistdio/u16-u16-vasprintf: New file.
28713         * modules/unistdio/u16-u16-vsnprintf: New file.
28714         * modules/unistdio/u16-u16-vsprintf: New file.
28715         * modules/unistdio/u32-asnprintf: New file.
28716         * modules/unistdio/u32-asprintf: New file.
28717         * modules/unistdio/u32-printf-parse: New file.
28718         * modules/unistdio/u32-snprintf: New file.
28719         * modules/unistdio/u32-sprintf: New file.
28720         * modules/unistdio/u32-vasnprintf: New file.
28721         * modules/unistdio/u32-vasprintf: New file.
28722         * modules/unistdio/u32-vsnprintf: New file.
28723         * modules/unistdio/u32-vsprintf: New file.
28724         * modules/unistdio/u32-u32-asnprintf: New file.
28725         * modules/unistdio/u32-u32-asprintf: New file.
28726         * modules/unistdio/u32-u32-snprintf: New file.
28727         * modules/unistdio/u32-u32-sprintf: New file.
28728         * modules/unistdio/u32-u32-vasnprintf: New file.
28729         * modules/unistdio/u32-u32-vasprintf: New file.
28730         * modules/unistdio/u32-u32-vsnprintf: New file.
28731         * modules/unistdio/u32-u32-vsprintf: New file.
28732         * modules/unistdio/ulc-asnprintf-tests: New file.
28733         * modules/unistdio/ulc-vasnprintf-tests: New file.
28734         * modules/unistdio/ulc-vasprintf-tests: New file.
28735         * modules/unistdio/ulc-vsnprintf-tests: New file.
28736         * modules/unistdio/ulc-vsprintf-tests: New file.
28737         * modules/unistdio/u8-asnprintf-tests: New file.
28738         * modules/unistdio/u8-vasnprintf-tests: New file.
28739         * modules/unistdio/u8-vasprintf-tests: New file.
28740         * modules/unistdio/u8-vsnprintf-tests: New file.
28741         * modules/unistdio/u8-vsprintf-tests: New file.
28742         * modules/unistdio/u16-asnprintf-tests: New file.
28743         * modules/unistdio/u16-vasnprintf-tests: New file.
28744         * modules/unistdio/u16-vasprintf-tests: New file.
28745         * modules/unistdio/u16-vsnprintf-tests: New file.
28746         * modules/unistdio/u16-vsprintf-tests: New file.
28747         * modules/unistdio/u32-asnprintf-tests: New file.
28748         * modules/unistdio/u32-vasnprintf-tests: New file.
28749         * modules/unistdio/u32-vasprintf-tests: New file.
28750         * modules/unistdio/u32-vsnprintf-tests: New file.
28751         * modules/unistdio/u32-vsprintf-tests: New file.
28752         * MODULES.html.sh (Unicode string functions): Add the new modules.
28753
28754 2007-07-01  Bruno Haible  <bruno@clisp.org>
28755
28756         * lib/sprintf.c (sprintf): Limit the available length estimation,
28757         to avoid address wraparound.
28758         * lib/vsprintf.c (vsprintf): Likewise.
28759         * modules/sprintf-posix (Dependencies): Add stdint.
28760         * modules/vsprintf-posix (Dependencies): Likewise.
28761
28762 2007-07-01  Bruno Haible  <bruno@clisp.org>
28763
28764         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
28765         Windows PATH as well. Conservative double-quoting. Comments.
28766
28767 2007-07-01  Bruno Haible  <bruno@clisp.org>
28768             Eric Blake  <ebb9@byu.net>
28769             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28770
28771         * gnulib-tool (self_abspathname): Fix algorithm to cope with
28772         empty components in $PATH, denoting '.'.
28773
28774 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28775
28776         * gnulib-tool: Fix indentation.
28777         (func_create_megatestdir): Likewise.
28778         Report by Bruno Haible.
28779
28780 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28781
28782         Sync from Automake.
28783         * build-aux/gnupload: Fix shell portability issues with for loops.
28784         Report by Karl Berry.
28785
28786 2007-06-29  Simon Josefsson  <simon@josefsson.org>
28787
28788         * build-aux/maint.mk (POURL): Use translationproject.org.
28789
28790 2007-06-27  Simon Josefsson  <simon@josefsson.org>
28791             Bruno Haible  <bruno@clisp.org>
28792
28793         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
28794         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
28795         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
28796         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
28797         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
28798
28799 2007-06-27  Bruno Haible  <bruno@clisp.org>
28800
28801         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
28802         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
28803
28804 2007-06-26  Karl Berry  <karl@gnu.org>
28805
28806         * MODULES.html.sh: remove xreadlink-with-size.
28807
28808 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
28809
28810         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
28811         method that I hope also handles the double-include problem noted
28812         by Bruno Haible in
28813         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
28814
28815 2007-06-23  Bruno Haible  <bruno@clisp.org>
28816
28817         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
28818         Don't let the 'mostlyclean' target fail if the last subdirectory could
28819         not be removed.
28820         Reported by Karl Berry.
28821
28822 2007-06-23  Bruno Haible  <bruno@clisp.org>
28823
28824         * gnulib-tool (echo): Add a speedier workaround for ksh.
28825         * tests/test-echo.sh: Likewise.
28826
28827 2007-06-23  Bruno Haible  <bruno@clisp.org>
28828
28829         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
28830         * tests/test-echo.sh: Likewise.
28831
28832 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28833
28834         * gnulib-tool (IFS): Initialize early, so we don't set it to
28835         empty later.
28836         (self_abspathname): Rewrite algorithm to set it, reindent.
28837         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
28838         (func_create_megatestdir): Merge some sed scripts.
28839
28840 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
28841
28842         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
28843         exposed by Sun Studio 11 cc on Solaris 8.
28844
28845 2007-06-22  Bruno Haible  <bruno@clisp.org>
28846
28847         * gnulib-tool (echo): Ensure the echo primitive does not interpret
28848         backslashes.
28849         * tests/test-echo.sh: New file.
28850
28851 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28852
28853         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
28854         simplify `sed_replace_build_aux' scripts, they are portable but
28855         echoing them with `echo' is not.
28856         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
28857
28858 2007-06-21  Karl Berry  <karl@gnu.org>
28859
28860         * config/srclist.txt: guess we can't handle the licenses via
28861         srclist at the moment.
28862
28863 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
28864
28865         * MODULES.html.sh: Add include_next.
28866         * modules/include_next: New file.
28867
28868 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
28869
28870         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
28871         INCLUDE_NEXT.
28872         (gl_CHECK_NEXT_HEADERS): New macro.
28873         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
28874         the obsolescent gl_ABSOLUTE_HEADER.
28875         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
28876         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
28877         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
28878         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
28879         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
28880         * m4/math_h.m4 (gl_MATH_H): Likewise.
28881         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
28882         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
28883         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
28884         * m4/stdint.m4 (gl_STDINT_H): Likewise.
28885         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
28886         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
28887         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
28888         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
28889         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
28890         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
28891         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
28892         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
28893         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
28894         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
28895         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
28896         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
28897         * m4/inttypes.m4 (gl_INTTYPES_H): Define
28898         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
28899         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
28900         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
28901         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
28902         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
28903         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
28904         * lib/float_.h: Likewise.
28905         * lib/inttypes_.h: Likewise.
28906         * lib/math_.h: Likewise.
28907         * lib/search_.h: Likewise.
28908         * lib/signal_.h: Likewise.
28909         * lib/stdint_.h: Likewise.
28910         * lib/stdio_.h: Likewise.
28911         * lib/stdlib_.h: Likewise.
28912         * lib/string_.h: Likewise.
28913         * lib/sys_stat_.h: Likewise.
28914         * lib/sys_time_.h: Likewise.
28915         * lib/time_.h: Likewise.
28916         * lib/unistd_.h: Likewise.
28917         * lib/wchar_.h: Likewise.
28918         * lib/wctype_.h: Likewise.
28919         * lib/dirent_.h: Likewise.
28920         * lib/iconv_.h: Likewise.
28921         * lib/locale_.h: Likewise.
28922         * lib/netinet_in_.h: Likewise.
28923         * lib/sys_select_.h: Likewise.
28924         * lib/sys_socket_.h: Likewise.
28925         * lib/sysexits_.h: Likewise.
28926         * modules/fcntl (Depends-on): Depend on include_next, not
28927         absolute_header.
28928         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
28929         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
28930         * modules/fchdir: Likewise.
28931         * modules/float: Likewise.
28932         * modules/iconv_open: Likewise.
28933         * modules/inttypes: Likewise.
28934         * modules/locale: Likewise.
28935         * modules/math: Likewise.
28936         * modules/netinet_in: Likewise.
28937         * modules/search: Likewise.
28938         * modules/signal: Likewise.
28939         * modules/stdint: Likewise.
28940         * modules/stdio: Likewise.
28941         * modules/stdlib: Likewise.
28942         * modules/string: Likewise.
28943         * modules/sys_select: Likewise.
28944         * modules/sys_socket: Likewise.
28945         * modules/sys_stat: Likewise.
28946         * modules/sys_time: Likewise.
28947         * modules/sysexits: Likewise.
28948         * modules/time: Likewise.
28949         * modules/unistd: Likewise.
28950         * modules/wchar: Likewise.
28951         * modules/wctype: Likewise.
28952         * modules/sys_stat: Change maintainer to "all".
28953         * modules/unistd: Likewise.
28954
28955 2007-06-20  Karl Berry  <karl@gnu.org>
28956
28957         * config/srclist.txt: track www changes in license files.
28958
28959 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
28960
28961         * build-aux/bootstrap: Remove stray dot.
28962         Make sure build_aux settings are honored when linking
28963         gnulib_extra_files.
28964
28965 2007-06-19  Eric Blake  <ebb9@byu.net>
28966
28967         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
28968         Allow compilation on cygwin.
28969
28970 2007-06-19  Jim Meyering  <jim@meyering.net>
28971
28972         xreadlink-with-size: Remove module.  No longer used.
28973         Ex-callers now use xreadlink or mreadlink-with-size.
28974         * modules/xreadlink-with-size: Remove module.
28975         * lib/xreadlink-with-size.c: Remove file.
28976         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
28977         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
28978         just before the function definition *is* accurate.
28979
28980         Eliminate one way canonicalize_filename_mode could exit.
28981         * lib/canonicalize.c (canonicalize_filename_mode):
28982         Use mreadlink_with_size, not xreadlink_with_size.
28983
28984 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
28985
28986         Detect porting problems to FreeBSD/arm, which has time_t wider than
28987         long int.  Original problem reported for GNU diff by Xin Li in
28988         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
28989         * modules/getdate (Depends-on): Add intprops, verify.
28990         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
28991         is an integer type no wider than long int.
28992
28993 2007-06-18  Jim Meyering  <jim@meyering.net>
28994
28995         New module: mreadlink-with-size.
28996         * MODULES.html.sh: Add mreadlink-with-size.
28997         * modules/mreadlink-with-size: New module
28998         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
28999         not xreadlink-with-size.
29000         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
29001
29002 2007-06-16  Bruno Haible  <bruno@clisp.org>
29003
29004         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
29005         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
29006         Reported by Gary V. Vaughan <gary@gnu.org>.
29007
29008 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
29009
29010         Revamp lchown so that it lives in unistd.h where it belongs.
29011         * lib/lchown.h: Remove.
29012         * lib/dirchownmod.c: Don't include lib/lchown.h.
29013         * lib/fchownat.c: Likewise.
29014         * lib/openat.c: Likewise.
29015         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
29016         does not follow symlinks.
29017         (EOPNOTSUPP): Define if not defined.
29018         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
29019         is defined to 0.
29020         (lchown): New decl.
29021         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
29022         Do not check for lchown decl.
29023         Set REPLACE_LCHOWN.
29024         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
29025         REPLACE_LCHOWN.
29026         * modules/chown: Make it clear it follows symlinks.
29027         * modules/lchown: Make it clear it doesn't follow symlinks.
29028         (Files): Remove lib/lchown.h
29029         (Depends-on): Add unistd.
29030         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
29031         (Include): Include <unistd.h>, not "lchown.h".
29032         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
29033         REPLACE_LCHOWN.
29034
29035 2007-06-15  Jim Meyering  <jim@meyering.net>
29036
29037         Change license (GPL to LGPL) of fsusage and dependents.
29038         * modules/fsusage (License): Change to LGPL.
29039         * modules/full-read (License): Likewise.
29040         * modules/full-write (License): Likewise.
29041         * modules/safe-read (License): Likewise.
29042         * modules/safe-write (License): Likewise.
29043
29044 2007-06-14  Ben Pfaff  <blp@gnu.org>
29045
29046         Missing part of allocsa -> malloca transition.
29047         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
29048         gl_MALLOCA.
29049
29050 2007-06-12  Bruno Haible  <bruno@clisp.org>
29051
29052         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
29053         to ia64, x86_64, i386.
29054         Reported by Eric Blake.
29055
29056 2007-06-12  Bruno Haible  <bruno@clisp.org>
29057
29058         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
29059         cross-compiling to x86_64.
29060
29061 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
29062
29063         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
29064         glitch reported by Ralf Wildenhues in
29065         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
29066
29067         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
29068         Vin Shelton.
29069
29070 2007-06-11  Bruno Haible  <bruno@clisp.org>
29071
29072         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
29073         replacement string.
29074         Reported by Eric Blake.
29075
29076 2007-06-10  Bruno Haible  <bruno@clisp.org>
29077
29078         Prepare vasnprintf code for use with Unicode strings.
29079         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
29080         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
29081         TYPE_U32_STRING.
29082         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
29083         a_u32_string variants.
29084         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
29085         * lib/printf-args.c: Don't include config.h and the specification
29086         header if PRINTF_FETCHARGS is already defined.
29087         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
29088         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
29089         TYPE_U16_STRING, TYPE_U32_STRING.
29090         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
29091         u16_directive, u16_directives, u32_directive, u32_directives): New
29092         types.
29093         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
29094         New declarations.
29095         * lib/printf-parse.c: Don't include config.h and the specification
29096         header if PRINTF_PARSE is already defined. Eliminate the set of
29097         parameters for WIDE_CHAR_VERSION; the user of this file must provide
29098         them now. Include c-ctype.h.
29099         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
29100         directive and CHAR_T_ONLY_ASCII.
29101         * lib/vasnprintf.c: Don't include config.h and the specification header
29102         if VASNPRINTF is already defined.
29103         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
29104         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
29105         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
29106         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
29107         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
29108         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
29109         code accordingly.
29110         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
29111         pad_ourselves also in this case, with the 'c' and 's' directives, and
29112         with a different notion of "width".
29113         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
29114
29115 2007-06-10  Bruno Haible  <bruno@clisp.org>
29116
29117         * modules/unistr/u32-mbsnlen: New file.
29118         * lib/unistr/u32-mbsnlen.c: New file.
29119
29120         * modules/unistr/u16-mbsnlen: New file.
29121         * lib/unistr/u16-mbsnlen.c: New file.
29122
29123         * modules/unistr/u8-mbsnlen: New file.
29124         * lib/unistr/u8-mbsnlen.c: New file.
29125
29126         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
29127         declarations.
29128
29129 2007-06-10  Bruno Haible  <bruno@clisp.org>
29130
29131         * lib/string_.h (mbsnlen): New declaration.
29132         * lib/mbsnlen.c: New file.
29133         * m4/mbsnlen.m4: New file.
29134         * modules/mbsnlen: New file.
29135         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
29136         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
29137         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
29138
29139 2007-06-10  Bruno Haible  <bruno@clisp.org>
29140
29141         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
29142
29143 2007-06-10  Bruno Haible  <bruno@clisp.org>
29144
29145         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
29146         * lib/mbuiter.h: Likewise.
29147
29148 2007-06-10  Bruno Haible  <bruno@clisp.org>
29149
29150         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
29151         declaration.
29152
29153 2007-06-10  Karl Berry  <karl@gnu.org>
29154
29155         * config/srclist.txt: remove gettext entries, Bruno prefers
29156         to update individually.
29157
29158 2007-06-10  Bruno Haible  <bruno@clisp.org>
29159
29160         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
29161         'maxlen'. Ensure only length + width bytes are allocated, not
29162         length + 1 + width.
29163
29164 2007-06-09  Bruno Haible  <bruno@clisp.org>
29165
29166         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
29167         (CHAR_T): Remove macro.
29168         (VASNPRINTF): Update.
29169
29170 2007-06-09  Bruno Haible  <bruno@clisp.org>
29171
29172         * MODULES.html.sh (Unicode string functions): Add the new modules.
29173
29174         * modules/uniconv/u32-conv-to-enc: New file.
29175         * lib/uniconv/u32-conv-to-enc.c: New file.
29176         * modules/uniconv/u32-conv-to-enc-tests: New file.
29177         * tests/uniconv/test-u32-conv-to-enc.c: New file.
29178
29179         * modules/uniconv/u16-conv-to-enc: New file.
29180         * lib/uniconv/u16-conv-to-enc.c: New file.
29181         * lib/uniconv/u-conv-to-enc.h: New file.
29182         * modules/uniconv/u16-conv-to-enc-tests: New file.
29183         * tests/uniconv/test-u16-conv-to-enc.c: New file.
29184
29185         * modules/uniconv/u8-conv-to-enc: New file.
29186         * lib/uniconv/u8-conv-to-enc.c: New file.
29187         * modules/uniconv/u8-conv-to-enc-tests: New file.
29188         * tests/uniconv/test-u8-conv-to-enc.c: New file.
29189
29190         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
29191         u32_conv_to_encoding): New declarations.
29192
29193 2007-06-09  Bruno Haible  <bruno@clisp.org>
29194
29195         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
29196
29197 2007-06-09  Bruno Haible  <bruno@clisp.org>
29198
29199         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
29200         * modules/malloca: Renamed from modules/allocsa, updated.
29201         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
29202         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
29203         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
29204         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
29205         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
29206         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
29207         * modules/xmalloca: Renamed from modules/xallocsa, updated.
29208         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
29209         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
29210         * modules/c-strcasestr (Depends-on): Update.
29211         * lib/c-strcasestr.c: Update.
29212         * modules/c-strstr (Depends-on): Update.
29213         * lib/c-strstr.c: Update.
29214         * modules/canonicalize-lgpl (Depends-on): Update.
29215         * lib/canonicalize-lgpl.c: Update.
29216         * modules/clean-temp (Depends-on): Update.
29217         * lib/clean-temp.c: Update.
29218         * modules/csharpcomp (Depends-on): Update.
29219         * lib/csharpcomp.c: Update.
29220         * modules/csharpexec (Depends-on): Update.
29221         * lib/csharpexec.c: Update.
29222         * modules/javacomp (Depends-on): Update.
29223         * lib/javacomp.c: Update.
29224         * modules/javaexec (Depends-on): Update.
29225         * lib/javaexec.c: Update.
29226         * modules/mbscasestr (Depends-on): Update.
29227         * lib/mbscasestr.c: Update.
29228         * modules/mbsstr (Depends-on): Update.
29229         * lib/mbsstr.c: Update.
29230         * modules/setenv (Depends-on): Update.
29231         * lib/setenv.c: Update.
29232         * modules/strcasestr (Depends-on): Update.
29233         * lib/strcasestr.c: Update.
29234         * modules/striconveha (Depends-on): Update.
29235         * lib/striconveha.c: Update.
29236         * modules/relocatable-prog-wrapper (Files): Update.
29237         * lib/relocwrapper.c: Update.
29238         * build-aux/install-reloc: Update.
29239         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
29240
29241 2007-06-08  Bruno Haible  <bruno@clisp.org>
29242
29243         Port to uClibc.
29244         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
29245         * lib/fpurge.c (fpurge): Likewise.
29246         * lib/freading.c (freading): Likewise.
29247         * lib/fseeko.c (rpl_fseeko): Likewise.
29248         * lib/fseterr.c (fseterr): Likewise.
29249         * lib/fwriting.c (fwriting): Likewise.
29250         * tests/test-fflush.c (main): Avoid a failure on uClibc.
29251
29252 2007-06-08  Bruno Haible  <bruno@clisp.org>
29253
29254         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
29255         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
29256         * modules/gettext (Files): Add m4/intlmacosx.m4.
29257
29258 2007-06-07  Bruno Haible  <bruno@clisp.org>
29259
29260         * modules/localename-tests: New file.
29261         * tests/test-localename.c: New file.
29262
29263         New module 'localename'.
29264         * lib/localename.h: New file.
29265         * lib/localename.c: New file, from GNU gettext.
29266         * m4/localename.m4: New file.
29267         * modules/localename: New file.
29268
29269 2007-06-07  Bruno Haible  <bruno@clisp.org>
29270
29271         Work around the lack of <wchar.h> on some builds of uClibc.
29272         * doc/headers/wchar.texi: Update.
29273         * lib/wchar_.h: Include <wchar.h> only if it exists.
29274         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
29275         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
29276         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
29277         doesn't exist.
29278         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
29279         * modules/mbfile (Depends-on): Add wchar.
29280         * modules/mbiter (Depends-on): Likewise.
29281         * modules/mbuiter (Depends-on): Likewise.
29282         Reported by Simon Josefsson.
29283
29284 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
29285
29286         Work around problem reported by Steven M. Schweda in
29287         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
29288         Tru64 5.1B with the Compaq compiler environment installed declares
29289         an 'isblank' function but does not define it in the C library.
29290         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
29291         * lib/regex_internal.h (isblank): Likewise.
29292         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
29293         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
29294
29295 2007-06-05  Bruno Haible  <bruno@clisp.org>
29296
29297         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
29298         ia64.
29299         * modules/printf-safe: New file.
29300         * modules/fprintf-posix (Depends-on): Add printf-safe.
29301         * modules/printf-posix (Depends-on): Likewise.
29302         * modules/snprintf-posix (Depends-on): Likewise.
29303         * modules/sprintf-posix (Depends-on): Likewise.
29304         * modules/vasnprintf-posix (Depends-on): Likewise.
29305         * modules/vasprintf-posix (Depends-on): Likewise.
29306         * modules/vfprintf-posix (Depends-on): Likewise.
29307         * modules/vprintf-posix (Depends-on): Likewise.
29308         * modules/vsnprintf-posix (Depends-on): Likewise.
29309         * modules/vsprintf-posix (Depends-on): Likewise.
29310         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
29311         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
29312         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
29313         "no" on i386, x86_64, ia64.
29314         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
29315         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
29316         on i386, x86_64, ia64.
29317         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
29318         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
29319         on i386, x86_64, ia64.
29320         * tests/test-vasnprintf-posix.c: Include float.h.
29321         (LDBL80_WORDS): New macro.
29322         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
29323         on i386, x86_64, ia64.
29324         * tests/test-vasprintf-posix.c: Include float.h.
29325         (LDBL80_WORDS): New macro.
29326         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
29327         on i386, x86_64, ia64.
29328         * tests/test-snprintf-posix.c: Include float.h.
29329         * tests/test-sprintf-posix.c: Likewise.
29330         * tests/test-vsnprintf-posix.c: Likewise.
29331         * tests/test-vsprintf-posix.c: Likewise.
29332
29333 2007-06-05  Bruno Haible  <bruno@clisp.org>
29334
29335         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
29336         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
29337         non-IEEE numbers on i386, x86_64, ia64.
29338         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
29339         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
29340         * tests/test-isnanl.h: Include float.h.
29341         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
29342
29343 2007-06-05  Bruno Haible  <bruno@clisp.org>
29344
29345         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
29346         also the %a / %A. Handle the %a / %A code before this extra handling.
29347
29348 2007-06-05  Bruno Haible  <bruno@clisp.org>
29349
29350         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
29351         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
29352
29353 2007-06-05  Bruno Haible  <bruno@clisp.org>
29354
29355         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
29356         typo in variable name.
29357
29358 2007-06-05  Eric Blake  <ebb9@byu.net>
29359
29360         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
29361         Reported by Simon Josefsson.
29362
29363 2007-06-04  Bruno Haible  <bruno@clisp.org>
29364
29365         Avoid test failures on some PowerPC platforms.
29366         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
29367         Define differently for PowerPC.
29368         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
29369         Reported by Gary V. Vaughan <gary@gnu.org>.
29370
29371 2007-06-02  Bruno Haible  <bruno@clisp.org>
29372
29373         Fix test-stdint failure on FreeBSD/ia64.
29374         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
29375         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
29376         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
29377         * doc/headers/stdint.texi: Update.
29378
29379 2007-06-01  Bruno Haible  <bruno@clisp.org>
29380
29381         * tests/test-binary-io.c (main): Pass a third argument to open().
29382         Reported by Gary V. Vaughan <gary@gnu.org>.
29383
29384 2007-06-01  Bruno Haible  <bruno@clisp.org>
29385
29386         * doc/functions/frexpl.texi: Update for mingw.
29387
29388 2007-06-01  Bruno Haible  <bruno@clisp.org>
29389
29390         * tests/test-lseek.c (main): Disable test of errno for invalid third
29391         argument.
29392         * doc/functions/lseek.texi: Update.
29393         Reported by Gary V. Vaughan <gary@gnu.org>.
29394
29395 2007-05-28  Bruno Haible  <bruno@clisp.org>
29396
29397         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
29398
29399 2007-05-31  Eric Blake  <ebb9@byu.net>
29400
29401         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
29402         cross compiling.
29403
29404 2007-05-30  Eric Blake  <ebb9@byu.net>
29405         and Bruno Haible  <bruno@clisp.org>
29406
29407         Work around mingw test failures exposed by m4-1.4.9b.
29408         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
29409         * tests/test-unistd.c: Disable uid_t and git_t tests for the
29410         moment.
29411
29412 2007-05-30  Bruno Haible  <bruno@clisp.org>
29413
29414         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
29415         assuming that they are closed. Needed on HP-UX 11.
29416
29417 2007-05-29  Bruno Haible  <bruno@clisp.org>
29418
29419         Fix a problem with #include_next.
29420         * lib/dirent_.h: Split the double-inclusion guard.
29421         * lib/fcntl_.h: Likewise.
29422         * lib/float_.h: Likewise.
29423         * lib/iconv_.h: Likewise.
29424         * lib/inttypes_.h: Likewise.
29425         * lib/locale_.h: Likewise.
29426         * lib/math_.h: Likewise.
29427         * lib/netinet_in_.h: Likewise.
29428         * lib/search_.h: Likewise.
29429         * lib/signal_.h: Likewise.
29430         * lib/stdint_.h: Likewise.
29431         * lib/stdio_.h: Likewise.
29432         * lib/stdlib_.h: Likewise.
29433         * lib/string_.h: Likewise.
29434         * lib/sys_select_.h: Likewise.
29435         * lib/sys_socket_.h: Likewise.
29436         * lib/sys_stat_.h: Likewise.
29437         * lib/sys_time_.h: Likewise.
29438         * lib/sysexits_.h: Likewise.
29439         * lib/time_.h: Likewise.
29440         * lib/unistd_.h: Likewise.
29441         * lib/wchar_.h: Likewise.
29442         * lib/wctype_.h: Likewise.
29443
29444 2007-05-29  Bruno Haible  <bruno@clisp.org>
29445
29446         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
29447         for the moment.
29448
29449 2007-05-29  Bruno Haible  <bruno@clisp.org>
29450
29451         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
29452         invocation.
29453         Reported by Eric Blake.
29454
29455 2007-05-29  Bruno Haible  <bruno@clisp.org>
29456
29457         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
29458         compiling case.
29459
29460 2007-05-29  Eric Blake  <ebb9@byu.net>
29461             Bruno Haible  <bruno@clisp.org>
29462
29463         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
29464         cross compiles.
29465
29466 2007-05-28  Eric Blake  <ebb9@byu.net>
29467
29468         * modules/closein-tests (test_closein_LDADD): Support test on
29469         cygwin with libtool.
29470
29471 2007-05-28  Bruno Haible  <bruno@clisp.org>
29472
29473         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
29474         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
29475         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
29476         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
29477         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
29478         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
29479         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
29480         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
29481         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
29482
29483 2007-05-28  Eric Blake  <ebb9@byu.net>
29484
29485         Unconditionally include <config.h> in unit tests.
29486         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
29487         * tests/test-allocsa.c, tests/test-arcfour.c,
29488         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
29489         tests/test-array_list.c, tests/test-array_oset.c,
29490         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
29491         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
29492         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
29493         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
29494         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
29495         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
29496         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
29497         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
29498         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
29499         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
29500         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
29501         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
29502         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
29503         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
29504         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
29505         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
29506         test-md5.c, test-memmem.c, test-printf-posix.c,
29507         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
29508         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
29509         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
29510         test-strcasestr.c, test-striconv.c, test-striconveh.c,
29511         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
29512         test-vasnprintf-posix2.c, test-vasnprintf.c,
29513         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
29514         test-vfprintf-posix.c, test-vprintf-posix.c,
29515         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
29516         test-xvasprintf.c: Likewise.
29517
29518 2007-05-28  Bruno Haible  <bruno@clisp.org>
29519
29520         * gnulib-tool (func_import): Remember the --with-tests command-line
29521         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
29522         Reported by Eric Blake.
29523
29524 2007-05-28  Bruno Haible  <bruno@clisp.org>
29525
29526         * modules/ftell-tests: New file.
29527         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
29528         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
29529
29530         * lib/ftell.c: New file.
29531         * modules/ftell: New file.
29532         * m4/ftell.m4: New file.
29533         * doc/functions/ftell.texi: Update.
29534         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
29535         REPLACE_FTELL.
29536         * lib/stdio_.h (rpl_ftell): New declaration.
29537         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
29538         REPLACE_FTELL.
29539
29540 2007-05-28  Eric Blake  <ebb9@byu.net>
29541
29542         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
29543
29544 2007-05-28  Bruno Haible  <bruno@clisp.org>
29545
29546         * modules/fseek-tests: New file.
29547         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
29548         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
29549
29550         * lib/fseek.c: New file.
29551         * modules/fseek: New file.
29552         * m4/fseek.m4: New file.
29553         * doc/functions/fseek.texi: Update.
29554         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
29555         REPLACE_FSEEK.
29556         * lib/stdio_.h (rpl_fseek): New declaration.
29557         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
29558         REPLACE_FSEEK.
29559
29560 2007-05-28  Bruno Haible  <bruno@clisp.org>
29561
29562         * lib/stdio_.h (fflush): More comments.
29563
29564 2007-05-28  Bruno Haible  <bruno@clisp.org>
29565
29566         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
29567         runtime test.
29568
29569 2007-05-28  Eric Blake  <ebb9@byu.net>
29570
29571         Improve lseek module.
29572         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
29573         * lib/unistd_.h (lseek): Scale back link warning message.
29574         * tests/test-lseek.c: Beef up test.
29575         * tests/test-lseek.sh: Exercise more facets of lseek.
29576         Reported by Bruno Haible.
29577
29578 2007-05-28  Bruno Haible  <bruno@clisp.org>
29579
29580         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
29581         to define.
29582
29583 2007-05-27  Bruno Haible  <bruno@clisp.org>
29584
29585         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
29586
29587 2007-05-27  Bruno Haible  <bruno@clisp.org>
29588
29589         * modules/openmp: New file.
29590         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
29591         Noah Misch.
29592
29593 2007-05-26  Bruno Haible  <bruno@clisp.org>
29594
29595         * modules/chdir-long (Depends-on): Add fchdir.
29596         * modules/chdir-safer (Depends-on): Likewise.
29597         * modules/fts (Depends-on): Likewise.
29598         * modules/fts-lgpl (Depends-on): Likewise.
29599         * modules/openat (Depends-on): Likewise.
29600         * modules/savewd (Depends-on): Likewise.
29601
29602 2007-05-24  Eric Blake  <ebb9@byu.net>
29603
29604         Fix lseek on mingw.
29605         * modules/lseek: New module.
29606         * m4/lseek.m4: New file.
29607         * lib/lseek.c: New file.
29608         * modules/lseek-tests: New file.
29609         * tests/test-lseek.c: New file.
29610         * tests/test-lseek.sh: New file.
29611         * MODULES.html.sh: Document lseek module.
29612         * modules/fflush (Depends-on): Add lseek, fseeko.
29613         * modules/fseeko (Depends-on): Likewise.
29614         * modules/ftello (Depends-on): Likewise.
29615         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
29616         broken.
29617         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
29618         broken.
29619         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
29620         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
29621         * lib/ftello.c (rpl_ftello): Likewise.
29622         * tests/test-fseeko.c (main): Test this.
29623         * tests/test-fseeko.sh: Likewise.
29624         * tests/test-ftello.c (main): Likewise.
29625         * tests/test-ftello.sh: Likewise.
29626         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
29627         implies replacing fseek.
29628         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
29629         HAVE_FTELLO.
29630         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
29631         * modules/unistd (Makefile.am): Likewise.
29632         * lib/unistd_.h (lseek): Declare a replacement.
29633         * doc/functions/lseek.texi (lseek): Document this fix.
29634         * doc/functions/fseek.texi (fseek): Likewise.
29635         * doc/functions/ftell.texi (ftell): Likewise.
29636
29637 2007-05-24  Bruno Haible  <bruno@clisp.org>
29638
29639         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
29640         in the printed representation of a NaN.
29641         * tests/test-vasprintf-posix.c (test_function): Likewise.
29642         * tests/test-snprintf-posix.h (test_function): Likewise.
29643         * tests/test-sprintf-posix.h (test_function): Likewise.
29644         Reported by Eric Blake.
29645
29646 2007-05-23  Eric Blake  <ebb9@byu.net>
29647
29648         Fix fseeko/ftello on cygwin 1.5.24.
29649         * doc/functions/fseeko.texi (fseeko): Document the fix.
29650         * doc/functions/ftello.texi (ftello): Document the fix.
29651         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
29652         * doc/functions/stdout.text (stdout): New file.
29653         * doc/functions/stderr.text (stderr): New file.
29654         * doc/gnulib.texi (Function Substitutes): Use new files.
29655         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
29656         prior to 1.7.0.
29657         * tests/test-ftello.c (main): Likewise for ftello.
29658         * tests/test-fseeko.sh: New file.
29659         * tests/test-ftello.sh: New file.
29660         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
29661         with seekable stdin.
29662         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
29663         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
29664         (gl_REPLACE_FSEEKO): New macro.
29665         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
29666         * modules/fseeko (Files): Distribute fseeko.c.
29667         * modules/ftello (Files): Distribute ftello.c.
29668         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
29669         mode.
29670         * lib/ftello.c (rpl_ftello): New file.
29671         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
29672         fseeko, ftello.
29673         (gl_STDIN_LARGE_OFFSET): New macro.
29674         * modules/stdio (Makefile.am): Perform the replacement.
29675         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
29676
29677 2007-05-23  Bruno Haible  <bruno@clisp.org>
29678
29679         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
29680         GNULIB_POSIXCHECK is defined.
29681
29682 2007-05-21  Bruno Haible  <bruno@clisp.org>
29683
29684         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
29685         Check also the output for NaN arguments. When cross-compiling, guess
29686         no on IRIX.
29687         * lib/vasnprintf.c: Update comments.
29688         * tests/test-vasnprintf-posix.c (strisnan): New function.
29689         (test_function): Use it.
29690         * tests/test-vasprintf-posix.c (strisnan): New function.
29691         (test_function): Use it.
29692         * tests/test-snprintf-posix.h (strisnan): New function.
29693         (test_function): Use it.
29694         * tests/test-sprintf-posix.h (strisnan): New function.
29695         (test_function): Use it.
29696         Reported by Eric Blake.
29697
29698 2007-05-20  Bruno Haible  <bruno@clisp.org>
29699
29700         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
29701         numbers that fails on BeOS.
29702         * doc/functions/frexpl.texi: Update.
29703
29704 2007-05-20  Jim Meyering  <jim@meyering.net>
29705
29706         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
29707         forced upon us by glibc-2.6.
29708
29709 2007-05-20  Bruno Haible  <bruno@clisp.org>
29710
29711         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
29712         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
29713         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
29714         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
29715         NEED_PRINTF_INFINITE.
29716         (is_infinitel): New function.
29717         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
29718         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
29719         gl_PREREQ_VASNPRINTF_INFINITE.
29720         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
29721         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
29722         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
29723         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
29724         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
29725         gl_PREREQ_VASNPRINTF_INFINITE.
29726         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
29727         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
29728         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
29729         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
29730         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
29731         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
29732         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
29733         * doc/functions/fprintf.texi: Update.
29734         * doc/functions/printf.texi: Update.
29735         * doc/functions/snprintf.texi: Update.
29736         * doc/functions/sprintf.texi: Update.
29737         * doc/functions/vfprintf.texi: Update.
29738         * doc/functions/vprintf.texi: Update.
29739         * doc/functions/vsnprintf.texi: Update.
29740         * doc/functions/vsprintf.texi: Update.
29741
29742 2007-05-20  Bruno Haible  <bruno@clisp.org>
29743
29744         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
29745         was not found in libc.
29746         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
29747
29748 2007-05-20  Bruno Haible  <bruno@clisp.org>
29749
29750         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
29751         printed as "-nan" instead of "nan".
29752         * tests/test-vasprintf-posix.c (test_function): Likewise.
29753         * tests/test-snprintf-posix.h (test_function): Likewise.
29754         * tests/test-sprintf-posix.h (test_function): Likewise.
29755         Needed for HP-UX 11.
29756
29757 2007-05-20  Jim Meyering  <jim@meyering.net>
29758
29759         Fix buggy test for the fchownat-deref bug.
29760         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
29761         symlink required for the run-test.  Without it, this test would
29762         always declare that fchownat doesn't work, and client code would
29763         unnecessarily use the replacement function with fixed libc.
29764         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
29765         Reported by Greg Schafer.
29766
29767 2007-05-19  Bruno Haible  <bruno@clisp.org>
29768
29769         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
29770         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
29771         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
29772         Needed for IRIX 6.5 and Solaris 2.5.1.
29773
29774 2007-05-19  Bruno Haible  <bruno@clisp.org>
29775
29776         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
29777         (test_function): Skip tests involving -0.0 on platforms where
29778         -0.0 = 0.0.
29779         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
29780         (test_function): Skip tests involving -0.0 on platforms where
29781         -0.0 = 0.0.
29782         * tests/test-snprintf-posix.h (have_minus_zero): New function.
29783         (test_function): Skip tests involving -0.0 on platforms where
29784         -0.0 = 0.0.
29785         * tests/test-sprintf-posix.h (have_minus_zero): New function.
29786         (test_function): Skip tests involving -0.0 on platforms where
29787         -0.0 = 0.0.
29788         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
29789         tests.
29790         * tests/test-printf-posix.h (test_function): Likewise.
29791         * tests/test-printf-posix.output: Remove all -0.0 related results.
29792         Needed for IRIX 6.5.
29793
29794 2007-05-19  Bruno Haible  <bruno@clisp.org>
29795
29796         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
29797         printed as "nan0x7fffffff" instead of "nan".
29798         * tests/test-vasprintf-posix.c (test_function): Likewise.
29799         * tests/test-snprintf-posix.h (test_function): Likewise.
29800         * tests/test-sprintf-posix.h (test_function): Likewise.
29801         * tests/test-fprintf-posix.h (NaN): Remove macro.
29802         (test_function): Remove all NaN related tests.
29803         * tests/test-printf-posix.h (NaN): Remove macro.
29804         (test_function): Remove all NaN related tests.
29805         * tests/test-printf-posix.output: Remove all NaN related results.
29806         Needed for IRIX 6.5.
29807
29808 2007-05-19  Bruno Haible  <bruno@clisp.org>
29809
29810         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
29811         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
29812
29813 2007-05-19  Bruno Haible  <bruno@clisp.org>
29814
29815         * lib/float_.h: New file.
29816         * m4/float_h.m4: New file.
29817         * modules/float: New file.
29818         * modules/isnanl (Dependencies): Add float.
29819         * modules/isnanl-nolibm (Dependencies): Likewise.
29820         * modules/mathl (Dependencies): Likewise.
29821         * modules/printf-frexpl (Dependencies): Likewise.
29822         * modules/signbit (Dependencies): Likewise.
29823         * modules/vasnprintf (Dependencies): Likewise.
29824         * doc/headers/float.texi: Update.
29825
29826 2007-05-19  Jim Meyering  <jim@meyering.net>
29827
29828         * lib/utimens.c (gl_futimens): Rename from futimens,
29829         now that glibc-2.6 declares futimens.
29830         * lib/utimens.h: Likewise.
29831
29832 2007-05-19  Bruno Haible  <bruno@clisp.org>
29833
29834         Avoid test failures on mingw.
29835         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
29836         * tests/test-printf-posix.sh: Likewise.
29837         * tests/test-vfprintf-posix.sh: Likewise.
29838         * tests/test-vprintf-posix.sh: Likewise.
29839
29840 2007-05-19  Bruno Haible  <bruno@clisp.org>
29841
29842         Fix *printf result for NaN, Inf, -0.0 on mingw.
29843         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
29844         * lib/vasnprintf.c: Include math.h and isnan.h.
29845         (is_infinite_or_zero): New function.
29846         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
29847         values in the %f, %F, %e, %E, %g, %G directives.
29848         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
29849         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
29850         gl_PRINTF_INFINITE and test its result. Invoke
29851         gl_PREREQ_VASNPRINTF_INFINITE.
29852         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
29853         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
29854         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
29855         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
29856         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
29857         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
29858         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
29859         * doc/functions/fprintf.texi: Update.
29860         * doc/functions/printf.texi: Update.
29861         * doc/functions/snprintf.texi: Update.
29862         * doc/functions/sprintf.texi: Update.
29863         * doc/functions/vfprintf.texi: Update.
29864         * doc/functions/vprintf.texi: Update.
29865         * doc/functions/vsnprintf.texi: Update.
29866         * doc/functions/vsprintf.texi: Update.
29867
29868 2007-05-19  Bruno Haible  <bruno@clisp.org>
29869
29870         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
29871         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
29872         Instead of multiplying with 10^k, set extra_zeroes to k.
29873         (scale10_round_long_double): Remove function.
29874
29875 2007-05-18  Bruno Haible  <bruno@clisp.org>
29876
29877         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
29878         introduced on 2007-05-06.
29879
29880 2007-05-18  Bruno Haible  <bruno@clisp.org>
29881
29882         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
29883         %g directives.
29884         * tests/test-vasprintf-posix.c (test_function): Likewise.
29885         * tests/test-snprintf-posix.h (test_function): Likewise.
29886         * tests/test-sprintf-posix.h (test_function): Likewise.
29887
29888 2007-05-18  Bruno Haible  <bruno@clisp.org>
29889
29890         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
29891         (strmatch): New function.
29892         (test_function): Test the %f directive on numbers of various exponents.
29893         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
29894         (strmatch): New function.
29895         (test_function): Test the %f directive on numbers of various exponents.
29896         * tests/test-snprintf-posix.h (strmatch): New function.
29897         (test_function): Test the %f directive on numbers of various exponents.
29898         * tests/test-sprintf-posix.h (strmatch): New function.
29899         (test_function): Test the %f directive on numbers of various exponents.
29900         * tests/test-snprintf-posix.c (SIZEOF): New macro.
29901         * tests/test-sprintf-posix.c (SIZEOF): New macro.
29902         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
29903         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
29904
29905 2007-05-18  Bruno Haible  <bruno@clisp.org>
29906
29907         Add support for 'long double' number output.
29908         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
29909         * lib/vasnprintf.c: Include math.h and float+.h.
29910         (mp_limb_t): New type.
29911         (GMP_LIMB_BITS): New macro.
29912         (mp_twolimb_t): New type.
29913         (GMP_TWOLIMB_BITS): New macro.
29914         (mpn_t): New type.
29915         (multiply, divide, convert_to_decimal, decode_long_double,
29916         scale10_round_long_double, scale10_round_decimal_long_double,
29917         floorlog10l): New functions.
29918         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
29919         for the %f, %F, %e, %E, %g, %G directives.
29920         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
29921         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
29922         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
29923         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
29924         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
29925         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
29926         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
29927         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
29928         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
29929         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
29930         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
29931         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
29932         * modules/snprintf-posix (Depends-on): Likewise.
29933         * modules/sprintf-posix (Depends-on): Likewise.
29934         * modules/vasnprintf-posix (Depends-on): Likewise.
29935         * modules/vasprintf-posix (Depends-on): Likewise.
29936         * modules/vfprintf-posix (Depends-on): Likewise.
29937         * modules/vsnprintf-posix (Depends-on): Likewise.
29938         * modules/vsprintf-posix (Depends-on): Likewise.
29939         * modules/vasnprintf (Files): Add lib/float+.h.
29940         * doc/functions/fprintf.texi: Update.
29941         * doc/functions/printf.texi: Update.
29942         * doc/functions/snprintf.texi: Update.
29943         * doc/functions/sprintf.texi: Update.
29944         * doc/functions/vfprintf.texi: Update.
29945         * doc/functions/vprintf.texi: Update.
29946         * doc/functions/vsnprintf.texi: Update.
29947         * doc/functions/vsprintf.texi: Update.
29948
29949 2007-05-18  Bruno Haible  <bruno@clisp.org>
29950
29951         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
29952
29953 2007-05-18  Bruno Haible  <bruno@clisp.org>
29954
29955         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
29956         for printing 64-bit integers. Needed for mingw.
29957
29958 2007-05-18  Bruno Haible  <bruno@clisp.org>
29959
29960         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
29961         gl_FUNC_FREXPL_WORKS.
29962         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
29963
29964 2007-05-18  Bruno Haible  <bruno@clisp.org>
29965
29966         * modules/frexpl-nolibm-tests: New file.
29967
29968         * modules/frexpl-nolibm: New file.
29969         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
29970
29971 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
29972
29973         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
29974         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
29975         GCC 4.2, which otherwise issues a lot of warnings.
29976         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
29977         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
29978         Likewise.
29979         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
29980         * modules/iconv_open (iconv.h): Likewise.
29981         * modules/locale (locale.h): Likewise.
29982         * modules/netinet_in (netinet/in.h): Likewise.
29983         * modules/sys_select (sys_select.h): Likewise.
29984         * modules/sys_socket (sys/socket.h): Likewise.
29985         * modules/sys_stat (sys/stat.h): Likewise.
29986         * modules/sysexits (sysexits.h): Likewise.
29987         * modules/unistd (unistd.h): Likewise.
29988
29989 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29990
29991         * modules/closein-tests (Makefile.am): Distribute
29992         `test-closein.sh'.
29993
29994 2007-05-17  Bruno Haible  <bruno@clisp.org>
29995
29996         * tests/test-printf-posix.output: Renamed from
29997         tests/test-fprintf-posix.out.
29998         * modules/fprintf-posix-tests: Update.
29999         * modules/printf-posix-tests: Update.
30000         * modules/vfprintf-posix-tests: Update.
30001         * modules/vprintf-posix-tests: Update.
30002         * tests/test-fprintf-posix.sh: Update.
30003         * tests/test-printf-posix.sh: Update.
30004         * tests/test-vfprintf-posix.sh: Update.
30005         * tests/test-vprintf-posix.sh: Update.
30006         Reported by Ralf Wildenhues.
30007
30008 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
30009
30010         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
30011         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
30012         GCC 4.2, which otherwise issues a lot of warnings.
30013         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
30014         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
30015         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
30016         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
30017         it should no longer be needed.
30018         * lib/string_.h: Likewise.
30019         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
30020         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
30021         * modules/inttypes (inttypes.h): Likewise.
30022         * modules/math (math.h): Likewise.
30023         * modules/search (search.h): Likewise.
30024         * modules/signal (signal.h): Likewise.
30025         * modules/stdint (stdint.h): Likewise.
30026         * modules/stdio (stdio.h): Likewise.
30027         * modules/stdlib (stdlib.h): Likewise.
30028         * modules/string (string.h): Likewise.
30029         * modules/sys_time (sys/time.h): Likewise.
30030         * modules/time (time.h): Likewise.
30031         * modules/wchar (wchar.h): Likewise.
30032         * modules/wctype (wtype.h): Likewise.
30033
30034 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
30035
30036         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
30037
30038 2007-05-13  Bruno Haible  <bruno@clisp.org>
30039
30040         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
30041         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
30042         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
30043         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
30044         (gl_PREREQ_STRTOK_R): Don't require it here.
30045
30046 2007-05-13  Bruno Haible  <bruno@clisp.org>
30047
30048         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
30049         when used in C++ mode.
30050
30051 2007-05-12  Bruno Haible  <bruno@clisp.org>
30052
30053         * lib/linebuffer.h: Tweak doc.
30054         * lib/linebuffer.c: Likewise.
30055
30056 2007-05-12  James Youngman  <jay@gnu.org>
30057
30058         * lib/linebuffer.c (readlinebuffer_delim): New function,
30059         like readlinebuffer, but use a caller-specified delimiter.
30060         (readlinebuffer): Just call readlinebuffer_delim with '\n'
30061         as the delimiter.
30062         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
30063
30064 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
30065
30066         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
30067         * modules/openat (Files): Remove openat-die.c.
30068         (Depends-on): Add openat-die.
30069         * modules/openat-die: New module.
30070
30071 2007-05-06  Bruno Haible  <bruno@clisp.org>
30072
30073         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
30074         Update with info about Cygwin.
30075         * doc/functions/fprintf.texi: Update.
30076         * doc/functions/printf.texi: Update.
30077         * doc/functions/snprintf.texi: Update.
30078         * doc/functions/sprintf.texi: Update.
30079         * doc/functions/vfprintf.texi: Update.
30080         * doc/functions/vprintf.texi: Update.
30081         * doc/functions/vsnprintf.texi: Update.
30082         * doc/functions/vsprintf.texi: Update.
30083         Reported by Eric Blake.
30084
30085 2007-05-06  Bruno Haible  <bruno@clisp.org>
30086
30087         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
30088         padding ourselves for the floating-point directives.
30089         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
30090         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
30091         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
30092         gl_PRINTF_FLAG_ZERO and test its result. Invoke
30093         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
30094         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
30095         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
30096         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
30097         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
30098         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
30099         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
30100         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
30101         * tests/test-snprintf-posix.h (test_function): Also check the width
30102         and some flags in the %f directive.
30103         * tests/test-sprintf-posix.h (test_function): Likewise.
30104         * tests/test-vasnprintf-posix.c (test_function): Likewise.
30105         * tests/test-vasprintf-posix.c (test_function): Likewise.
30106         * doc/functions/fprintf.texi: Update.
30107         * doc/functions/printf.texi: Update.
30108         * doc/functions/snprintf.texi: Update.
30109         * doc/functions/sprintf.texi: Update.
30110         * doc/functions/vfprintf.texi: Update.
30111         * doc/functions/vprintf.texi: Update.
30112         * doc/functions/vsnprintf.texi: Update.
30113         * doc/functions/vsprintf.texi: Update.
30114
30115 2007-05-06  Bruno Haible  <bruno@clisp.org>
30116
30117         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
30118         pass the ' flag character to sprintf or snprintf.
30119         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
30120         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
30121         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
30122         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
30123         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
30124         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
30125         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
30126         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
30127         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
30128         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
30129         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
30130         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
30131         * tests/test-snprintf-posix.h (test_function): Also check the grouping
30132         flag.
30133         * tests/test-sprintf-posix.h (test_function): Likewise.
30134         * tests/test-vasnprintf-posix.c (test_function): Likewise.
30135         * tests/test-vasprintf-posix.c (test_function): Likewise.
30136         * doc/functions/fprintf.texi: Update.
30137         * doc/functions/printf.texi: Update.
30138         * doc/functions/snprintf.texi: Update.
30139         * doc/functions/sprintf.texi: Update.
30140         * doc/functions/vfprintf.texi: Update.
30141         * doc/functions/vprintf.texi: Update.
30142         * doc/functions/vsnprintf.texi: Update.
30143         * doc/functions/vsprintf.texi: Update.
30144
30145 2007-05-01  Bruno Haible  <bruno@clisp.org>
30146
30147         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
30148
30149 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
30150
30151         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
30152         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
30153
30154 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
30155
30156         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
30157         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
30158         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
30159
30160 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
30161
30162         * lib/argp-help.c (struct hol_entry): New member `ord'.
30163         (HOL_ENTRY_PTRCMP): Use ord for comparison
30164         (hol_sort): Initialize ord.
30165
30166 2007-05-01  Bruno Haible  <bruno@clisp.org>
30167
30168         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
30169         Reported by Eric Blake.
30170         * doc/gnulib.texi (Function Substitutes): Update.
30171
30172 2007-05-01  Bruno Haible  <bruno@clisp.org>
30173
30174         * doc/functions.texi: Remove file, now redundant through
30175         doc/functions/*.texi.
30176
30177 2007-05-01  Bruno Haible  <bruno@clisp.org>
30178
30179         * modules/argp (Depends-on): Add sleep.
30180
30181 2007-05-01  Bruno Haible  <bruno@clisp.org>
30182
30183         * modules/sleep-tests: New file.
30184         * tests/test-sleep.c: New file.
30185
30186         * modules/sleep: New file.
30187         * lib/sleep.c: New file.
30188         * m4/sleep.m4: New file.
30189         * lib/unistd_.h (sleep): New declaration.
30190         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
30191         HAVE_SLEEP.
30192         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
30193         * doc/functions/sleep.texi: Document the sleep module.
30194
30195 2007-05-01  Bruno Haible  <bruno@clisp.org>
30196
30197         * lib/sigprocmask.h: Remove file.
30198         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
30199         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
30200         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
30201         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
30202         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
30203         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
30204         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
30205         HAVE_SIGSET_T as a shell variable.
30206         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
30207         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
30208         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
30209         (Depends-on): Add signal. Remove verify.
30210         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
30211         (Include): Mention <signal.h> instead of sigprocmask.h.
30212         * NEWS: Mention the change.
30213         * lib/fatal-signal.c: Don't include sigprocmask.h.
30214
30215 2007-05-01  Bruno Haible  <bruno@clisp.org>
30216
30217         * modules/signal: New file.
30218         * lib/signal_.h: New file.
30219         * m4/signal_h.m4: New file.
30220
30221 2007-05-01  Bruno Haible  <bruno@clisp.org>
30222
30223         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
30224         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
30225         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
30226         HAVE_WCTYPE_CTMP_BUG into wctype.h.
30227
30228 2007-05-01  Bruno Haible  <bruno@clisp.org>
30229
30230         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
30231         configure time.
30232         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
30233         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
30234         * modules/sys_stat (Makefile.am): Substitute their values into
30235         sys/stat.h.
30236
30237 2007-05-01  Bruno Haible  <bruno@clisp.org>
30238
30239         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
30240         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
30241         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
30242
30243 2007-05-01  Bruno Haible  <bruno@clisp.org>
30244
30245         * doc/header/assert.texi: Undo last change: don't mention the gnulib
30246         'assert' module here.
30247
30248 2007-05-01  Bruno Haible  <bruno@clisp.org>
30249
30250         * doc/functions/*.texi: New files.
30251         * doc/functions/google-ranking.txt: New file.
30252         * doc/gnulib.texi (Function Substitutes): New chapter.
30253         (ctime, inet_ntoa): Remove sections.
30254         * doc/ctime.texi: Remove file.
30255         * doc/inet_ntoa.texi: Remove file.
30256         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
30257         dependencies.
30258         (%.info): New rule, specifying a --reference-limit.
30259
30260 2007-05-01  Bruno Haible  <bruno@clisp.org>
30261
30262         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
30263
30264 2007-05-01  Bruno Haible  <bruno@clisp.org>
30265
30266         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
30267         the portability of 'mkdir' to mingw systems.
30268
30269 2007-05-01  Bruno Haible  <bruno@clisp.org>
30270
30271         * doc/headers/google-ranking.txt: New file.
30272
30273 2007-04-30  Eric Blake  <ebb9@byu.net>
30274
30275         Prefer fseeko to fseek.
30276         * modules/getpass (Depends-on): Add fseeko.
30277         * lib/getpass.c (getpass): Use fseeko, not fseek.
30278
30279 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
30280
30281         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
30282         assumes the sorting is stable, while most qsort implementations
30283         are not.  Use argument addresses to ensure they never compare as
30284         equal.
30285
30286         * tests/test-argp-2.sh (usage-indent test): Fix output
30287         (func_compare): Restore diff options
30288         * tests/test-argp.c: Restore #include "progname.h"
30289
30290 2007-04-29  Bruno Haible  <bruno@clisp.org>
30291
30292         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
30293         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
30294         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
30295         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
30296         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
30297         (configure.ac): Define CHECK_SNPRINTF_POSIX.
30298         (TESTS, check_PROGRAMS): Add test-snprintf.
30299         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
30300         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
30301         (TESTS, check_PROGRAMS): Add test-vsnprintf.
30302         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
30303         assertions that fail on HP-UX, OSF/1, or IRIX.
30304         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
30305
30306 2007-04-29  Bruno Haible  <bruno@clisp.org>
30307
30308         * MODULES.html.sh (posix_functions): Remove 'contents'.
30309
30310 2007-04-29  Karl Berry  <karl@gnu.org>
30311
30312         * config/srclist.txt (gendocs_template_min): new entry.
30313
30314 2007-04-29  Bruno Haible  <bruno@clisp.org>
30315
30316         Work around fpurge bug on BSD systems.
30317         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
30318         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
30319         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
30320         fpurge to rpl_fpurge if the system already has this function.
30321         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
30322         the case where the system already has this function. Correct invariants
30323         on BSD systems.
30324         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
30325         BSD systems.
30326
30327 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
30328
30329         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
30330         proposed by Sven Verdoolaege.
30331
30332         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
30333         options.
30334         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
30335         (usage and help tests): Update
30336
30337 2007-04-29  Bruno Haible  <bruno@clisp.org>
30338
30339         * tests/test-fflush.c (main): Use a file of size 17, not 10.
30340         Print more information in case of failure. Disable a test on BeOS.
30341
30342 2007-04-29  Bruno Haible  <bruno@clisp.org>
30343
30344         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
30345         This helps debugging on systems on which no gdb is available.
30346
30347 2007-04-29  Bruno Haible  <bruno@clisp.org>
30348
30349         * lib/freading.h: Improve comments.
30350         * lib/fwriting.h: Likewise.
30351         * tests/test-freading.c (main): Don't check freading immediately after
30352         repositioning. Needed for glibc.
30353
30354 2007-04-29  Bruno Haible  <bruno@clisp.org>
30355
30356         * lib/freading.c (freading): Trivial simplification.
30357
30358 2007-04-28  Bruno Haible  <bruno@clisp.org>
30359
30360         * tests/test-fwriting.c (main): Also test the interaction between
30361         fflush and fwriting.
30362         * modules/fwriting-tests (Depends-on): Add fflush.
30363
30364         * tests/test-freading.c (main): Also test the interaction between
30365         fflush and freading.
30366         * modules/freading-tests (Depends-on): Add fflush.
30367
30368 2007-04-28  Bruno Haible  <bruno@clisp.org>
30369
30370         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
30371         fseeko and ftello.
30372         Suggested by Eric Blake.
30373
30374 2007-04-28  Jim Meyering  <jim@meyering.net>
30375
30376         Avoid false-negative in gl_STDINT_H's C99 conformance test.
30377         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
30378         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
30379
30380 2007-04-27  Eric Blake  <ebb9@byu.net>
30381
30382         * doc/headers/assert.texi (assert.h): Document assert module use.
30383
30384 2007-04-27  Bruno Haible  <bruno@clisp.org>
30385
30386         * doc/headers/*.texi: New files.
30387         * doc/gnulib.texi (Header File Substitutes): New chapter.
30388         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
30389         dependencies.
30390         (standards.info ,standards.html, standards.dvi): Update dependencies.
30391         (mostlyclean, clean): New targets.
30392
30393 2007-04-27  Bruno Haible  <bruno@clisp.org>
30394
30395         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
30396         * modules/sysexits (Files, Makefile.am): Update.
30397
30398         * lib/sys_socket_.h: Renamed from lib/socket_.h.
30399         * modules/sys_socket (Files, Makefile.am): Update.
30400
30401         * lib/sys_stat_.h: Renamed from lib/stat_.h.
30402         * modules/sys_stat (Files, Makefile.am): Update.
30403
30404 2007-04-27  Eric Blake  <ebb9@byu.net>
30405
30406         * lib/freading.h: Improve comments.
30407         * lib/fwriting.h: Likewise.
30408         * lib/fflush.c: Likewise.
30409
30410         Fix closein for mingw.
30411         * modules/closein-tests: Add tests for closein.
30412         * tests/test-closein.c: New file.
30413         * tests/test-closein.sh: Likewise.
30414         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
30415         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
30416
30417 2007-04-27  Bruno Haible  <bruno@clisp.org>
30418
30419         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
30420         version is < 6.
30421         * lib/math_.h [__DECC]: Likewise.
30422         * lib/stdio_.h [__DECC]: Likewise.
30423         * lib/stdlib_.h [__DECC]: Likewise.
30424         * lib/string_.h [__DECC]: Likewise.
30425         * lib/time_.h [__DECC]: Likewise.
30426         * lib/wchar_.h [__DECC]: Likewise.
30427         * lib/wctype_.h [__DECC]: Likewise.
30428
30429 2007-04-27  Bruno Haible  <bruno@clisp.org>
30430
30431         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
30432
30433 2007-04-27  Bruno Haible  <bruno@clisp.org>
30434
30435         * lib/fflush.c: Add comments.
30436         * modules/fpurge-tests (Depends-on): Add fflush.
30437         * modules/freadable-tests (Depends-on): Likewise.
30438         * modules/fwritable-tests (Depends-on): Likewise.
30439
30440 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
30441
30442         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
30443         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
30444         Report by Bruno Haible <bruno@clisp.org>.
30445
30446 2007-04-26  Eric Blake  <ebb9@byu.net>
30447
30448         Fix fflush on mingw.
30449         * modules/fflush (Depends-on): Add freading.
30450         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
30451         but unread data.
30452
30453 2007-04-26  Eric Blake  <ebb9@byu.net>
30454         and Bruno Haible  <bruno@clisp.org>
30455
30456         Implement freading and fwriting.
30457         * lib/freading.c: New file.
30458         * lib/freading.h: Likewise.
30459         * m4/freading.m4: Likewise.
30460         * modules/freading: Likewise.
30461         * modules/freading-tests: Likewise.
30462         * tests/test-freading.c: Likewise.
30463         * lib/fwriting.c: New file.
30464         * lib/fwriting.h: Likewise.
30465         * m4/fwriting.m4: Likewise.
30466         * modules/fwriting: Likewise.
30467         * modules/fwriting-tests: Likewise.
30468         * tests/test-fwriting.c: Likewise.
30469         * MODULES.html.sh (File stream based Input/Output): Mention them.
30470
30471 2007-04-26  Bruno Haible  <bruno@clisp.org>
30472
30473         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
30474         'long' when we assume it.
30475         Suggested by Eric Blake.
30476
30477 2007-04-26  Bruno Haible  <bruno@clisp.org>
30478
30479         Ensure fseeko, ftello are declared on glibc systems.
30480         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
30481         * modules/fseeko (configure.ac-early): Likewise.
30482         * modules/ftello (configure.ac-early): Likewise.
30483         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
30484         AC_FUNC_FSEEKO for this.
30485         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
30486         (gl_CHECK_FSEEKO): Remove macro.
30487
30488 2007-04-26  Bruno Haible  <bruno@clisp.org>
30489
30490         * tests/test-fflush.c (main): Also check the ftell result after
30491         fflush and fseek/fseeko.
30492         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
30493         file descriptor position cache in the stream.
30494         * lib/fseeko.c (rpl_fseeko): Likewise.
30495
30496 2007-04-26  Bruno Haible  <bruno@clisp.org>
30497
30498         * modules/fflush-tests (Depends-on): Add fseeko.
30499
30500 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
30501             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30502
30503         * lib/argz_.h: ensure error_t definition is obtained in same
30504         mechanism system argz.h would have.
30505         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
30506         argz facilities are known bad.  Err on the side of caution if
30507         cross-compiling.
30508
30509 2007-04-25  Eric Blake  <ebb9@byu.net>
30510
30511         * lib/fpurge.c (includes): Use stdlib.h for free.
30512         * tests/test-fflush.c (main): Also test fflush-fseeko.
30513
30514 2007-04-25  Bruno Haible  <bruno@clisp.org>
30515
30516         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
30517         * lib/fseeko.c: New file.
30518         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
30519         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
30520         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
30521         gl_FUNC_FSEEKO.
30522         (gl_FUNC_FSEEKO): Invoke it.
30523         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
30524         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
30525         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
30526
30527 2007-04-25  Bruno Haible  <bruno@clisp.org>
30528
30529         * modules/fflush (Depends-on): Add ftello.
30530
30531 2007-04-25  Bruno Haible  <bruno@clisp.org>
30532
30533         * modules/ftello-tests: New file.
30534         * tests/test-ftello.c: New file.
30535
30536         * modules/ftello: New file.
30537         * m4/ftello.m4: New file.
30538         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
30539         HAVE_FTELLO.
30540         * lib/stdio_.h (ftello): New declaration.
30541         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
30542         HAVE_FTELLO.
30543
30544 2007-04-25  Bruno Haible  <bruno@clisp.org>
30545
30546         * modules/fseeko-tests: New file.
30547         * tests/test-fseeko.c: New file.
30548
30549         * modules/fseeko: New file.
30550         * m4/fseeko.m4: New file.
30551         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
30552         HAVE_FSEEKO.
30553         * lib/stdio_.h (fseeko): New declaration.
30554         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
30555         HAVE_FSEEKO.
30556
30557 2007-04-25  Bruno Haible  <bruno@clisp.org>
30558
30559         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
30560
30561 2007-04-25  Bruno Haible  <bruno@clisp.org>
30562
30563         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
30564         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
30565         * tests/test-unistd.c: Likewise.
30566         * tests/test-fcntl.c: Likewise.
30567
30568 2007-04-23  Eric Blake  <ebb9@byu.net>
30569
30570         * lib/fflush.c: Fix missing include.
30571         Reported by Bruno Haible.
30572
30573 2007-04-23  Bruno Haible  <bruno@clisp.org>
30574
30575         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
30576         Reported by Eric Blake.
30577
30578 2007-04-23  Bruno Haible  <bruno@clisp.org>
30579
30580         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
30581
30582 2007-04-23  Bruno Haible  <bruno@clisp.org>
30583
30584         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
30585
30586 2007-04-23  Bruno Haible  <bruno@clisp.org>
30587
30588         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
30589         Needed on HP-UX 11.
30590
30591 2007-04-16  Eric Blake  <ebb9@byu.net>
30592
30593         Make fflush rely on fpurge.
30594         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
30595         open coding all variants.
30596         * modules/fflush (Depends-on): Add fpurge and unistd.
30597         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
30598         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
30599
30600         Fix --with-tests compilation on cygwin.
30601         * modules/argmatch-tests (Makefile.am): List gnulib library first
30602         in LDADD.
30603         * modules/argp-tests (Makefile.am): Likewise.
30604         * modules/array-list-tests (Makefile.am): Likewise.
30605         * modules/array-oset-tests (Makefile.am): Likewise.
30606         * modules/avltree-list-tests (Makefile.am): Likewise.
30607         * modules/avltree-oset-tests (Makefile.am): Likewise.
30608         * modules/avltreehash-list-tests (Makefile.am): Likewise.
30609         * modules/carray-list-tests (Makefile.am): Likewise.
30610         * modules/dirname-tests (Makefile.am): Likewise.
30611         * modules/frexp-tests (Makefile.am): Likewise.
30612         * modules/isnanl-tests (Makefile.am): Likewise.
30613         * modules/linked-list-tests (Makefile.am): Likewise.
30614         * modules/linkedhash-list-tests (Makefile.am): Likewise.
30615         * modules/lock-tests (Makefile.am): Likewise.
30616         * modules/rbtree-list-tests (Makefile.am): Likewise.
30617         * modules/rbtree-oset-tests (Makefile.am): Likewise.
30618         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
30619         * modules/tls-tests (Makefile.am): Likewise.
30620         * modules/tsearch-tests (Makefile.am): Likewise.
30621         * modules/xvasprintf-tests (Makefile.am): Likewise.
30622
30623         Fix fpurge for cygwin.
30624         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
30625         value.
30626         * modules/fpurge-tests (Depends-on): Clean up trash.
30627
30628 2007-04-16  Simon Josefsson  <simon@josefsson.org>
30629
30630         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
30631
30632         * m4/autobuild.m4: Re-indent.
30633
30634 2007-04-13  Bruno Haible  <bruno@clisp.org>
30635
30636         * modules/fpurge-tests: New file.
30637         * tests/test-fpurge.c: New file.
30638
30639         * modules/fpurge: New file.
30640         * lib/fpurge.h: New file.
30641         * lib/fpurge.c: New file.
30642         * m4/fpurge.m4: New file.
30643
30644 2007-04-13  Bruno Haible  <bruno@clisp.org>
30645
30646         * modules/fbufmode-tests: New file.
30647         * tests/test-fbufmode.c: New file.
30648
30649         * modules/fbufmode: New file.
30650         * lib/fbufmode.h: New file.
30651         * lib/fbufmode.c: New file.
30652         * m4/fbufmode.m4: New file.
30653
30654 2007-04-13  Bruno Haible  <bruno@clisp.org>
30655
30656         * modules/fwritable-tests: New file.
30657         * tests/test-fwritable.c: New file.
30658
30659         * modules/fwritable: New file.
30660         * lib/fwritable.h: New file.
30661         * lib/fwritable.c: New file.
30662         * m4/fwritable.m4: New file.
30663
30664 2007-04-13  Bruno Haible  <bruno@clisp.org>
30665
30666         * modules/freadable-tests: New file.
30667         * tests/test-freadable.c: New file.
30668
30669         * modules/freadable: New file.
30670         * lib/freadable.h: New file.
30671         * lib/freadable.c: New file.
30672         * m4/freadable.m4: New file.
30673
30674 2007-04-13  Bruno Haible  <bruno@clisp.org>
30675
30676         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
30677         MOSTLYCLEANFILES.
30678
30679 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
30680
30681         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
30682         gzip bootstrap.conf to avoid dragging in i18n machinery.
30683         (gnulib_tool_option): Use it.
30684
30685 2007-04-13  Bruno Haible  <bruno@clisp.org>
30686
30687         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
30688         %F directives.
30689         * tests/test-vasprintf-posix.c (test_function): Likewise.
30690         * tests/test-snprintf-posix.h (test_function): Likewise.
30691         * tests/test-sprintf-posix.h (test_function): Likewise.
30692         * tests/test-fprintf-posix.h (test_function): Likewise.
30693         * tests/test-printf-posix.h (test_function): Likewise.
30694         * tests/test-fprintf-posix.out: Likewise.
30695
30696 2007-04-13  Bruno Haible  <bruno@clisp.org>
30697
30698         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
30699         * modules/tls-tests (configure.ac): Likewise.
30700         Reported by Arto C. Nirkko <anirkko@insel.ch>.
30701
30702 2007-04-13  Bruno Haible  <bruno@clisp.org>
30703
30704         * lib/tls.c (glthread_tls_get): Fix return type.
30705         Patch by Arto C. Nirkko <anirkko@insel.ch>.
30706
30707 2007-04-12  Eric Blake  <ebb9@byu.net>
30708
30709         * modules/gettime (Depends-on): Remove gettime.
30710         Reported by Dmitry V. Levin.
30711
30712 2007-04-12  Bruno Haible  <bruno@clisp.org>
30713
30714         * modules/fflush (Include): Mention <stdio.h>.
30715         * modules/strtoimax (Include): Mention <inttypes.h>.
30716         * modules/strtoumax (Include): Likewise.
30717
30718 2007-04-12  Eric Blake  <ebb9@byu.net>
30719
30720         * .cvsignore: New file.
30721         * .gitignore: Likewise.
30722
30723 2007-04-12  Bruno Haible  <bruno@clisp.org>
30724
30725         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
30726         not before, since $(LDADD) often contains libgnu.a.
30727         * modules/striconv-tests (test_striconv_LDADD): Likewise.
30728         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
30729         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
30730         Needed on Cygwin.
30731
30732 2007-04-12  Eric Blake  <ebb9@byu.net>
30733
30734         Work around glibc's failure to flush stdin on fclose.
30735         * lib/closein.c (close_stdin): Flush stdin before closing.
30736
30737         Work around glibc's failure to reset seekable stdin on exit.
30738         * modules/closein: New module.
30739         * lib/closein.c: New file.
30740         * lib/closein.h: Likewise.
30741         * m4/closein.m4: Likewise.
30742         * MODULES.html.sh (File stream based Input/Output): Document it.
30743
30744 2007-04-12  Simon Josefsson  <simon@josefsson.org>
30745
30746         * gnulib-tool: Rename generated 'autobuild' script to
30747         'do-autobuild' in --create-megatestdir output.
30748
30749         * doc/gnulib.texi (Build robot for gnulib): Fix.
30750
30751 2007-04-12  Simon Josefsson  <simon@josefsson.org>
30752
30753         * modules/sysexits (Depends-on): Add absolute-header.
30754
30755 2007-04-12  Eric Blake  <ebb9@byu.net>
30756
30757         No need to preserve errno on success.
30758         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
30759         Reported by Bruno Haible.
30760
30761 2007-04-12  Simon Josefsson  <simon@josefsson.org>
30762
30763         * MODULES.html.sh (Support for maintaining and releasing
30764         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
30765
30766 2007-04-12  Simon Josefsson  <simon@josefsson.org>
30767
30768         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
30769
30770 2007-04-12  Simon Josefsson  <simon@josefsson.org>
30771
30772         * modules/autobuild: New module.
30773
30774         * m4/autobuild.m4: New file.
30775
30776 2007-04-11  Bruno Haible  <bruno@clisp.org>
30777
30778         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
30779         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
30780         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
30781         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
30782         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
30783         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
30784         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
30785         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
30786         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
30787         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
30788         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
30789         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
30790         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
30791         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
30792         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
30793         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
30794         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
30795         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
30796         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
30797         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
30798         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
30799         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
30800         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
30801         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
30802         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
30803         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
30804         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
30805         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
30806         Reported by Eric Blake.
30807
30808 2007-04-11  Bruno Haible  <bruno@clisp.org>
30809
30810         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
30811
30812 2007-04-10  Bruno Haible  <bruno@clisp.org>
30813
30814         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
30815         for NaN and Infinity. Needed on FreeBSD 6.1.
30816         * tests/test-vasnprintf-posix.c (test_function): Undo last change
30817         regarding results for "%010a" of Infinity and NaN.
30818         * tests/test-vasprintf-posix.c (test_function): Likewise.
30819         * tests/test-snprintf-posix.h (test_function): Likewise.
30820         * tests/test-sprintf-posix.h (test_function): Likewise.
30821         * tests/test-fprintf-posix.h (test_function): Likewise.
30822         * tests/test-printf-posix.h (test_function): Likewise.
30823         * tests/test-fprintf-posix.out: Likewise.
30824
30825 2007-04-10  Bruno Haible  <bruno@clisp.org>
30826
30827         * modules/locale-tests: New file.
30828         * tests/test-locale.c: New file.
30829
30830         * modules/locale: New file.
30831         * lib/locale_.h: New file.
30832         * m4/locale_h.m4: New file.
30833
30834 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
30835             Bruno Haible  <bruno@clisp.org>
30836
30837         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
30838         be determined, test for availability of the copysignf, copysign,
30839         copysignl functions.
30840         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
30841         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
30842         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
30843
30844 2007-04-09  Eric Blake  <ebb9@byu.net>
30845
30846         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
30847         * modules/stdio (Makefile.am): Support fflush.
30848         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
30849         * modules/fflush: New file.
30850         * lib/fflush.c: Likewise.
30851         * m4/fflush.m4: Likewise.
30852         * modules/fflush-tests: New test.
30853         * tests/test-fflush.c: Likewise.
30854         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
30855
30856 2007-04-06  Bruno Haible  <bruno@clisp.org>
30857
30858         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
30859         (VASNPRINTF): Use signbit for faster determination whether to print a
30860         minus sign.
30861         * modules/vasnprintf (Files): Remove lib/float+.h.
30862         * modules/fprintf-posix (Depends-on): Add signbit.
30863         * modules/snprintf-posix (Depends-on): Likewise.
30864         * modules/sprintf-posix (Depends-on): Likewise.
30865         * modules/vasnprintf-posix (Depends-on): Likewise.
30866         * modules/vasprintf-posix (Depends-on): Likewise.
30867         * modules/vfprintf-posix (Depends-on): Likewise.
30868         * modules/vsnprintf-posix (Depends-on): Likewise.
30869         * modules/vsprintf-posix (Depends-on): Likewise.
30870
30871 2007-04-06  Bruno Haible  <bruno@clisp.org>
30872
30873         * tests/test-frexp.c (main): Test also the sign bit of zero results.
30874         * tests/test-frexpl.c (main): Likewise.
30875         * tests/test-ldexpl.c (main): Likewise.
30876         * modules/frexp-tests (Depends-on): Add signbit.
30877         * modules/frexpl-tests (Depdends-on): Likewise.
30878         * modules/ldexpl-tests (Depdends-on): Likewise.
30879
30880 2007-04-06  Bruno Haible  <bruno@clisp.org>
30881
30882         * modules/signbit-tests: New file.
30883         * tests/test-signbit.c: New file.
30884
30885         * modules/signbit: New file.
30886         * lib/signbitf.c: New file.
30887         * lib/signbitd.c: New file.
30888         * lib/signbitl.c: New file.
30889         * m4/signbit.m4: New file.
30890         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
30891         (signbit): New macro.
30892         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
30893         REPLACE_SIGNBIT.
30894         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
30895         REPLACE_FREXPL into math.h.
30896
30897 2007-04-06  Bruno Haible  <bruno@clisp.org>
30898
30899         * modules/isnanf-nolibm-tests: New file.
30900         * tests/test-isnanf.c: New file.
30901
30902         * modules/isnanf-nolibm: New file.
30903         * lib/isnanf.h: New file.
30904         * lib/isnanf.c: New file.
30905         * lib/isnan.c: Consider the USE_FLOAT macro.
30906         * m4/isnanf.m4: New file.
30907
30908 2007-04-06  Bruno Haible  <bruno@clisp.org>
30909
30910         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
30911         (Link): New section.
30912
30913         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
30914
30915 2007-04-06  Bruno Haible  <bruno@clisp.org>
30916
30917         Assume the 'long double' type.
30918         * m4/longdouble.m4: Remove file.
30919         * config/srclist.txt: Don't mention longdouble.m4.
30920         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
30921         * lib/float+.h: Likewise.
30922         * lib/frexp.c: Likewise.
30923         * lib/printf-args.h: Likewise.
30924         * lib/printf-args.c: Likewise.
30925         * lib/printf-frexp.c: Likewise.
30926         * lib/printf-parse.c: Likewise.
30927         * lib/vasnprintf.c: Likewise.
30928         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
30929         * m4/intl.m4: Likewise.
30930         * m4/isnanl.m4: Likewise.
30931         * m4/printf.m4: Likewise.
30932         * m4/printf-frexpl.m4: Likewise.
30933         * m4/vasnprintf.m4: Likewise.
30934         * modules/allocsa (Files): Remove m4/longdouble.m4.
30935         * modules/gettext (Files): Likewise.
30936         * modules/relocatable-prog-wrapper (Files): Likewise.
30937         * modules/vasnprintf (Files): Likewise.
30938         * modules/isnanl (Files): Likewise.
30939         (Include): Simplify.
30940         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
30941         (Include): Simplify.
30942         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
30943         (Include): Simplify.
30944         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
30945         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
30946         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
30947         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
30948         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
30949         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
30950         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
30951         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
30952         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
30953         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
30954         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
30955         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
30956         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
30957         * tests/test-isnanl.c: Likewise.
30958         * tests/test-snprintf-posix.h: Likewise.
30959         * tests/test-sprintf-posix.h: Likewise.
30960         * tests/test-vasnprintf-posix.c: Likewise.
30961         * tests/test-vasnprintf-posix2.c: Likewise.
30962         * tests/test-vasprintf-posix.c: Likewise.
30963
30964 2007-04-06  Bruno Haible  <bruno@clisp.org>
30965
30966         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
30967         * lib/math_.h [__DECC]: Include the overridden include file through
30968         #include_next, outside the double-inclusion guard.
30969         * lib/stdio_.h [__DECC]: Likewise.
30970         * lib/stdlib_.h [__DECC]: Likewise.
30971         * lib/string_.h [__DECC]: Likewise.
30972         * lib/time_.h [__DECC]: Likewise.
30973         * lib/wchar_.h [__DECC]: Likewise.
30974         * lib/wctype_.h [__DECC]: Likewise.
30975         * lib/inttypes_.h [__DECC]: Likewise.
30976         Reported by Albert Chin <china@thewrittenword.com> in
30977         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
30978
30979 2007-04-04  Eric Blake  <ebb9@byu.net>
30980
30981         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
30982         1.5.x.
30983
30984 2007-04-04  Bruno Haible  <bruno@clisp.org>
30985
30986         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
30987         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
30988
30989 2007-04-04  Bruno Haible  <bruno@clisp.org>
30990
30991         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
30992         results for "%010a" of Infinity and NaN.
30993         * tests/test-vasprintf-posix.c (test_function): Likewise.
30994         * tests/test-snprintf-posix.h (test_function): Likewise.
30995         * tests/test-sprintf-posix.h (test_function): Likewise.
30996         * tests/test-fprintf-posix.h (test_function): Remove these tests.
30997         * tests/test-printf-posix.h (test_function): Likewise.
30998         * tests/test-fprintf-posix.out: Update.
30999         Needed for FreeBSD 6.1.
31000
31001 2007-04-04  Bruno Haible  <bruno@clisp.org>
31002
31003         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
31004         directly used by the gnulib modules nor by gnulib-tool.
31005
31006 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
31007
31008         * DEPENDENCIES: Give overall description of version dependency
31009         desirability.  Use more-typical names for apps.
31010         Add shell, coreutils, diffutils, grep, tar, gzip.
31011
31012 2007-04-04  Simon Josefsson  <simon@josefsson.org>
31013
31014         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
31015
31016 2007-04-04  Karl Berry  <karl@gnu.org>
31017
31018         * MODULES.html.sh (func_module): missing '.
31019
31020 2007-04-03  Bruno Haible  <bruno@clisp.org>
31021
31022         * modules/argmatch-tests (Makefile.am): New variable
31023         test_argmatch_LDADD.
31024         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
31025         * modules/array-list-tests (Makefile.am): New variable
31026         test_array_list_LDADD.
31027         * modules/array-oset-tests (Makefile.am): New variable
31028         test_array_oset_LDADD.
31029         * modules/avltree-list-tests (Makefile.am): New variable
31030         test_avltree_list_LDADD.
31031         * modules/avltree-oset-tests (Makefile.am): New variable
31032         test_avltree_oset_LDADD.
31033         * modules/avltreehash-list-tests (Makefile.am): New variable
31034         test_avltreehash_list_LDADD.
31035         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
31036         test_canonicalize_lgpl_LDADD.
31037         * modules/carray-list-tests (Makefile.am): New variable
31038         test_carray_list_LDADD.
31039         * modules/dirname-tests (Makefile.am): New variable
31040         test_dirname_LDADD.
31041         * modules/linked-list-tests (Makefile.am): New variable
31042         test_linked_list_LDADD.
31043         * modules/linkedhash-list-tests (Makefile.am): New variable
31044         test_linkedhash_list_LDADD.
31045         * modules/rbtree-list-tests (Makefile.am): New variable
31046         test_rbtree_list_LDADD.
31047         * modules/rbtree-oset-tests (Makefile.am): New variable
31048         test_rbtree_oset_LDADD.
31049         * modules/rbtreehash-list-tests (Makefile.am): New variable
31050         test_rbtreehash_list_LDADD.
31051         * modules/xvasprintf-tests (Makefile.am): New variable
31052         test_xvasprintf_LDADD.
31053         Reported by Eric Blake.
31054
31055 2007-04-03  Eric Blake  <ebb9@byu.net>
31056
31057         * DEPENDENCIES: Weaken m4 requirements.
31058
31059 2007-04-03  Bruno Haible  <bruno@clisp.org>
31060
31061         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
31062         * modules/isnanl-tests (configure.ac): Likewise.
31063
31064 2007-04-03  Ben Pfaff  <blp@gnu.org>
31065
31066         * modules/iconv_open: Add $(srcdir)/ to source directory
31067         references in Makefile fragments that call gperf, to fix VPATH
31068         builds.
31069
31070 2007-04-03  Bruno Haible  <bruno@clisp.org>
31071
31072         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
31073         * lib/ldexpl.c: Undo last change.
31074
31075 2007-04-03  Bruno Haible  <bruno@clisp.org>
31076
31077         * modules/printf-frexpl (Depends-on): Undo last change.
31078         (Files): Add m4/ldexpl.m4.
31079
31080 2007-04-03  Bruno Haible  <bruno@clisp.org>
31081
31082         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
31083         * modules/isnanl (Link): New section.
31084
31085         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
31086         * modules/frexp (Link): New section.
31087
31088         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
31089         * modules/frexpl (Link): New section.
31090
31091         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
31092         * modules/ldexpl (Link): New section.
31093
31094 2007-04-03  Bruno Haible  <bruno@clisp.org>
31095
31096         * modules/TEMPLATE-EXTENDED: New file.
31097         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
31098
31099 2007-04-03  Bruno Haible  <bruno@clisp.org>
31100
31101         * DEPENDENCIES: New file.
31102         Suggested by Simon Josefsson.
31103
31104 2007-04-03  Bruno Haible  <bruno@clisp.org>
31105
31106         * doc/gnulib.texi: Escape @.
31107
31108 2007-04-03  James Youngman  <jay@gnu.org>
31109         and Paul Eggert  <eggert@cs.ucla.edu>
31110
31111         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
31112         birthtime on all systems that have birthtime, not just those which
31113         use st_birthtimensec rather than st_birthtim.  Putting zero in
31114         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
31115         that the birth time is not available for files on an NFS mount.
31116
31117 2007-04-03  Simon Josefsson  <simon@josefsson.org>
31118
31119         * modules/memxor: Move back from crypto/, suggested by Bruno.
31120         * modules/crypto/hmac-sha1: Fix memxor dependency.
31121
31122         * modules/crypto/gc: Moved from ../.
31123
31124 2007-04-02  Eric Blake  <ebb9@byu.net>
31125
31126         * lib/ldexpl.c (includes): Avoid libm.
31127
31128         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
31129
31130 2007-04-02  Bruno Haible  <bruno@clisp.org>
31131
31132         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
31133         on IRIX.
31134
31135 2007-04-02  Bruno Haible  <bruno@clisp.org>
31136
31137         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
31138         x86 or x86_64 platforms running MacOS X.
31139         Reported by Ryan Schmidt <@ryandesign.com>.
31140
31141 2007-04-02  Bruno Haible  <bruno@clisp.org>
31142
31143         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
31144         i386.
31145
31146 2007-04-01  Simon Josefsson  <simon@josefsson.org>
31147
31148         * modules/crypto/arcfour: Moved from ../.
31149         * modules/crypto/arcfour-tests: Moved from ../.
31150         * modules/crypto/arctwo: Moved from ../.
31151         * modules/crypto/arctwo-tests: Moved from ../.
31152         * modules/crypto/des: Moved from ../.
31153         * modules/crypto/des-tests: Moved from ../.
31154         * modules/crypto/gc-arcfour: Moved from ../.
31155         * modules/crypto/gc-arcfour-tests: Moved from ../.
31156         * modules/crypto/gc-arctwo: Moved from ../.
31157         * modules/crypto/gc-arctwo-tests: Moved from ../.
31158         * modules/crypto/gc-des: Moved from ../.
31159         * modules/crypto/gc-des-tests: Moved from ../.
31160         * modules/crypto/gc-hmac-md5: Moved from ../.
31161         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
31162         * modules/crypto/gc-hmac-sha1: Moved from ../.
31163         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
31164         * modules/crypto/gc-md2: Moved from ../.
31165         * modules/crypto/gc-md2-tests: Moved from ../.
31166         * modules/crypto/gc-md4: Moved from ../.
31167         * modules/crypto/gc-md4-tests: Moved from ../.
31168         * modules/crypto/gc-md5: Moved from ../.
31169         * modules/crypto/gc-md5-tests: Moved from ../.
31170         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
31171         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
31172         * modules/crypto/gc-random: Moved from ../.
31173         * modules/crypto/gc-rijndael: Moved from ../.
31174         * modules/crypto/gc-rijndael-tests: Moved from ../.
31175         * modules/crypto/gc-sha1: Moved from ../.
31176         * modules/crypto/gc-sha1-tests: Moved from ../.
31177         * modules/crypto/gc-tests: Moved from ../.
31178         * modules/crypto/hmac-md5: Moved from ../.
31179         * modules/crypto/hmac-md5-tests: Moved from ../.
31180         * modules/crypto/hmac-sha1: Moved from ../.
31181         * modules/crypto/hmac-sha1-tests: Moved from ../.
31182         * modules/crypto/md2: Moved from ../.
31183         * modules/crypto/md2-tests: Moved from ../.
31184         * modules/crypto/md4: Moved from ../.
31185         * modules/crypto/md4-tests: Moved from ../.
31186         * modules/crypto/md5: Moved from ../.
31187         * modules/crypto/md5-tests: Moved from ../.
31188         * modules/crypto/memxor: Moved from ../.
31189         * modules/crypto/rijndael: Moved from ../.
31190         * modules/crypto/rijndael-tests: Moved from ../.
31191         * modules/crypto/sha1: Moved from ../.
31192
31193 2007-03-30  James Youngman  <jay@gnu.org>
31194
31195         * tests/test-stat-time.c (prepare_test): use chmod() rather than
31196         rename() to change the ctime of a file (because ctime is unaffected
31197         by rename on jfs2 on AIX 5.1).
31198         (main): Start by doing cleanup, in case a previous run failed leaving
31199         test files behind.
31200
31201 2007-03-31  Bruno Haible  <bruno@clisp.org>
31202
31203         Support old proprietary implementations of iconv.
31204         * modules/iconv_open: New file.
31205         * lib/iconv_.h: New file.
31206         * m4/iconv_h.m4: New file.
31207         * lib/iconv_open.c: New file.
31208         * lib/iconv_open-aix.gperf: New file.
31209         * lib/iconv_open-hpux.gperf: New file.
31210         * lib/iconv_open-irix.gperf: New file.
31211         * lib/iconv_open-osf.gperf: New file.
31212         * m4/iconv_open.m4: New file.
31213         * modules/linebreak (Depends-on): Add iconv_open.
31214         * modules/striconv (Depends-on): Likewise.
31215         * modules/striconveh (Depends-on): Likewise.
31216         * modules/unicodeio (Depends-on): Likewise.
31217         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
31218         (iconv_t)(-1).
31219         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
31220         conversion if cd is (iconv_t)(-1).
31221         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
31222         is not possible.
31223
31224 2007-03-31  Bruno Haible  <bruno@clisp.org>
31225
31226         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
31227         work on Solaris either. Protect also second use of "autodetect_jp".
31228
31229 2007-03-31  Bruno Haible  <bruno@clisp.org>
31230
31231         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
31232         the function is not present.
31233
31234 2007-03-31  Bruno Haible  <bruno@clisp.org>
31235
31236         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
31237         the function is not present.
31238
31239 2007-03-31  Bruno Haible  <bruno@clisp.org>
31240
31241         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
31242         a bug in HP-UX iconv_open().
31243
31244 2007-03-31  Bruno Haible  <bruno@clisp.org>
31245
31246         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
31247         (Mathematics <math.h>): New section, add fpieee.
31248         (Input/output <stdio.h>): Add fseterr.
31249         (Mathematics <math.h>): New section, add printf-frexp.
31250         (Container data structures): Add sublist.
31251         (Core language properties): Add fpucw, inline.
31252         (Functions for greatest-width integer types <inttypes.h>): Add
31253         imaxabs, imaxdiv, inttypes.
31254         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
31255         isnanl-nolibm, ldexp.
31256         (Mathematics <math.h>): New section, add printf-frexpl.
31257         (Support for systems lacking POSIX:2001): Add fprintf-posix,
31258         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
31259         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
31260         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
31261         (Unicode string functions): Add unistr/u*-mbtoucr.
31262         (Java): Add javacomp-script, javaexec-script.
31263         (C#): Add csharpcomp-script, csharpexec-script.
31264         (Support for building libraries and executables): Add havelib,
31265         relocatable-*.
31266         (Support for maintaining and releasing projects): Renamed from
31267         'Support for maintaining and release projects'. Add announce-gen.
31268
31269 2007-03-31  Bruno Haible  <bruno@clisp.org>
31270
31271         * README: Talk primarily about git.
31272         (git and CVS): Renamed from CVS.
31273         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
31274         gnulib is available through git.
31275         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
31276
31277 2007-03-30  Bruno Haible  <bruno@clisp.org>
31278
31279         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
31280         * lib/poll_.h: Likewise.
31281         * lib/stat_.h: Likewise.
31282         * lib/sys_time_.h: Likewise.
31283         * lib/sysexit_.h: Likewise.
31284         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
31285         * lib/stdbool_.h: Likewise.
31286         * lib/byteswap_.h: Add double-inclusion guard.
31287
31288 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
31289
31290         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
31291
31292 2007-03-30  Karl Berry  <karl@gnu.org>
31293
31294         * config/srclist-update: double space after USA in the license
31295         substitution, since that's how it's usually (?) written.
31296
31297 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
31298
31299         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
31300         reported by Bruno Haible.
31301
31302 2007-03-29  Bruno Haible  <bruno@clisp.org>
31303
31304         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
31305         a bug in AIX iconv().
31306
31307 2007-03-29  Bruno Haible  <bruno@clisp.org>
31308
31309         * modules/ldexpl-tests: New file.
31310         * tests/test-ldexpl.c: New file.
31311
31312 2007-03-29  Bruno Haible  <bruno@clisp.org>
31313
31314         * lib/ldexpl.c: Include fpucw.h.
31315         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
31316         multiplication.
31317         * modules/ldexpl (Depends-on): Add fpucw.
31318
31319 2007-03-29  Bruno Haible  <bruno@clisp.org>
31320
31321         * modules/ldexpl: New file.
31322         * m4/ldexpl.m4: New file.
31323         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
31324         set.
31325         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
31326         REPLACE_LDEXPL.
31327         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
31328         REPLACE_LDEXPL.
31329         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
31330         gl_FUNC_LDEXPL_WORKS.
31331         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
31332         * modules/mathl (Files): Remove lib/ldexpl.c.
31333         (Depends-on): Add ldexpl.
31334
31335 2007-03-29  Bruno Haible  <bruno@clisp.org>
31336
31337         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
31338
31339 2007-03-29  Bruno Haible  <bruno@clisp.org>
31340
31341         * tests/test-striconveh.c (main): Don't assume that a direct conversion
31342         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
31343         and possibly also HP-UX.
31344         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
31345         work on AIX, IRIX, HP-UX, OSF/1.
31346         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
31347         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
31348         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
31349         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
31350         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
31351         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
31352
31353 2007-03-29  Bruno Haible  <bruno@clisp.org>
31354
31355         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
31356
31357 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
31358
31359         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
31360         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
31361
31362 2007-03-29  Eric Blake  <ebb9@byu.net>
31363
31364         * lib/acl-internal.h: Remove redundant include.
31365         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
31366         Cygwin when a file is locked.
31367
31368 2007-03-29  Bruno Haible  <bruno@clisp.org>
31369
31370         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
31371         file.
31372         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
31373
31374 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
31375
31376         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
31377         try to remove a parent directory if the child couldn't be removed
31378         (except for the first rmdir, which could fail because the child
31379         doesn't exist).  Problem reported by Jeff Blaine in
31380         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
31381
31382 2007-03-28  Bruno Haible  <bruno@clisp.org>
31383
31384         * lib/striconveh.c (utf8conv_carefully): New function.
31385         (mem_cd_iconveh_internal): Invoke it.
31386
31387 2007-03-28  Bruno Haible  <bruno@clisp.org>
31388
31389         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
31390         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
31391         input.
31392         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
31393         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
31394         unistr/u8-uctomb.
31395
31396 2007-03-28  Bruno Haible  <bruno@clisp.org>
31397
31398         * modules/unistr/u8-mbtoucr: New file.
31399         * lib/unistr/u8-mbtoucr.c: New file.
31400         * modules/unistr/u16-mbtoucr: New file.
31401         * lib/unistr/u16-mbtoucr.c: New file.
31402         * modules/unistr/u16-mbtoucr: New file.
31403         * lib/unistr/u16-mbtoucr.c: New file.
31404         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
31405
31406 2007-03-27  Simon Josefsson  <simon@josefsson.org>
31407             Bruno Haible  <bruno@clisp.org>
31408
31409         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
31410         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
31411         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
31412
31413         * m4/stdio_h.m4: Add stubs for vasprintf too.
31414
31415         * modules/stdio: Support vasprintf in sed command.
31416
31417         * modules/vasprintf: Depend on stdio for prototypes.  Remove
31418         vasprintf.h.  Add stdio module indicator.
31419
31420         * lib/stdio_.h: Declare asprintf and vasprintf, based on
31421         vasprintf.h.
31422
31423         * lib/vasprintf.h: File removed.
31424
31425         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
31426         * lib/vasprintf.c: Ditto.
31427         * lib/xvasprintf.c: Ditto.
31428         * tests/test-vasprintf-posix.c: Ditto.
31429         * tests/test-vasprintf.c: Ditto.
31430
31431 2007-03-27  Bruno Haible  <bruno@clisp.org>
31432
31433         Make vasnprintf multithread-safe.
31434         * lib/vasnprintf.c (decimal_point_char): New function.
31435         (VASNPRINTF): Use it.
31436         Suggested by Simon Josefsson.
31437
31438 2007-03-27  Eric Blake  <ebb9@byu.net>
31439
31440         Support sub-second birthtime on cygwin.
31441         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
31442         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
31443         (get_stat_birthtime): Also work with st_birthtim.
31444
31445 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
31446
31447         * lib/stat-time.h (USE_BIRTHTIME): Remove.
31448         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
31449         (get_stat_birthtime_ns): Do not try to use "spare" fields.
31450         (get_stat_birthtime_ns): Simplify compile-time tests.
31451         (get_stat_birthtime): Change the API to look like
31452         get_stat_mtime etc., except return a negative tv_nsec on error.
31453         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
31454         Don't check for "spare" fields.
31455         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
31456         or for struct stat.st_birthtime, as these tests aren't used.
31457         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
31458
31459 2007-03-27  Bruno Haible  <bruno@clisp.org>
31460
31461         * lib/stat-time.h: Include <sys/stat.h>.
31462
31463 2007-03-27  James Youngman  <jay@gnu.org>
31464
31465         * lib/stat-time.h (get_stat_birthtime): New function for
31466           retrieving st_birthtime as provided by UFS2 (hence *BSD).
31467         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
31468           and its variants.
31469         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
31470         * modules/stat-time-test: New file.
31471         * tests/test-stat-time.c: New test, devised by Bruno Haible.
31472
31473 2007-03-26  Bruno Haible  <bruno@clisp.org>
31474
31475         Better support of signalling NaNs.
31476         * lib/atanl.c: Include isnanl.h.
31477         (atanl): Perform test for NaN at the beginning of the function and
31478         through a call to isnanl.
31479         * lib/cosl.c: Include isnanl.h.
31480         (cosl): Perform test for NaN at the beginning of the function and
31481         through a call to isnanl.
31482         * lib/ldexpl.c: Include isnanl.h.
31483         (ldexpl): Perform test for NaN through a call to isnanl.
31484         * lib/logl.c: Include isnanl.h.
31485         (logl): Perform test for NaN at the beginning of the function and
31486         through a call to isnanl.
31487         * lib/sinl.c: Include isnanl.h.
31488         (sinl): Perform test for NaN at the beginning of the function and
31489         through a call to isnanl.
31490         * lib/sqrtl.c: Include isnanl.h.
31491         (sqrtl): Perform test for NaN at the beginning of the function and
31492         through a call to isnanl.
31493         * lib/tanl.c: Include isnanl.h.
31494         (tanl): Perform test for NaN at the beginning of the function and
31495         through a call to isnanl.
31496         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
31497         * modules/mathl (Depends-on): Add isnanl.
31498
31499 2007-03-26  Eric Blake  <ebb9@byu.net>
31500
31501         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
31502         regression in logic sense of previous patch.
31503
31504 2007-03-26  Bruno Haible  <bruno@clisp.org>
31505
31506         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
31507         unportable shell command "if ! ...".
31508         Reported by Ralf Wildenhues.
31509
31510 2007-03-25  Bruno Haible  <bruno@clisp.org>
31511
31512         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
31513         <sysexits.h> file, and only add EX_CONFIG.
31514         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
31515         absolute file name and whether it is sufficient. Substitute also
31516         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
31517         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
31518         ABSOLUTE_SYSEXITS_H into sysexits.h.
31519
31520 2007-03-25  Bruno Haible  <bruno@clisp.org>
31521
31522         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
31523         hints is NULL.
31524
31525 2007-03-25  Bruno Haible  <bruno@clisp.org>
31526
31527         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
31528         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
31529
31530 2007-03-25  Bruno Haible  <bruno@clisp.org>
31531
31532         * lib/vasnprintf.c: Include langinfo.h.
31533         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
31534         multithread-safe.
31535         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
31536         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
31537         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
31538         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
31539         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
31540         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
31541         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
31542         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
31543         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
31544         Reported by Simon Josefsson.
31545
31546 2007-03-25  Bruno Haible  <bruno@clisp.org>
31547
31548         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
31549         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
31550         * modules/vasnprintf (Depends-on): Add stdint.
31551
31552 2007-03-25  Bruno Haible  <bruno@clisp.org>
31553
31554         * modules/fpieee: New file.
31555         * m4/fpieee.m4: New file.
31556         * modules/isnan-nolibm (Depends-on): Add fpieee.
31557         * modules/isnanl-nolibm (Depends-on): Add fpieee.
31558         * modules/isnanl (Depends-on): Add fpieee.
31559
31560 2007-03-25  Bruno Haible  <bruno@clisp.org>
31561
31562         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
31563
31564 2007-03-25  Bruno Haible  <bruno@clisp.org>
31565
31566         Avoid test failures on IRIX 6.5.
31567         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
31568         (main): Use it.
31569         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
31570         macros.
31571         (main): Use them.
31572
31573 2007-03-25  Bruno Haible  <bruno@clisp.org>
31574
31575         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
31576         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
31577         exists but doesn't work.
31578         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
31579         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
31580         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
31581         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
31582
31583 2007-03-25  Bruno Haible  <bruno@clisp.org>
31584
31585         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
31586         returns inf. Needed on IRIX 6.5.
31587
31588 2007-03-25  Bruno Haible  <bruno@clisp.org>
31589
31590         * tests/test-frexpl.c: Include isnanl-nolibm.h.
31591         (main): Use isnanl instead of x != x idiom.
31592         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
31593
31594         * tests/test-frexp.c: Include isnan.h.
31595         (main): Use isnan instead of x != x idiom.
31596         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
31597
31598 2007-03-25  Bruno Haible  <bruno@clisp.org>
31599
31600         * tests/test-frexp.c (NaN): New function/macro.
31601         (main): Use it instead of 0.0 / 0.0.
31602         * tests/test-isnan.c (NaN): New function/macro.
31603         (main): Use it instead of 0.0 / 0.0.
31604         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
31605         (test_function): Use it instead of 0.0 / 0.0.
31606         * tests/test-vasprintf-posix.c (NaN): New function/macro.
31607         (test_function): Use it instead of 0.0 / 0.0.
31608         * tests/test-snprintf-posix.h (NaN): New function/macro.
31609         (test_function): Use it instead of 0.0 / 0.0.
31610         * tests/test-sprintf-posix.h (NaN): New function/macro.
31611         (test_function): Use it instead of 0.0 / 0.0.
31612         * tests/test-fprintf-posix.h (NaN): New function/macro.
31613         (test_function): Use it instead of 0.0 / 0.0.
31614         * tests/test-printf-posix.h (NaN): New function/macro.
31615         (test_function): Use it instead of 0.0 / 0.0.
31616
31617         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
31618
31619 2007-03-25  Bruno Haible  <bruno@clisp.org>
31620
31621         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
31622
31623 2007-03-25  Bruno Haible  <bruno@clisp.org>
31624
31625         * lib/regexec.c (merge_state_with_log): Make static.
31626
31627 2007-03-25  Bruno Haible  <bruno@clisp.org>
31628
31629         * lib/trigl.c (kernel_rem_pio2): Make static.
31630
31631 2007-03-25  Bruno Haible  <bruno@clisp.org>
31632
31633         * lib/sincosl.c (sincosl_table): Make static.
31634
31635 2007-03-25  Bruno Haible  <bruno@clisp.org>
31636
31637         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
31638         if the compiler does not support C99.
31639
31640 2007-03-25  Bruno Haible  <bruno@clisp.org>
31641
31642         * modules/time (Makefile.am): Ensure all rule action lines start with a
31643         tab.
31644
31645 2007-03-24  Bruno Haible  <bruno@clisp.org>
31646
31647         * modules/tsearch-tests: New file.
31648         * tests/test-tsearch.sh: New file.
31649         * tests/test-tsearch.c: New file, mostly copied from glibc.
31650
31651         * modules/search-tests: New file.
31652         * tests/test-search.c: New file.
31653
31654         * modules/search: New file.
31655         * lib/search_.h: New file, incorporating lib/tsearch.h.
31656         * m4/search_h.m4: New file.
31657         * lib/tsearch.h: Remove file.
31658         * lib/tsearch.c: Include search.h instead of tsearch.h.
31659         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
31660         HAVE_TSEARCH.
31661         * modules/tsearch (Files): Remove lib/tsearch.h.
31662         (Depends-on): Add search.
31663         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
31664         (Include): Change tsearch.h into search.h.
31665
31666 2007-03-24  Bruno Haible  <bruno@clisp.org>
31667
31668         * modules/fpucw: New file.
31669         * lib/fpucw.h: New file.
31670         * lib/frexp.c: Include fpucw.h.
31671         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
31672         (FUNC): Use them.
31673         * lib/printf-frexp.c: Include fpucw.h.
31674         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
31675         (FUNC): Use them.
31676         * lib/vasnprintf.c: Include fpucw.h.
31677         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
31678         'long double' calculations.
31679         * tests/test-frexpl.c: Include fpucw.h.
31680         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
31681         * tests/test-printf-frexpl.c: Include fpucw.h.
31682         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
31683         * modules/frexpl (Depends-on): Add fpucw.
31684         * modules/printf-frexpl (Depends-on): Likewise.
31685         * modules/fprintf-posix (Depends-on): Likewise.
31686         * modules/snprintf-posix (Depends-on): Likewise.
31687         * modules/sprintf-posix (Depends-on): Likewise.
31688         * modules/vasnprintf-posix (Depends-on): Likewise.
31689         * modules/vasprintf-posix (Depends-on): Likewise.
31690         * modules/vfprintf-posix (Depends-on): Likewise.
31691         * modules/vsnprintf-posix (Depends-on): Likewise.
31692         * modules/vsprintf-posix (Depends-on): Likewise.
31693         * modules/frexpl-tests (Depends-on): Likewise.
31694         * modules/printf-frexpl-tests (Depends-on): Likewise.
31695
31696 2007-03-24  Bruno Haible  <bruno@clisp.org>
31697
31698         * lib/float+.h: New file.
31699         * lib/isnan.c: Include float+.h.
31700         (SIZE): New macro.
31701         (FUNC): Compare only SIZE bytes of the value.
31702         * lib/vasnprintf.c: Include float+.h.
31703         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
31704         SIZEOF_LDBL or SIZEOF_DBL bytes.
31705         * modules/isnan-nolibm (Files): Add lib/float+.h.
31706         * modules/isnanl-nolibm (Files): Add lib/float+.h.
31707         * modules/isnanl (Files): Add lib/float+.h.
31708         * modules/vasnprintf (Files): Add lib/float+.h.
31709
31710 2007-03-24  Bruno Haible  <bruno@clisp.org>
31711
31712         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
31713         include isnanl-nolibm.h.
31714
31715 2007-03-24  Bruno Haible  <bruno@clisp.org>
31716
31717         * tests/test-read-file.c (main): Don't produce spurious output for
31718         expected situations. Make the test fail if it encountered unexpected
31719         results.
31720
31721 2007-03-24  Bruno Haible  <bruno@clisp.org>
31722
31723         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
31724         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
31725
31726 2007-03-24  Bruno Haible  <bruno@clisp.org>
31727
31728         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
31729
31730 2007-03-24  Bruno Haible  <bruno@clisp.org>
31731
31732         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
31733         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
31734
31735         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
31736         * modules/utf8-ucs4: Turn into a symbolic link to module
31737         unistr/u8-mbtouc.
31738
31739         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
31740         utf8-ucs4-unsafe.
31741         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
31742         unistr/u8-mbtouc-unsafe.
31743
31744         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
31745         * modules/utf16-ucs4: Turn into a symbolic link to module
31746         unistr/u16-mbtouc.
31747
31748         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
31749         utf16-ucs4-unsafe.
31750         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
31751         unistr/u16-mbtouc-unsafe.
31752
31753         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
31754         * modules/ucs4-utf8: Turn into a symbolic link to module
31755         unistr/u8-ubtomb.
31756
31757         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
31758         * modules/ucs4-utf16: Turn into a symbolic link to module
31759         unistr/u16-ubtomb.
31760
31761 2007-03-24  Bruno Haible  <bruno@clisp.org>
31762
31763         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
31764         Enable the function only if HAVE_INLINE.
31765         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
31766         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
31767         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
31768         Enable the function only if HAVE_INLINE.
31769         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
31770         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
31771         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
31772         Enable the function only if HAVE_INLINE.
31773         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
31774         Enable the function only if HAVE_INLINE.
31775         * modules/utf8-ucs4: Update.
31776         * modules/utf8-ucs4-unsafe: Update.
31777         * modules/utf16-ucs4: Update.
31778         * modules/utf16-ucs4-unsafe: Update.
31779         * modules/ucs4-utf8: Update.
31780         * modules/ucs4-utf16: Update.
31781
31782 2007-03-24  Bruno Haible  <bruno@clisp.org>
31783
31784         * lib/utf8-ucs4.h: Remove file.
31785         * lib/utf8-ucs4-unsafe.h: Remove file.
31786         * lib/utf16-ucs4.h: Remove file.
31787         * lib/utf16-ucs4-unsafe.h: Remove file.
31788         * lib/ucs4-utf8.h: Remove file.
31789         * lib/ucs4-utf16.h: Remove file.
31790         * lib/unistr.h: Include their previous contents.
31791         * m4/utf-ucs4.m4: Remove file.
31792         * m4/ucs4-utf.m4: Remove file.
31793         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
31794         (Depends-on): Add unistr/base.
31795         (configure.ac): Remove gl_UTF_UCS4.
31796         (Makefile.am): Update.
31797         (Include): Change to unistr.h.
31798         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
31799         (Depends-on): Add unistr/base.
31800         (configure.ac): Remove gl_UTF_UCS4.
31801         (Makefile.am): Update.
31802         (Include): Change to unistr.h.
31803         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
31804         (Depends-on): Add unistr/base.
31805         (configure.ac): Remove gl_UTF_UCS4.
31806         (Makefile.am): Update.
31807         (Include): Change to unistr.h.
31808         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
31809         (Depends-on): Add unistr/base.
31810         (configure.ac): Remove gl_UTF_UCS4.
31811         (Makefile.am): Update.
31812         (Include): Change to unistr.h.
31813         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
31814         (Depends-on): Add unistr/base.
31815         (configure.ac): Remove gl_UCS4_UTF.
31816         (Makefile.am): Update.
31817         (Include): Change to unistr.h.
31818         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
31819         (Depends-on): Add unistr/base.
31820         (configure.ac): Remove gl_UCS4_UTF.
31821         (Makefile.am): Update.
31822         (Include): Change to unistr.h.
31823         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
31824         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
31825         utf8-ucs4-unsafe.h.
31826         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
31827         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
31828         utf16-ucs4-unsafe.h.
31829         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
31830         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
31831         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
31832         * lib/unistr/u8-strchr.c: Likewise.
31833         * lib/unistr/u8-strrchr.c: Likewise.
31834         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
31835         * lib/unistr/u16-strchr.c: Likewise.
31836         * lib/unistr/u16-strrchr.c: Likewise.
31837         * lib/striconveh.c: Update.
31838         * lib/linebreak.c: Update.
31839
31840 2007-03-24  Bruno Haible  <bruno@clisp.org>
31841
31842         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
31843         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
31844
31845 2007-03-22  Bruno Haible  <bruno@clisp.org>
31846
31847         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
31848
31849 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
31850
31851         * MODULES.html.sh (File system functions): New module write-any-file.
31852         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
31853         * m4/write-any-file.m4: New files.
31854
31855 2007-03-23  Eric Blake  <ebb9@byu.net>
31856
31857         * gnulib-tool: Rearrange space-tab sequences, since some editors
31858         like to eat them.
31859
31860 2007-03-23  Eric Blake  <ebb9@byu.net>
31861
31862         * lib/version-etc.c (version_etc_va): Update license wording to
31863         be more concise.  Recommended by Richard Stallman.
31864
31865 2007-03-22  Bruno Haible  <bruno@clisp.org>
31866
31867         * lib/poll.c (MSG_PEEK): New fallback definition.
31868
31869 2007-03-22  Bruno Haible  <bruno@clisp.org>
31870
31871         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
31872         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
31873         (main): Update.
31874         Fixes a compilation error on BeOS.
31875
31876 2007-03-22  Bruno Haible  <bruno@clisp.org>
31877
31878         * modules/frexpl-tests: New file.
31879         * tests/test-frexpl.c: New file.
31880
31881         * modules/frexpl: New file.
31882         * m4/frexpl.m4: New file.
31883         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
31884         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
31885         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
31886         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
31887         (Depends-on): Add frexpl. Remove isnanl-nolibm.
31888         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
31889
31890 2007-03-22  Bruno Haible  <bruno@clisp.org>
31891
31892         * lib/frexpl.c: Share code with lib/frexp.c.
31893         * modules/mathl (Files): Add lib/frexp.c.
31894         (Depends-on): Add isnanl-nolibm.
31895
31896 2007-03-22  Bruno Haible  <bruno@clisp.org>
31897
31898         * modules/printf-frexp (Files): Add m4/frexp.m4.
31899         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
31900         only if the found frexp function actually works.
31901
31902 2007-03-22  Bruno Haible  <bruno@clisp.org>
31903
31904         * lib/frexp.c: Remove older implementation that uses divisions.
31905
31906 2007-03-21  Bruno Haible  <bruno@clisp.org>
31907
31908         * modules/frexp-tests: New file.
31909         * tests/test-frexp.c: New file.
31910
31911         * modules/frexp: New file.
31912         * lib/frexp.c: New file.
31913         * m4/frexp.m4: New file.
31914         * lib/math_.h (frexp): New declaration.
31915         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
31916         REPLACE_FREXP.
31917         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
31918
31919 2007-03-21  Bruno Haible  <bruno@clisp.org>
31920
31921         * modules/isnanl-tests: New file.
31922         * tests/test-isnanl.c: New file.
31923
31924         * modules/isnanl: New file.
31925         * lib/isnanl.h: New file.
31926         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
31927         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
31928         gl_FUNC_ISNANL_WORKS.
31929         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
31930         New macros.
31931
31932 2007-03-21  Bruno Haible  <bruno@clisp.org>
31933
31934         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
31935         lib/isnanl.h.
31936         (Include): Update.
31937         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
31938         * lib/vasnprintf.c: Update.
31939         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
31940         tests/test-isnanl.h, remove tests/test-isnanl.c.
31941         (Makefile.am): Update.
31942         * tests/test-isnanl-nolibm.c: New file.
31943         * tests/test-isnanl.h: New file.
31944         * tests/test-isnanl.c: Remove file.
31945
31946 2007-03-21  Jim Meyering  <jim@meyering.net>
31947
31948         When trying to open ".", treat ESTALE like EACCES.
31949         * lib/savewd.c (savewd_save): Resort to forking not just upon
31950         failure with EACCES, but also when errno is ESTALE.
31951
31952 2007-03-20  Bruno Haible  <bruno@clisp.org>
31953
31954         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
31955         Needed on AIX 5.1. Reported by Matthew Woehlke.
31956
31957 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
31958
31959         Suggestions by Bruno Haible:
31960         * lib/acl-internal.h: Include "gettext.h" rather than rolling
31961         our own.
31962         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
31963         * modules/acl (Depends-on): Add gettext.
31964
31965 2007-03-19  Bruno Haible  <bruno@clisp.org>
31966
31967         * modules/iconvme: Remove file.
31968         * lib/iconvme.h: Remove file.
31969         * lib/iconvme.c: Remove file.
31970         * m4/iconvme.m4: Remove file.
31971
31972 2007-03-19  Bruno Haible  <bruno@clisp.org>
31973
31974         * doc/relocatable-maint.texi: Break long shell script line.
31975         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
31976
31977 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
31978
31979         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
31980         handle file_has_acl.
31981         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
31982         * lib/acl.c: Move header inclusions and related macro defns into
31983         lib/acl-internal.h.
31984         (S_ISLNK): Remove defn, since that's now done for us.
31985         (file_has_acl): Move to lib/file-has-acl.c.
31986         Call acl_trivial if available.  This is the crucial part of the fix.
31987         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
31988         shared within the library.  Rewrite a bit, partly to make it compatible
31989         with the GNU coding style.
31990         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
31991         Remove unnecessary double-quotes.
31992         Don't test for acl_to_text; the build will catch that.
31993         Replace acl_entries if it doesn't exist and it is needed.
31994         Check for -lsec and acl_trivial (as used on Solaris 10).
31995         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
31996         lib/file-has-acl.c.
31997         (Depends-on): Add sys_stat, for S_ISLNK.
31998
31999 2007-03-19  Ben Pfaff  <blp@gnu.org>
32000
32001         * doc/gnulib.texi: Fix typos.
32002         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
32003
32004 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
32005
32006         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
32007         If size is zero here, buf must be zero.
32008
32009 2007-03-19  Simon Josefsson  <simon@josefsson.org>
32010
32011         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
32012         <bruno@clisp.org>.
32013
32014 2007-03-18  Bruno Haible  <bruno@clisp.org>
32015
32016         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
32017         Suggested by Eric Blake.
32018
32019 2007-03-18  Ben Pfaff  <blp@gnu.org>
32020
32021         * doc/relocatable.texi: Recommend using as prefix a directory
32022         that does not exist and will never be created.  Based on
32023         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
32024         and others.
32025
32026 2007-03-17  Bruno Haible  <bruno@clisp.org>
32027
32028         * lib/fchownat.c: Include lchown.h.
32029
32030 2007-03-17  Bruno Haible  <bruno@clisp.org>
32031
32032         Fix endless loop when the given allocated size was > INT_MAX.
32033         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
32034         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
32035         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
32036         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
32037         * lib/sprintf.c (sprintf): Likewise.
32038
32039 2007-03-17  Bruno Haible  <bruno@clisp.org>
32040
32041         * tests/test-argp-2.sh (func_compare): Output a context diff.
32042
32043 2007-03-17  Bruno Haible  <bruno@clisp.org>
32044
32045         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
32046         locale's decimal-point character.
32047
32048 2007-03-17  Bruno Haible  <bruno@clisp.org>
32049
32050         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
32051         before comparing it. Needed because on some platforms (e.g. x86) a
32052         'long double' occupies less bytes than sizeof (long double).
32053
32054 2007-03-17  Bruno Haible  <bruno@clisp.org>
32055
32056         * tests/test-crc.c (main): Make printf statements 64-bit clean.
32057         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
32058         * tests/test-getaddrinfo.c (simple): Likewise.
32059         * tests/test-read-file.c (main): Likewise.
32060
32061 2007-03-17  Bruno Haible  <bruno@clisp.org>
32062
32063         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
32064
32065 2007-03-17  Bruno Haible  <bruno@clisp.org>
32066
32067         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
32068         unused variable.
32069
32070 2007-03-17  Bruno Haible  <bruno@clisp.org>
32071
32072         * tests/test-c-strcasecmp.c: Include c-strcase.h.
32073         * tests/test-c-strncasecmp.c: Likewise.
32074
32075 2007-03-17  Bruno Haible  <bruno@clisp.org>
32076
32077         * modules/stdlib (Depends-on): Add unistd.
32078         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
32079         Needed for MacOS X 10.3.
32080
32081 2007-03-17  Bruno Haible  <bruno@clisp.org>
32082
32083         * lib/unistr/u-strdup.h: Include <stdlib.h>.
32084
32085 2007-03-17  Bruno Haible  <bruno@clisp.org>
32086
32087         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
32088
32089 2007-03-17  Bruno Haible  <bruno@clisp.org>
32090
32091         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
32092         to reflect files copied from gnulib (with or without modifications).
32093         Suggested by Jim Meyering.
32094
32095 2007-03-17  Eric Blake  <ebb9@byu.net>
32096
32097         * NEWS: Document stdlib change from 2007-02-18.
32098
32099 2007-03-17  Jim Meyering  <jim@meyering.net>
32100
32101         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
32102         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
32103         someone uses a name containing shell meta-characters.
32104         Reported by Alfred M. Szmidt.
32105
32106         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
32107
32108 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
32109
32110         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
32111         and copy gettext configuration files only if configure.ac contains
32112         a use of AM_GNU_GETTEXT_VERSION.
32113
32114 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
32115
32116         * build-aux/bootstrap (gnulib_name): New variable.
32117         (gnulib_tool_options): Use it.
32118
32119 2007-03-13  Simon Josefsson  <simon@josefsson.org>
32120
32121         * tests/test-des.c: Use new namespace.
32122
32123 2007-03-15  Bruno Haible  <bruno@clisp.org>
32124
32125         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
32126         Reported by James Youngman <jay@gnu.org>.
32127
32128 2007-03-15  Bruno Haible  <bruno@clisp.org>
32129
32130         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
32131         declared prototype. Needed with cc on OSF/1 5.1.
32132
32133 2007-03-15  Bruno Haible  <bruno@clisp.org>
32134
32135         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
32136         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
32137         (struct gl_list_implementation): Add dispose_fn argument to the
32138         'create_empty', 'create' methods.
32139         (struct gl_list_impl_base): Add field 'dispose_fn'.
32140         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
32141         argument.
32142         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
32143         dispose_fn argument.
32144         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
32145         dispose_fn on the dropped values.
32146         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
32147         dispose_fn argument.
32148         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
32149         dropped values.
32150         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
32151         (gl_tree_remove_node): Call dispose_fn on the dropped value.
32152         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
32153         (gl_tree_remove_node): Call dispose_fn on the dropped value.
32154         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
32155         argument.
32156         (gl_tree_list_free): Call dispose_fn on the dropped values.
32157         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
32158         the dropped values.
32159         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
32160         Add dispose_fn argument.
32161         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
32162         Call dispose_fn on the dropped values.
32163         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
32164         Add dispose_fn argument.
32165         (gl_sublist_create): Initialize the 'dispose_fn' field.
32166         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
32167         * tests/test-array_list.c (main): Update.
32168         * tests/test-carray_list.c (main): Update.
32169         * tests/test-avltree_list.c (main): Update.
32170         * tests/test-rbtree_list.c (main): Update.
32171         * tests/test-avltreehash_list.c (main): Update.
32172         * tests/test-rbtreehash_list.c (main): Update.
32173         * tests/test-linked_list.c (main): Update.
32174         * tests/test-linkedhash_list.c (main): Update.
32175         * tests/test-array_oset.c (main): Update.
32176
32177 2007-03-15  Bruno Haible  <bruno@clisp.org>
32178
32179         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
32180         (gl_oset_create_empty): Add dispose_fn argument.
32181         (struct gl_oset_implementation): Add dispose_fn argument to
32182         'create_empty' method.
32183         (struct gl_oset_impl_base): Add dispose_fn field.
32184         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
32185         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
32186         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
32187         values.
32188         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
32189         (gl_tree_oset_free): Call dispose_fn on the dropped values.
32190         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
32191         dropped value.
32192         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
32193         dropped value.
32194         * tests/test-array_oset.c (main): Update.
32195         * tests/test-avltree_oset.c (main): Update.
32196         * tests/test-rbtree_oset.c (main): Update.
32197         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
32198
32199 2007-03-13  Bruno Haible  <bruno@clisp.org>
32200
32201         * tests/test-stdbool.c (i): Update after last patch.
32202
32203 2007-03-12  Bruno Haible  <bruno@clisp.org>
32204
32205         * lib/quotearg.c: Include <wctype.h> early, before the definition of
32206         the iswprint macro. Needed on Solaris 2.5.1.
32207
32208 2007-03-12  Bruno Haible  <bruno@clisp.org>
32209
32210         * tests/test-printf-frexp.c (main): Declare x as volatile.
32211
32212 2007-03-12  Simon Josefsson  <simon@josefsson.org>
32213
32214         * doc/gnulib.texi (Build robot for gnulib): New section.
32215
32216 2007-03-12  Jim Meyering  <jim@meyering.net>
32217
32218         * build-aux/bootstrap: New file.
32219         * build-aux/bootstrap.conf: New file, from coreutils.
32220
32221 2007-03-11  Bruno Haible  <bruno@clisp.org>
32222
32223         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
32224
32225 2007-03-12  Simon Josefsson  <simon@josefsson.org>
32226
32227         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
32228         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
32229         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
32230
32231 2007-03-11  Bruno Haible  <bruno@clisp.org>
32232
32233         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
32234         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
32235
32236 2007-03-11  Bruno Haible  <bruno@clisp.org>
32237
32238         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
32239         formula. Needed for SunPRO C 5.0.
32240
32241 2007-03-11  Bruno Haible  <bruno@clisp.org>
32242
32243         * modules/long-options (Depends-on): Add getopt.
32244
32245 2007-03-11  Bruno Haible  <bruno@clisp.org>
32246
32247         * modules/modechange (Depends-on): Add stdbool.
32248
32249 2007-03-11  Bruno Haible  <bruno@clisp.org>
32250
32251         * modules/i-ring (Depends-on): Add stdbool.
32252
32253 2007-03-11  Bruno Haible  <bruno@clisp.org>
32254
32255         * modules/gc-des (Depends-on): Add stdbool.
32256
32257 2007-03-11  Bruno Haible  <bruno@clisp.org>
32258
32259         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
32260
32261 2007-03-11  Bruno Haible  <bruno@clisp.org>
32262
32263         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
32264
32265 2007-03-11  Bruno Haible  <bruno@clisp.org>
32266
32267         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
32268
32269 2007-03-11  Bruno Haible  <bruno@clisp.org>
32270
32271         * lib/vasnprintf.c (sprintf): Undefine.
32272
32273 2007-03-11  Bruno Haible  <bruno@clisp.org>
32274
32275         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
32276         initializers in SunPRO C and Compaq C compilers.
32277
32278 2007-03-11  Bruno Haible  <bruno@clisp.org>
32279
32280         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
32281         decrementing code ANSI C compliant.
32282
32283 2007-03-11  Bruno Haible  <bruno@clisp.org>
32284
32285         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
32286         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
32287
32288 2007-03-11  Bruno Haible  <bruno@clisp.org>
32289
32290         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
32291         <stdbool.h> substitute doesn't pass.
32292
32293 2007-03-11  Bruno Haible  <bruno@clisp.org>
32294
32295         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
32296
32297 2007-03-11  Bruno Haible  <bruno@clisp.org>
32298
32299         * gnulib-tool (func_create_megatestdir): Create also an autobuild
32300         script, for submission to autobuild.josefsson.org.
32301
32302 2007-03-10  Bruno Haible  <bruno@clisp.org>
32303
32304         * modules/canonicalize-lgpl-tests: New file.
32305         * tests/test-canonicalize-lgpl.sh: New file.
32306         * tests/test-canonicalize-lgpl.c: New file.
32307
32308         * modules/c-strcase-tests: New file.
32309         * tests/test-c-strcase.sh: New file.
32310         * tests/test-c-strcasecmp.c: New file.
32311         * tests/test-c-strncasecmp.c: New file.
32312
32313         * modules/atexit-tests: New file.
32314         * tests/test-atexit.sh: New file.
32315         * tests/test-atexit.c: New file.
32316
32317 2007-03-10  Bruno Haible  <bruno@clisp.org>
32318
32319         * tests/test-binary-io.sh: Use temporary filenames that are not so
32320         likely to clash with those of other tests (in a parallel make).
32321         * tests/test-binary-io.c: Likewise.
32322
32323 2007-03-10  Bruno Haible  <bruno@clisp.org>
32324
32325         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
32326         fallback; use #error instead.
32327         Suggested by Simon Josefsson.
32328
32329 2007-03-10  Bruno Haible  <bruno@clisp.org>
32330
32331         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
32332         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
32333         first and the last.
32334
32335 2007-03-10  Bruno Haible  <bruno@clisp.org>
32336
32337         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
32338
32339 2007-03-10  Bruno Haible  <bruno@clisp.org>
32340
32341         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
32342         "make distcheck".
32343         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
32344         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
32345         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
32346
32347 2007-03-10  Bruno Haible  <bruno@clisp.org>
32348
32349         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
32350         variable.
32351         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
32352         variable.
32353
32354 2007-03-09  Eric Blake  <ebb9@byu.net>
32355         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
32356
32357         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
32358         types are not being provided by gnulib.
32359         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
32360         types are supported.
32361
32362 2007-03-10  Bruno Haible  <bruno@clisp.org>
32363
32364         * lib/stdio_.h (__attribute__): New macro.
32365         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
32366         vsprintf): Specify __attribute__ __format__ for GCC.
32367         Suggested by Eric Blake.
32368
32369 2007-03-09  Bruno Haible  <bruno@clisp.org>
32370
32371         * modules/printf-posix-tests: New file.
32372         * tests/test-printf-posix.sh: New file.
32373         * tests/test-printf-posix.c: New file.
32374
32375         * modules/printf-posix: New file.
32376         * lib/printf.c: New file.
32377         * m4/printf-posix-rpl.m4: New file.
32378         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
32379         REPLACE_PRINTF.
32380         * lib/stdio_.h (printf): New declaration.
32381         (format, __format__, ____printf____, ____scanf____, ____strftime____,
32382         ____strfmon____): New macros.
32383         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
32384         REPLACE_PRINTF.
32385
32386 2007-03-09  Bruno Haible  <bruno@clisp.org>
32387
32388         * tests/test-vasnprintf-posix2.sh: New file.
32389         * tests/test-vasnprintf-posix2.c: New file.
32390         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
32391         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
32392         (Makefile.am): Activate test-vasnprintf-posix2.sh.
32393
32394         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
32395         a locale dependent decimal point, rather than always '.'.
32396
32397 2007-03-09  Eric Blake  <ebb9@byu.net>
32398
32399         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
32400         spite of platforms like Tandem/NSK that define it to -1.
32401
32402 2007-03-08  Bruno Haible  <bruno@clisp.org>
32403
32404         * modules/vprintf-posix-tests: New file.
32405         * tests/test-vprintf-posix.sh: New file.
32406         * tests/test-vprintf-posix.c: New file.
32407         * tests/test-printf-posix.h: New file.
32408
32409         * modules/vprintf-posix: New file.
32410         * lib/vprintf.c: New file.
32411         * m4/vprintf-posix.m4: New file.
32412         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
32413         REPLACE_VPRINTF.
32414         * lib/stdio_.h (vprintf): New declaration.
32415         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
32416         REPLACE_VPRINTF.
32417
32418 2007-03-08  Bruno Haible  <bruno@clisp.org>
32419
32420         * modules/fprintf-posix-tests: New file.
32421         * tests/test-fprintf-posix.sh: New file.
32422         * tests/test-fprintf-posix.c: New file.
32423
32424         * modules/fprintf-posix: New file.
32425         * lib/fprintf.c: New file.
32426         * m4/fprintf-posix.m4: New file.
32427         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
32428         REPLACE_FPRINTF.
32429         * lib/stdio_.h (fprintf): New declaration.
32430         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
32431         REPLACE_FPRINTF.
32432
32433 2007-03-08  Bruno Haible  <bruno@clisp.org>
32434
32435         * modules/vfprintf-posix-tests: New file.
32436         * tests/test-vfprintf-posix.sh: New file.
32437         * tests/test-vfprintf-posix.c: New file.
32438         * tests/test-fprintf-posix.h: New file.
32439         * tests/test-fprintf-posix.out: New file.
32440
32441         * modules/vfprintf-posix: New file.
32442         * lib/vfprintf.c: New file.
32443         * m4/vfprintf-posix.m4: New file.
32444         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
32445         REPLACE_VFPRINTF.
32446         * lib/stdio_.h (vfprintf): New declaration.
32447         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
32448         REPLACE_VFPRINTF.
32449
32450 2007-03-08  Bruno Haible  <bruno@clisp.org>
32451
32452         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
32453
32454 2007-03-08  Bruno Haible  <bruno@clisp.org>
32455
32456         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
32457         instead of 'expr' invocations.
32458         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
32459         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
32460         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
32461         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
32462         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
32463         Suggested by Paul Eggert.
32464
32465 2007-03-08  Bruno Haible  <bruno@clisp.org>
32466
32467         * modules/fseterr-tests: New file.
32468         * tests/test-fseterr.c: New file.
32469
32470         * modules/fseterr: New file.
32471         * lib/fseterr.h: New file.
32472         * lib/fseterr.c: New file.
32473
32474 2007-03-08  Bruno Haible  <bruno@clisp.org>
32475
32476         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
32477         * lib/getopt_.h: Likewise.
32478         * lib/mbswidth.h: Likewise.
32479         * lib/setenv.h: Likewise.
32480         * lib/vasnprintf.h: Likewise.
32481         * lib/vasprintf.h: Likewise.
32482         * lib/verror.h: Likewise.
32483         * lib/xsetenv.h: Likewise.
32484         * lib/xvasprintf.h: Likewise.
32485
32486 2007-03-08  Jim Meyering  <jim@meyering.net>
32487
32488         * users.txt: Add parted.
32489
32490         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
32491
32492 2007-03-07  Bruno Haible  <bruno@clisp.org>
32493
32494         * m4/printf.m4: Make the shell script snippets copy&pastable.
32495
32496 2007-03-02  Bruno Haible  <bruno@clisp.org>
32497
32498         * lib/netinet_in_.h: New file.
32499         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
32500         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
32501         * modules/netinet_in (Files): Add lib/netinet_in_.h.
32502         (Depends-on): Add absolute-header.
32503         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
32504         into netinet/in.h.
32505
32506 2007-03-03  Bruno Haible  <bruno@clisp.org>
32507
32508         * lib/sys_select_.h: New file.
32509         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
32510         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
32511         * modules/sys_select (Files): Add lib/sys_select_.h.
32512         (Depends-on): Add absolute-header.
32513         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
32514         into sys/select.h.
32515
32516 2007-03-02  Bruno Haible  <bruno@clisp.org>
32517
32518         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
32519         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
32520         values.
32521         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
32522         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
32523         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
32524         * modules/sys_socket (Depends-on): Add absolute-header.
32525         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
32526         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
32527         (Include): Remove requirement of inclusion of <sys/types.h>.
32528
32529 2007-03-02  Bruno Haible  <bruno@clisp.org>
32530
32531         * lib/byteswap_.h (bswap_32): Fix formula.
32532
32533 2007-03-06  Bruno Haible  <bruno@clisp.org>
32534
32535         * modules/sprintf-posix-tests: New file.
32536         * tests/test-sprintf-posix.c: New file.
32537
32538         * modules/sprintf-posix: New file.
32539         * lib/sprintf.c: New file.
32540         * m4/sprintf-posix.m4: New file.
32541         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
32542         REPLACE_SPRINTF.
32543         * lib/stdio_.h (sprintf): New declaration.
32544         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
32545         REPLACE_SPRINTF.
32546
32547 2007-03-06  Bruno Haible  <bruno@clisp.org>
32548
32549         * modules/vsprintf-posix-tests: New file.
32550         * tests/test-vsprintf-posix.c: New file.
32551         * tests/test-sprintf-posix.h: New file.
32552
32553         * modules/vsprintf-posix: New file.
32554         * lib/vsprintf.c: New file.
32555         * m4/vsprintf-posix.m4: New file.
32556         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
32557         REPLACE_VSPRINTF.
32558         * lib/stdio_.h (vsprintf): New declaration.
32559         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
32560         REPLACE_VSPRINTF.
32561
32562 2007-03-06  Bruno Haible  <bruno@clisp.org>
32563
32564         * modules/vsnprintf (Depend-on): Remove minmax.
32565
32566 2007-03-06  Bruno Haible  <bruno@clisp.org>
32567
32568         * modules/snprintf-posix-tests: New file.
32569         * tests/test-snprintf-posix.c: New file.
32570
32571         * modules/snprintf-posix: New file.
32572         * m4/snprintf-posix.m4: New file.
32573         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
32574         gl_FUNC_SNPRINTF.
32575         (gl_FUNC_SNPRINTF): Invoke it.
32576         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
32577         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
32578         is set.
32579         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
32580
32581 2007-03-06  Bruno Haible  <bruno@clisp.org>
32582
32583         * modules/vsnprintf-posix-tests: New file.
32584         * tests/test-vsnprintf-posix.c: New file.
32585         * tests/test-snprintf-posix.h: New file.
32586
32587         * modules/vsnprintf-posix: New file.
32588         * m4/vsnprintf-posix.m4: New file.
32589         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
32590         gl_FUNC_VSNPRINTF.
32591         (gl_FUNC_VSNPRINTF): Invoke it.
32592         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
32593         * lib/stdio_.h (vsnprintf): Define as a replacement if
32594         REPLACE_VSNPRINTF is set.
32595         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
32596
32597 2007-03-06  Bruno Haible  <bruno@clisp.org>
32598
32599         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
32600         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
32601
32602 2007-03-06  Bruno Haible  <bruno@clisp.org>
32603
32604         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
32605         (asinl): Declare also if HAVE_DECL_ASINL is set.
32606         (atanl): Declare also if HAVE_DECL_ATANL is set.
32607         (ceill): Declare also if HAVE_DECL_CEILL is set.
32608         (cosl): Declare also if HAVE_DECL_COSL is set.
32609         (expl): Declare also if HAVE_DECL_EXPL is set.
32610         (floorl): Declare also if HAVE_DECL_FLOORL is set.
32611         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
32612         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
32613         (logl): Declare also if HAVE_DECL_LOGL is set.
32614         (sinl): Declare also if HAVE_DECL_SINL is set.
32615         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
32616         (tanl): Declare also if HAVE_DECL_TANL is set.
32617         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
32618         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
32619         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
32620         declaration of frexpl, ldexpl.
32621         * modules/printf-frexpl (Depends-on): Add math.
32622         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
32623
32624 2007-03-05  Bruno Haible  <bruno@clisp.org>
32625
32626         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
32627         frexpl and ldexpl are declared.
32628         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
32629
32630 2007-03-05  Bruno Haible  <bruno@clisp.org>
32631
32632         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
32633         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
32634
32635 2007-03-05  Bruno Haible  <bruno@clisp.org>
32636
32637         * lib/stdio_.h: Include <stddef.h>.
32638
32639 2007-03-05  Bruno Haible  <bruno@clisp.org>
32640
32641         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
32642
32643 2007-03-05  Bruno Haible  <bruno@clisp.org>
32644
32645         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
32646         NetBSD 4, from Ralf Wildenhues.
32647
32648 2007-03-04  Bruno Haible  <bruno@clisp.org>
32649
32650         * lib/vasprintf.h: Update #if logic for the case when the functions
32651         exist but are overridden.
32652
32653 2007-03-04  Bruno Haible  <bruno@clisp.org>
32654
32655         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
32656         implementations: glibc-2.4 and MacOS X 10.3.
32657         * tests/test-vasnprintf-posix.c (test_function): Test also the case
32658         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
32659         * tests/test-vasprintf-posix.c (test_function): Likewise.
32660
32661 2007-03-04  Bruno Haible  <bruno@clisp.org>
32662
32663         * modules/vasprintf-posix-tests: New file.
32664         * tests/test-vasprintf-posix.c: New file.
32665
32666         * modules/vasprintf-posix: New file.
32667         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
32668         defined.
32669         * m4/vasprintf-posix.m4: New file.
32670         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
32671         gl_FUNC_VASPRINTF.
32672         (gl_FUNC_VASPRINTF): Invoke it.
32673         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
32674         here.
32675         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
32676
32677 2007-03-04  Bruno Haible  <bruno@clisp.org>
32678
32679         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
32680         REPLACE_GETTIMEOFDAY.
32681         * modules/sys_time (Makefile.am): Likewise.
32682         * m4/sys_time_h.m4: Likewise.
32683         * m4/gettimeofday.m4: Likewise.
32684
32685 2007-03-04  Bruno Haible  <bruno@clisp.org>
32686
32687         * modules/vasnprintf-posix-tests: New file.
32688         * tests/test-vasnprintf-posix.c: New file.
32689
32690         * modules/vasnprintf-posix: New file.
32691         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
32692         printf-frexpl.h.
32693         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
32694         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
32695         REPLACE_VASNPRINTF is defined.
32696         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
32697         gl_FUNC_VASNPRINTF.
32698         (gl_FUNC_VASNPRINTF): Invoke it.
32699         * m4/vasnprintf-posix.m4: New file.
32700         * m4/printf.m4: New file.
32701
32702 2007-03-04  Bruno Haible  <bruno@clisp.org>
32703
32704         Compile progreloc.c only if --enable-relocatable is specified.
32705         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
32706         if --enable-relocatable was specified.
32707         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
32708         lib_SOURCES.
32709
32710 2007-03-04  Jim Meyering  <jim@meyering.net>
32711
32712         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
32713         Use it consistently, rather than enumerating errno constants.
32714
32715 2007-03-04  Bruno Haible  <bruno@clisp.org>
32716
32717         * modules/xvasprintf-tests: New file.
32718         * tests/test-xvasprintf.c: New file.
32719
32720         * modules/vasprintf-tests: New file.
32721         * tests/test-vasprintf.c: New file.
32722
32723         * modules/vasnprintf-tests: New file.
32724         * tests/test-vasnprintf.c: New file.
32725
32726         * modules/vsnprintf-tests: New file.
32727         * tests/test-vsnprintf.c: New file.
32728
32729         * modules/snprintf-tests: New file.
32730         * tests/test-snprintf.c: New file.
32731
32732 2007-03-04  Bruno Haible  <bruno@clisp.org>
32733
32734         Compile relocatable.c only if --enable-relocatable is specified.
32735         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
32736         gl_RELOCATABLE_LIBRARY.
32737         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
32738         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
32739         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
32740         gl_RELOCATABLE_LIBRARY.
32741         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
32742         (Makefile.am): Remove lib_SOURCES.
32743         * modules/relocatable-lib-lgpl (configure.ac): Invoke
32744         gl_RELOCATABLE_LIBRARY.
32745         (Makefile.am): Remove lib_SOURCES.
32746         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
32747         always.
32748         * modules/relocatable-prog-wrapper (configure.ac): Invoke
32749         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
32750
32751 2007-03-04  Bruno Haible  <bruno@clisp.org>
32752
32753         * modules/argmatch-tests: New file.
32754         * tests/test-argmatch.c: New file.
32755
32756         * tests/test-allocsa.c (main): Halve the number of loop runs.
32757
32758         * modules/alloca-opt-tests: New file.
32759         * tests/test-alloca-opt.c: New file.
32760
32761 2007-03-04  Jim Meyering  <jim@meyering.net>
32762
32763         Work around difference between Linux ACLs and Solaris 10 ZFS.
32764         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
32765         for EINVAL.
32766
32767 2007-03-03  Bruno Haible  <bruno@clisp.org>
32768
32769         * modules/relocatable-prog (Depends-on): Add back progreloc's
32770         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
32771
32772 2007-03-03  Bruno Haible  <bruno@clisp.org>
32773
32774         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
32775         * modules/relocatable-lib: New file.
32776
32777 2007-03-03  Bruno Haible  <bruno@clisp.org>
32778
32779         * modules/relocatable-prog: Renamed from modules/relocatable.
32780         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
32781
32782 2007-03-03  Bruno Haible  <bruno@clisp.org>
32783
32784         * modules/relocatable-script (Files): Add doc/relocatable.texi,
32785         m4/relocatable-lib.m4.
32786         (Depends-on): Remove 'relocatable'.
32787         (configure.ac): Add gl_RELOCATABLE_NOP.
32788
32789 2007-03-03  Bruno Haible  <bruno@clisp.org>
32790
32791         * modules/relocatable-prog-wrapper: New file.
32792         * modules/relocatable (Depends-on): Add it. Remove all other
32793         dependencies except progname.
32794         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
32795
32796         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
32797         (gl_FUNC_STRERROR): Nop.
32798         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
32799
32800         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
32801         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
32802
32803         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
32804         (gl_FUNC_READLINK): Update.
32805
32806         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
32807
32808 2007-03-03  Bruno Haible  <bruno@clisp.org>
32809
32810         * lib/xreadlink.c: Include <unistd.h> unconditionally.
32811         * modules/xreadlink (Depends-on): Add unistd.
32812         * modules/xreadlink-with-size (Depends-on): Likewise.
32813
32814 2007-03-03  Bruno Haible  <bruno@clisp.org>
32815
32816         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
32817         extracted from gt_FUNC_SETENV.
32818         (gt_FUNC_SETENV): Remove macro.
32819         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
32820         remove gt_FUNC_SETENV.
32821
32822 2007-03-03  Bruno Haible  <bruno@clisp.org>
32823
32824         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
32825         ENABLE_RELOCATABLE here.
32826         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
32827
32828 2007-03-03  Bruno Haible  <bruno@clisp.org>
32829
32830         * modules/rbtreehash-list-tests (Depends-on): Add progname.
32831         * tests/test-rbtreehash_list.c: Include progname.h.
32832         (main): Call set_program_name.
32833
32834         * modules/rbtree-oset-tests (Depends-on): Add progname.
32835         * tests/test-rbtree_oset.c: Include progname.h.
32836         (main): Call set_program_name.
32837
32838         * modules/rbtree-list-tests (Depends-on): Add progname.
32839         * tests/test-rbtree_list.c: Include progname.h.
32840         (main): Call set_program_name.
32841
32842         * modules/linked-list-tests (Depends-on): Add progname.
32843         * tests/test-linked_list.c: Include progname.h.
32844         (main): Call set_program_name.
32845
32846 2007-03-03  Bruno Haible  <bruno@clisp.org>
32847
32848         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
32849         All uses of __restrict changed to _Restrict_.
32850         * lib/glob_.h (__restrict): Remove macro.
32851
32852 2007-03-02  Bruno Haible  <bruno@clisp.org>
32853
32854         * modules/gettext (configure.ac): Require gettext infrastructure
32855         from version 0.16.1.
32856
32857 2007-03-02  Bruno Haible  <bruno@clisp.org>
32858
32859         * modules/linkedhash-list-tests (Depends-on): Add progname.
32860         * tests/test-linkedhash_list.c: Include progname.h.
32861         (main): Call set_program_name.
32862
32863         * modules/carray-list-tests (Depends-on): Add progname.
32864         * tests/test-carray_list.c: Include progname.h.
32865         (main): Call set_program_name.
32866
32867         * modules/avltreehash-list-tests (Depends-on): Add progname.
32868         * tests/test-avltreehash_list.c: Include progname.h.
32869         (main): Call set_program_name.
32870
32871         * modules/avltree-oset-tests (Depends-on): Add progname.
32872         * tests/test-avltree_oset.c: Include progname.h.
32873         (main): Call set_program_name.
32874
32875         * modules/avltree-list-tests (Depends-on): Add progname.
32876         * tests/test-avltree_list.c: Include progname.h.
32877         (main): Call set_program_name.
32878
32879         * modules/array-oset-tests (Depends-on): Add progname.
32880         * tests/test-array_oset.c: Include progname.h.
32881         (main): Call set_program_name.
32882
32883         * modules/array-list-tests (Depends-on): Add progname.
32884         * tests/test-array_list.c: Include progname.h.
32885         (main): Call set_program_name.
32886
32887         * modules/argp-tests (Depends-on): Add progname.
32888         * tests/test-argp.c: Include argp.h first. Include progname.h.
32889         (main): Call set_program_name.
32890
32891 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
32892
32893         * doc/gnulib-tool.texi (Initial import): Reword description of
32894         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
32895         limited effect even if defined after the first system include.
32896
32897 2007-03-01  Bruno Haible  <bruno@clisp.org>
32898
32899         * build-aux/config.libpath: Update to libtool-1.5.22.
32900         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
32901
32902 2007-03-01  Bruno Haible  <bruno@clisp.org>
32903
32904         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
32905         foo_CFLAGS.
32906         Reported by Ralf Wildenhues.
32907
32908 2007-03-01  Bruno Haible  <bruno@clisp.org>
32909
32910         * build-aux/install-reloc: Remove object files left over by some
32911         compilers.
32912         Reported by Ralf Wildenhues.
32913
32914 2007-03-01  Bruno Haible  <bruno@clisp.org>
32915
32916         * build-aux/install-reloc: Break long lines.
32917
32918 2007-03-01  Bruno Haible  <bruno@clisp.org>
32919
32920         * doc/relocatable.texi: Document that it may not work on OpenBSD.
32921         Reported by Ralf Wildenhues.
32922
32923 2007-03-01  Bruno Haible  <bruno@clisp.org>
32924
32925         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
32926         include ordering constraints.
32927
32928 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
32929
32930         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
32931         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
32932         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
32933         as another example.
32934         * lib/time_.h: Fix misspelling.
32935         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
32936         Require gl_HEADER_TIME_H_DEFAULTS.
32937         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
32938         * m4/time_r.m4 (gl_TIME_R): Likewise.
32939         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
32940
32941 2007-03-01  Bruno Haible  <bruno@clisp.org>
32942
32943         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
32944         * m4/utimens.m4 (gl_UTIMENS): Likewise.
32945
32946 2007-03-01  Jim Meyering  <jim@meyering.net>
32947
32948         * modules/xreadlink (Maintainer): Add my name.
32949         * modules/xreadlink-with-size (Depends-on): Alphabetize.
32950
32951 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
32952             Bruno Haible  <bruno@clisp.org>
32953
32954         * build-aux/install-reloc: Compile also c-ctype.c.
32955         * build-aux/relocatable.sh.in: New file.
32956         * doc/relocatable.texi: New file.
32957         * doc/relocatable-maint.texi: New file.
32958         * doc/gnulib.texi: Include relocatable-maint.texi.
32959         * lib/progreloc.c: Include unistd.h unconditionally.
32960         * lib/relocwrapper.c: Include unistd.h unconditionally.
32961         Include c-ctype.h.
32962         (add_dotbin): Use c_tolower.
32963         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
32964         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
32965         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
32966         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
32967         to m4/relocatable-lib.m4.
32968         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
32969         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
32970         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
32971         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
32972         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
32973         * modules/relocatable: New file.
32974         * modules/relocatable-lib: New file.
32975         * modules/relocatable-script: New file.
32976
32977 2007-02-28  Bruno Haible  <bruno@clisp.org>
32978
32979         Import --enable-relocatable infrastructure.
32980         * build-aux/config.libpath: New file, from GNU gettext.
32981         * build-aux/install-reloc: New file, from GNU gettext.
32982         * build-aux/reloc-ldflags: New file, from GNU gettext.
32983         * lib/relocatable.h: New file, from GNU gettext.
32984         * lib/relocatable.c: New file, from GNU gettext.
32985         * lib/relocwrapper.c: New file, from GNU gettext.
32986         * m4/relocatable.m4: New file, from GNU gettext.
32987
32988 2007-02-28  Bruno Haible  <bruno@clisp.org>
32989
32990         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
32991
32992         * modules/xreadlink: New file, from GNU gettext with modifications.
32993         * lib/xreadlink.c: New file, from GNU gettext.
32994         * lib/xreadlink.h: Add comments.
32995         (xreadlink): New declaration.
32996
32997         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
32998         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
32999         lib/xreadlink-with-size.c.
33000         (configure.ac): Remove gl_XREADLINK invocation.
33001         (Makefile.am): Augment lib_SOURCES.
33002         * m4/xreadlink.m4: Remove file.
33003         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
33004         (xreadlink_with_size): Renamed from xreadink.
33005         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
33006         * modules/canonicalize (Depends-on): Replace xreadlink with
33007         xreadlink-with-size.
33008         * lib/canonicalize.c (canonicalize_filename_mode): Update.
33009
33010 2007-02-25  Jim Meyering  <jim@meyering.net>
33011
33012         * build-aux/announce-gen: When complaining about excess arguments,
33013         list them.
33014
33015 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
33016
33017         * README: Document signed integer overflow situation more
33018         accurately.
33019
33020 2007-02-25  Bruno Haible  <bruno@clisp.org>
33021
33022         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
33023         'a' or 'A' conversion.
33024
33025 2007-02-25  Bruno Haible  <bruno@clisp.org>
33026
33027         * modules/filename: Renamed from modules/pathname.
33028         (Files): Replace lib/pathname.h with lib/filename.h. Replace
33029         lib/concatpath.c with lib/concat-filename.c.
33030         (Makefile.am): Update.
33031         (Include): Replace pathname.h with filename.h.
33032         * lib/filename.h: Renamed from lib/pathname.h.
33033         (concatenated_filename): Renamed from concatenated_pathname.
33034         * lib/concat-filename.c: Renamed from lib/concatpath.c.
33035         (concatenated_filename): Renamed from concatenated_pathname.
33036         * lib/findprog.c: Include filename.h instead of pathname.h.
33037         (find_in_path): Update.
33038         * lib/javacomp.c: Include filename.h instead of pathname.h.
33039         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
33040         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
33041         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
33042         is_oldgcj_14_13_usable, is_javac_usable): Update.
33043         * lib/javaexec.c: Include filename.h instead of pathname.h.
33044         (execute_java_class): Update.
33045         * modules/findprog: Update.
33046         * modules/javacomp: Update.
33047         * modules/javaexec: Update.
33048         * MODULES.html.sh (File system functions): Add 'filename', remove
33049         'pathname'.
33050
33051 2007-02-25  Bruno Haible  <bruno@clisp.org>
33052
33053         * modules/printf-frexpl-tests: New file.
33054         * tests/test-printf-frexpl.c: New file.
33055
33056         * modules/printf-frexpl: New file.
33057         * lib/printf-frexpl.h: New file.
33058         * lib/printf-frexpl.c: New file.
33059         * m4/printf-frexpl.m4: New file.
33060
33061 2007-02-25  Bruno Haible  <bruno@clisp.org>
33062
33063         * modules/printf-frexp-tests: New file.
33064         * tests/test-printf-frexp.c: New file.
33065
33066         * modules/printf-frexp: New file.
33067         * lib/printf-frexp.h: New file.
33068         * lib/printf-frexp.c: New file.
33069         * m4/printf-frexp.m4: New file.
33070
33071 2007-02-25  Bruno Haible  <bruno@clisp.org>
33072
33073         Assume automake >= 1.10 for the tests.
33074         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
33075         * modules/arctwo-tests: Likewise.
33076         * modules/argp-tests: Likewise.
33077         * modules/avltree-list-tests: Likewise.
33078         * modules/avltree-oset-tests: Likewise.
33079         * modules/avltreehash-list-tests: Likewise.
33080         * modules/carray-list-tests: Likewise.
33081         * modules/crc-tests: Likewise.
33082         * modules/des-tests: Likewise.
33083         * modules/gc-arcfour-tests: Likewise.
33084         * modules/gc-arctwo-tests: Likewise.
33085         * modules/gc-des-tests: Likewise.
33086         * modules/gc-hmac-md5-tests: Likewise.
33087         * modules/gc-hmac-sha1-tests: Likewise.
33088         * modules/gc-md2-tests: Likewise.
33089         * modules/gc-md4-tests: Likewise.
33090         * modules/gc-md5-tests: Likewise.
33091         * modules/gc-pbkdf2-sha1-tests: Likewise.
33092         * modules/gc-rijndael-tests: Likewise.
33093         * modules/gc-sha1-tests: Likewise.
33094         * modules/gc-tests: Likewise.
33095         * modules/getaddrinfo-tests: Likewise.
33096         * modules/hmac-md5-tests: Likewise.
33097         * modules/hmac-sha1-tests: Likewise.
33098         * modules/linked-list-tests: Likewise.
33099         * modules/linkedhash-list-tests: Likewise.
33100         * modules/lock-tests: Likewise.
33101         * modules/md2-tests: Likewise.
33102         * modules/md4-tests: Likewise.
33103         * modules/md5-tests: Likewise.
33104         * modules/rbtree-list-tests: Likewise.
33105         * modules/rbtree-oset-tests: Likewise.
33106         * modules/rbtreehash-list-tests: Likewise.
33107         * modules/read-file-tests: Likewise.
33108         * modules/rijndael-tests: Likewise.
33109         * modules/stdint-tests: Likewise.
33110         * modules/tls-tests: Likewise.
33111
33112 2007-02-24  Bruno Haible  <bruno@clisp.org>
33113
33114         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
33115         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
33116         function; instead check whether isnan with a double argument links.
33117         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
33118         function; instead check whether isnan with a 'long double' argument
33119         links.
33120         Reported by Eric Blake <ebb9@byu.net>.
33121
33122 2007-02-24  Bruno Haible  <bruno@clisp.org>
33123
33124         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
33125         defined.
33126         * lib/isnanl.c: Remove all code. Just include isnan.c.
33127         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
33128
33129 2007-02-25  Jim Meyering  <jim@meyering.net>
33130
33131         Avoid conflicting types for 'unsetenv' on FreeBSD.
33132         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
33133         conflicting with FreeBSD's (5.0 and 6.1) function declaration
33134         in stdlib.h.
33135
33136 2007-02-24  Bruno Haible  <bruno@clisp.org>
33137
33138         * modules/isnanl-nolibm-tests: New file.
33139         * tests/test-isnanl.c: New file.
33140
33141         * modules/isnanl-nolibm: New file.
33142         * lib/isnanl.h: New file.
33143         * lib/isnanl.c: New file.
33144         * m4/isnanl.m4: New file.
33145
33146 2007-02-24  Bruno Haible  <bruno@clisp.org>
33147
33148         * modules/isnan-nolibm-tests: New file.
33149         * tests/test-isnan.c: New file.
33150
33151         * modules/isnan-nolibm: New file.
33152         * lib/isnan.h: New file.
33153         * lib/isnan.c: New file.
33154         * m4/isnan.m4: New file.
33155
33156 2007-02-24  Bruno Haible  <bruno@clisp.org>
33157
33158         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
33159         assume that an exponent fits in 20 bits.
33160
33161 2007-02-24  Jim Meyering  <jim@meyering.net>
33162
33163         * m4/regex.m4: Update the description of the configure-time option,
33164         --without-included-regex, to state accurately what the defaults are,
33165         and perhaps to give people an idea why using this option is risky.
33166
33167 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
33168
33169         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
33170         loops on small arguments.  This attempts to avoid the problem
33171         Bruno Haible reported for AIX 4.3.2 in
33172         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
33173
33174 2007-02-23  Bruno Haible  <bruno@clisp.org>
33175
33176         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
33177         Needed for help2man.
33178
33179 2007-02-23  Karl Berry  <karl@gnu.org>
33180
33181         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
33182         exists, foo.h should be cvs-ignored, not committed.
33183
33184 2007-02-23  Eric Blake  <ebb9@byu.net>
33185
33186         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
33187         * lib/stat-time.h (includes): Likewise.
33188         * lib/utimecmp.c (includes): Likewise.
33189         * lib/utimens.h (includes): Likewise.
33190         * lib/getdate.y (includes): Also include "timespec.h" for use
33191         internal to the module.
33192         * modules/utimens (Depends-on): Revert yesterday's patch.
33193         * modules/nanosleep (Depends-on): Add missing dependency.
33194
33195 2007-02-22  Bruno Haible  <bruno@clisp.org>
33196
33197         * lib/glob.c: Don't include getlogin_r.h.
33198
33199 2007-02-22  Jim Meyering  <jim@meyering.net>
33200
33201         * modules/utimens (Depends-on): Add timespec, required for
33202         utimens.h's inclusion of timespec.h.
33203
33204 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
33205
33206         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
33207         long unreadable paths in GNU/Linux.  Problem reported by Andreas
33208         Schwab in
33209         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
33210         I'll try to think of a better way to fix the Solaris problem.
33211
33212         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
33213         like glibc; on Solaris 10, it fails with errno == EINVAL.
33214         POSIX says the behavior is unspecified if the first argument is NULL,
33215         so play it safe and never pass NULL to the system getcwd.
33216
33217 2007-02-21  Jim Meyering  <jim@meyering.net>
33218
33219         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
33220         of gettimeofday.  It would conflict with the one now always
33221         provided via sys_time_.h.  Reported by Matthew Woehlke, as
33222         an IRIX 6.5 build failure.
33223
33224 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
33225
33226         Minor fixups to port to Solaris 10 with Sun C 5.8.
33227         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
33228         * modules/getcwd (Depends-on): Add dirfd.
33229         * lib/putenv.c (putenv): #undef it.
33230         (rpl_putenv): New decl.
33231         (malloc, free): Include <stdlib.h> rather than prototyping separately.
33232
33233 2007-02-20  Bruno Haible  <bruno@clisp.org>
33234
33235         * modules/stdio-tests: New file.
33236         * tests/test-stdio.c: New file.
33237
33238         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
33239         (Depends-on): Add stdio.
33240         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
33241         (Include): Use <stdio.h> instead of vsnprintf.h.
33242         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
33243         HAVE_DECL_VSNPRINTF.
33244         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
33245
33246         * modules/snprintf (Files): Remove lib/snprintf.h.
33247         (Depends-on): Add stdio.
33248         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
33249         (Include): Use <stdio.h> instead of snprintf.h.
33250         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
33251         HAVE_DECL_SNPRINTF.
33252         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
33253         * lib/getaddrinfo.c: Likewise.
33254
33255         * modules/stdio: New file.
33256         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
33257         * lib/snprintf.h: Remove file.
33258         * lib/vsnprintf.h: Remove file.
33259         * lib/.cppi-disable: Remove snprintf.h.
33260         * m4/stdio_h.m4: New file.
33261         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
33262
33263 2007-02-20  Jim Meyering  <jim@meyering.net>
33264
33265         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
33266         used by e.g., mingw.  From Bruno Haible.
33267
33268 2007-02-19  Bruno Haible  <bruno@clisp.org>
33269
33270         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
33271         warnings.
33272         Reported by Ben Pfaff <blp@cs.stanford.edu>.
33273
33274 2007-02-19  Bruno Haible  <bruno@clisp.org>
33275
33276         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
33277         from mingw users.
33278
33279 2007-02-19  Bruno Haible  <bruno@clisp.org>
33280
33281         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
33282         warnings.
33283         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
33284
33285 2007-02-19  Jim Meyering  <jim@meyering.net>
33286
33287         Don't use FD after a successful "fdopendir (fd)".
33288         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
33289         Reset it by calling dirfd on the just-obtained DIR*.
33290
33291         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
33292         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
33293
33294 2007-02-18  Bruno Haible  <bruno@clisp.org>
33295
33296         * lib/readlink.c: Include <unistd.h>.
33297         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
33298         HAVE_READLINK.
33299         * modules/readlink (Depends-on): Add unistd.
33300         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
33301         (Include): Add <unistd.h>.
33302
33303         * lib/getlogin_r.h: Remove file.
33304         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
33305         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
33306         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
33307         HAVE_DECL_GETLOGIN_R.
33308         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
33309         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
33310         (Include): Use <unistd.h> instead of getlogin_r.h.
33311
33312         * lib/getcwd.h: Remove file.
33313         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
33314         * lib/xgetcwd.c: Likewise.
33315         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
33316         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
33317         * modules/getcwd (Files): Remove lib/getcwd.h.
33318         (Depends-on): Add unistd.
33319         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
33320         (Include): Use <unistd.h> instad of getcwd.h.
33321
33322         * lib/ftruncate.c: Include <unistd.h> first.
33323         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
33324         Set HAVE_FTRUNCATE.
33325         * modules/ftruncate (Depends-on): Add unistd.
33326         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
33327
33328         * lib/fchdir.c: Include <unistd.h> first.
33329         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
33330         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
33331         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
33332         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
33333         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
33334
33335         * lib/dup2.c: Include <unistd.h> first.
33336         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
33337         HAVE_DUP2.
33338         * modules/dup2 (Depends-on): Add unistd.
33339         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
33340
33341         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
33342         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
33343         REPLACE_CHOWN. Don't define chown as a macro here.
33344         * modules/chown (Depends-on): Add unistd.
33345         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
33346
33347         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
33348         Add definition for GL_LINK_WARNING.
33349         (chown, dup2): New declarations.
33350         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
33351         link warning.
33352         (ftruncate): New declaration.
33353         (getcwd): New declaration, taken from old getcwd.h.
33354         (getlogin_r): New declaration, taken from old getlogin_r.h.
33355         (readlink): New declaration.
33356         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
33357         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
33358         (gl_PREREQ_UNISTD): Remove macro.
33359         (gl_UNISTD_MODULE_INDICATOR): New macro.
33360         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
33361         many new variables. Don't set UNISTD_H.
33362         * modules/unistd (Description): Change.
33363         (Depends-on): Add link-warning.
33364         (configure.ac): Update.
33365         (Makefile.am): Create unistd.h always. Substitute many new variables
33366         into it.
33367
33368 2007-02-18  Bruno Haible  <bruno@clisp.org>
33369
33370         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
33371         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
33372         HAVE_GETSUBOPT.
33373         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
33374         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
33375         * lib/getsubopt.h: Remove file.
33376         * modules/getsubopt (Files): Remove lib/getsubopt.h.
33377         (Depends-on): Add stdlib.
33378         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
33379         (Includes): Use <stdlib.h> instead of getsubopt.h.
33380         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
33381         Set HAVE_GETSUBOPT.
33382         * lib/getsubopt.c: Don't include getsubopt.h.
33383
33384 2007-02-18  Bruno Haible  <bruno@clisp.org>
33385
33386         * modules/fchdir (Depends-on): Add dup2.
33387
33388 2007-02-18  Bruno Haible  <bruno@clisp.org>
33389
33390         * lib/stdlib_.h: Handle glibc's special invocation convention
33391         specially.
33392
33393 2007-02-18  Bruno Haible  <bruno@clisp.org>
33394
33395         * modules/stdlib-tests: New file.
33396         * tests/test-stdlib.c: New file.
33397
33398         * modules/mkstemp (Files): Remove lib/mkstemp.h.
33399         (Depends-on): Add stdlib.
33400         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
33401         (Includes): Use <stdlib.h> instead of mkstemp.h.
33402         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
33403         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
33404         * lib/mkstemp.c: Don't include mkstemp.h.
33405         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
33406         * lib/stdlib--.h: Don't include mkstemp.h.
33407
33408         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
33409         (Depends-on): Add stdlib.
33410         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
33411         (Includes): Use <stdlib.h> instead of mkdtemp.h.
33412         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
33413         HAVE_MKDTEMP.
33414         * lib/mkdtemp.c: Don't include mkdtemp.h.
33415         * lib/clean-temp.c: Don't include mkdtemp.h.
33416
33417         * modules/exit (Files): Remove lib/exit.h.
33418         (Depends-on): Add stdlib.
33419         (Makefile.am): Remove lib_SOURCES.
33420         (Include): Use <stdlib.h> instead of exit.h.
33421         * lib/argmatch.c: Don't include exit.h.
33422         * lib/execute.c: Likewise.
33423         * lib/pagealign_alloc.c: Likewise.
33424         * lib/pipe.c: Likewise.
33425         * lib/wait-process.c: Likewise.
33426         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
33427         * lib/exitfail.c: Likewise.
33428         * lib/savewd.c: Likewise.
33429         * lib/xsetenv.c: Likewise.
33430
33431         * modules/stdlib: New file.
33432         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
33433         and extra comments about mkstemp().
33434         * lib/exit.h: Remove file.
33435         * lib/mkdtemp.h: Remove file.
33436         * lib/mkstemp.h: Remove file.
33437         * m4/stdlib_h.m4: New file.
33438         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
33439
33440 2007-02-18  Bruno Haible  <bruno@clisp.org>
33441
33442         * modules/math-tests: New file.
33443         * tests/test-math.c: New file.
33444
33445         * modules/math: New file.
33446         * modules/mathl (Files): Remove lib/mathl.h.
33447         (Depends-on): Add math.
33448         (Makefile.am): Don't mention mathl.h.
33449         (Include): Use <math.h> instead of mathl.h.
33450         * lib/math_.h: New file.
33451         * lib/mathl.h: Remove file.
33452         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
33453         mathl.h.
33454         * lib/asinl.c: Likewise.
33455         * lib/atanl.c: Likewise.
33456         * lib/ceill.c: Likewise.
33457         * lib/cosl.c: Likewise.
33458         * lib/expl.c: Likewise.
33459         * lib/floorl.c: Likewise.
33460         * lib/frexpl.c: Likewise.
33461         * lib/ldexpl.c: Likewise.
33462         * lib/logl.c: Likewise.
33463         * lib/sincosl.c: Likewise.
33464         * lib/sinl.c: Likewise.
33465         * lib/sqrtl.c: Likewise.
33466         * lib/tanl.c: Likewise.
33467         * lib/trigl.c: Likewise.
33468         * m4/math_h.m4: New file.
33469         * MODULES.html.sh (Mathematics): Add math.
33470
33471 2007-02-17  Bruno Haible  <bruno@clisp.org>
33472
33473         * modules/wctype-tests: New file.
33474         * tests/test-wctype.c: New file.
33475
33476         * modules/wchar-tests: New file.
33477         * tests/test-wchar.c: New file.
33478
33479         * modules/unistd-tests: New file.
33480         * tests/test-unistd.c: New file.
33481
33482         * modules/time-tests: New file.
33483         * tests/test-time.c: New file.
33484
33485         * modules/sysexits-tests: New file.
33486         * tests/test-sysexits.c: New file.
33487
33488         * modules/sys_time-tests: New file.
33489         * tests/test-sys_time.c: New file.
33490
33491         * modules/sys_stat-tests: New file.
33492         * tests/test-sys_stat.c: New file.
33493
33494         * modules/sys_socket-tests: New file.
33495         * tests/test-sys_socket.c: New file.
33496
33497         * modules/sys_select-tests: New file.
33498         * tests/test-sys_select.c: New file.
33499
33500         * modules/string-tests: New file.
33501         * tests/test-string.c: New file.
33502
33503         * modules/stdbool-tests: New file.
33504         * tests/test-stdbool.c: New file.
33505
33506         * modules/netinet_in-tests: New file.
33507         * tests/test-netinet_in.c: New file.
33508
33509         * modules/inttypes-tests: New file.
33510         * tests/test-inttypes.c: New file.
33511
33512         * modules/fcntl-tests: New file.
33513         * tests/test-fcntl.c: New file.
33514
33515         * modules/byteswap-tests: New file.
33516         * tests/test-byteswap.c: New file.
33517
33518         * modules/arpa_inet-tests: New file.
33519         * tests/test-arpa_inet.c: New file.
33520
33521 2007-02-17  Bruno Haible  <bruno@clisp.org>
33522
33523         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
33524         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
33525         if the corresponding module is not enabled. Emit link warnings if
33526         the function is used nevertheless.
33527         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
33528         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
33529         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
33530         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
33531         * modules/inttypes (Depends-on): Add link-warning.
33532         (Makefile.am): Copy the contents of build-aux/link-warning.h into
33533         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
33534         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
33535         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
33536         * modules/imaxdiv (configure.ac): Likewise.
33537         * modules/strtoimax (configure.ac): Likewise.
33538         * modules/strtoumax (configure.ac): Likewise.
33539
33540 2007-02-17  Bruno Haible  <bruno@clisp.org>
33541
33542         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
33543         gl_STRING_MODULE_INDICATOR_DEFAULTS.
33544         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
33545         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
33546
33547 2007-02-17  Bruno Haible  <bruno@clisp.org>
33548
33549         * modules/link-warning: New file.
33550         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
33551         * lib/string_.h (GL_LINK_WARNING): Remove definition.
33552         * modules/string (Depends-on): Add link-warning.
33553         (Makefile.am): Copy the contents of build-aux/link-warning.h into
33554         string.h.
33555         * MODULES.html.sh (Support for building libraries and executables): Add
33556         link-warning.
33557
33558 2007-02-17  Bruno Haible  <bruno@clisp.org>
33559
33560         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
33561         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
33562         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
33563         long lines.
33564
33565 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
33566             Bruno Haible  <bruno@clisp.org>
33567
33568         * modules/tmpfile: New file.
33569         * lib/tmpfile.c: New file.
33570         * m4/tmpfile.m4: New file.
33571         * MODULES.html.sh (func_all_modules): New section "Input/output".
33572
33573 2007-02-15  Bruno Haible  <bruno@clisp.org>
33574
33575         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
33576         (supports_delete_on_close): New function.
33577         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
33578
33579 2007-02-14  Bruno Haible  <bruno@clisp.org>
33580
33581         * modules/mbspcasecmp-tests: New file.
33582         * tests/test-mbspcasecmp.sh: New file.
33583         * tests/test-mbspcasecmp.c: New file.
33584
33585         New module mbspcasecmp.
33586         * modules/mbspcasecmp: New file.
33587         * lib/mbspcasecmp.c: New file.
33588         * lib/string_.h (strncasecmp): Change warning message.
33589         (mbspcasecmp): New declaration.
33590         * m4/mbspcasecmp.m4: New file.
33591         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
33592         GNULIB_MBSPCASECMP.
33593         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
33594         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
33595
33596 2007-02-14  Bruno Haible  <bruno@clisp.org>
33597
33598         * modules/mbsncasecmp-tests: New file.
33599         * tests/test-mbsncasecmp.sh: New file.
33600         * tests/test-mbsncasecmp.c: New file.
33601
33602         New module mbsncasecmp.
33603         * modules/mbsncasecmp: New file.
33604         * lib/mbsncasecmp.c: New file.
33605         * lib/string_.h (mbsncasecmp): New declaration.
33606         * m4/mbsncasecmp.m4: New file.
33607         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
33608         GNULIB_MBSNCASECMP.
33609         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
33610         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
33611
33612 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
33613
33614         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
33615         Verify that it doesn't overlap with our flags.
33616         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
33617         do not have the desired effect in multibyte locales; instead, use
33618         mbscasecmp.
33619         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
33620         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
33621         we don't require GNU fnmatch ourselves (if our users require it, they
33622         should do so explicitly).
33623
33624         Fix regex code so it doesn't rely on strcasecmp.
33625         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
33626         Otherwise, include gnulib's langinfo.h.
33627         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
33628         undesirable behavior in non-C locales.  Instead, rely on localecharset.
33629         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
33630         * modules/regex (FILES): Remove m4/codeset.m4.
33631         (Depends-on): Add localcharset.  Remove strcase.
33632
33633 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33634
33635         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
33636         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
33637
33638 2007-02-13  Bruno Haible  <bruno@clisp.org>
33639
33640         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
33641         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33642
33643 2007-02-12  Bruno Haible  <bruno@clisp.org>
33644
33645         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
33646         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
33647         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
33648         time warning rather than a link error.
33649
33650 2007-02-12  Bruno Haible  <bruno@clisp.org>
33651
33652         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
33653         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
33654         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33655
33656 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
33657
33658         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
33659         args, not 2.
33660
33661 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
33662
33663         New module 'time', so that apps can include <time.h> as per
33664         POSIX and GNU instead of separate include files like time_r.h
33665         and timegm.h.  This implementation tries out a simpler approach
33666         for replacing decls in standard include files (as compared to
33667         the string module), somewhat as an experiment.
33668
33669         * config/srclist.txt: Comment out mktime.c for now.
33670         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
33671         since it doesn't apply any more.  Use generic wording instead.
33672         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
33673         'time'.
33674         * lib/time_.h, m4/time_h.m4, modules/time: New files.
33675         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
33676         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
33677         Don't include <sys/types.h>; no longer needed since we assume C89.
33678         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
33679         * lib/strftime.c: Likewise.
33680         * lib/time_r.c: Likewise.
33681         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
33682         * lib/nanosleep.c: Include <time.h> first, to check interface.
33683         * lib/strptime.c: Likewise.
33684         * lib/time_r.c: Likewise.
33685         * lib/timegm.c: Likewise.
33686         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
33687         needed.
33688         * lib/timegm.c: Don't include timegm.h; no longer needed.
33689         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
33690         time.h now handles any problems in that area.
33691         (struct timespec, nanosleep): Remove; time.h now arranges for these.
33692         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
33693         that time.h defines struct timespec.
33694         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
33695         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
33696         handles that.
33697         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
33698         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
33699         needed.  Set REPLACE_LOCALTIME.
33700         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
33701         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
33702         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
33703         nanosleep; time_h.m4 now does that.  Don't require
33704         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
33705         module handles this now.
33706         * modules/getdate (Depends-on): Remove timespec.  Add time.
33707         * modules/nanosleep (Depends-on): Likewise.
33708         * modules/stat-time (Depends-on): Likewise.
33709         * modules/nanosleep (Include): Include time.h, not timespec.h.
33710         * modules/strptime (Files): Remove lib/strptime.h.
33711         (Depends-on): Add extensions, time.
33712         (Include): Include time.h, not strptime.h.
33713         * modules/time_r (Files): Remove lib/time_r.h.
33714         (Depends-on): Add time.
33715         (Include): Include time.h, not time_r.h.
33716         * modules/timegm: Likewise.
33717         * modules/timespec (Description): Now does timespec-related decls
33718         of our own, instead of struct timespec itself.
33719         (Depends-on): Add time; remove extensions.
33720         (Maintainer): Add self.
33721         * modules/utimecmp (Depends-on): Add time; remove timespec.
33722         * modules/utimens (Depends-on): Likewise.
33723         * modules/xnanosleep (Depends-on): Likewise.
33724
33725 2007-02-11  Bruno Haible  <bruno@clisp.org>
33726
33727         * lib/c-strstr.c: Include allocsa.h.
33728         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
33729         * lib/c-strcasestr.c: Include allocsa.h.
33730         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
33731         * lib/strcasestr.c: Include allocsa.h.
33732         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
33733         * lib/mbsstr.c: Include allocsa.h.
33734         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
33735         allocsa/freesa instead of malloc/free.
33736         * lib/mbscasestr.c: Include allocsa.h.
33737         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
33738         allocsa/freesa instead of malloc/free.
33739         * modules/c-strstr (Depends-on): Add allocsa.
33740         * modules/c-strcasestr (Depends-on): Likewise.
33741         * modules/strcasestr (Depends-on): Likewise.
33742         * modules/mbsstr (Depends-on): Likewise.
33743         * modules/mbscasestr (Depends-on): Likewise.
33744
33745 2007-02-11  Bruno Haible  <bruno@clisp.org>
33746
33747         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
33748
33749         * modules/mbsspn-tests: New file.
33750         * tests/test-mbsspn.sh: New file.
33751         * tests/test-mbsspn.c: New file.
33752
33753 2007-02-11  Bruno Haible  <bruno@clisp.org>
33754
33755         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
33756
33757         * modules/mbspbrk-tests: New file.
33758         * tests/test-mbspbrk.sh: New file.
33759         * tests/test-mbspbrk.c: New file.
33760
33761 2007-02-11  Bruno Haible  <bruno@clisp.org>
33762
33763         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
33764         unneeded cast.
33765
33766         * modules/mbscspn-tests: New file.
33767         * tests/test-mbscspn.sh: New file.
33768         * tests/test-mbscspn.c: New file.
33769
33770 2007-02-11  Bruno Haible  <bruno@clisp.org>
33771
33772         * modules/mbscasecmp-tests: New file.
33773         * tests/test-mbscasecmp.sh: New file.
33774         * tests/test-mbscasecmp.c: New file.
33775
33776 2007-02-11  Bruno Haible  <bruno@clisp.org>
33777
33778         Ensure O(n) worst-case complexity of mbscasestr.
33779         * lib/mbscasestr.c: Include stdbool.h.
33780         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
33781         functions.
33782         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
33783         the bookkeeping indicates that it's worth it.
33784         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
33785
33786         * modules/mbscasestr-tests: New file.
33787         * tests/test-mbscasestr1.c: New file.
33788         * tests/test-mbscasestr2.sh: New file.
33789         * tests/test-mbscasestr2.c: New file.
33790         * tests/test-mbscasestr3.sh: New file.
33791         * tests/test-mbscasestr3.c: New file.
33792         * tests/test-mbscasestr4.sh: New file.
33793         * tests/test-mbscasestr4.c: New file.
33794         * m4/locale-tr.m4: New file.
33795
33796 2007-02-11  Bruno Haible  <bruno@clisp.org>
33797
33798         Ensure O(n) worst-case complexity of mbsstr.
33799         * lib/mbsstr.c: Include stdbool.h.
33800         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
33801         functions.
33802         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
33803         bookkeeping indicates that it's worth it.
33804         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
33805
33806         * modules/mbsstr-tests: New file.
33807         * tests/test-mbsstr1.c: New file.
33808         * tests/test-mbsstr2.sh: New file.
33809         * tests/test-mbsstr2.c: New file.
33810         * tests/test-mbsstr3.sh: New file.
33811         * tests/test-mbsstr3.c: New file.
33812         * m4/locale-fr.m4: New file.
33813
33814 2007-02-11  Bruno Haible  <bruno@clisp.org>
33815
33816         * lib/mbsrchr.c (mbsrchr): Fix bug.
33817
33818         * modules/mbsrchr-tests: New file.
33819         * tests/test-mbsrchr.sh: New file.
33820         * tests/test-mbsrchr.c: New file.
33821
33822 2007-02-11  Bruno Haible  <bruno@clisp.org>
33823
33824         * lib/mbschr.c (mbschr): Fix bug.
33825
33826         * modules/mbschr-tests: New file.
33827         * tests/test-mbschr.sh: New file.
33828         * tests/test-mbschr.c: New file.
33829         * m4/locale-zh.m4: New file.
33830
33831 2007-02-11  Bruno Haible  <bruno@clisp.org>
33832
33833         Support for copying multibyte string iterators.
33834         * lib/mbiter.h: Include <string.h>.
33835         (mbiter_multi_copy): New function.
33836         (mbi_copy): New macro.
33837         * lib/mbuiter.h: Include <string.h>.
33838         (mbuiter_multi_copy): New function.
33839         (mbui_copy): New macro.
33840
33841 2007-02-11  Bruno Haible  <bruno@clisp.org>
33842
33843         New module mbslen.
33844         * modules/mbslen: New file.
33845         * lib/mbslen.c: New file.
33846         * lib/string_.h (mbslen): New declaration.
33847         * m4/mbslen.m4: New file.
33848         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
33849         GNULIB_MBSLEN.
33850         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
33851         * MODULES.html.sh (Internationalization functions): Add mbslen.
33852
33853 2007-02-11  Bruno Haible  <bruno@clisp.org>
33854
33855         Ensure O(n) worst-case complexity of strcasestr substitute.
33856         * lib/strcasestr.c: Include stdbool.h.
33857         (knuth_morris_pratt): New function.
33858         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
33859         bookkeeping indicates that it's worth it.
33860         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
33861
33862         * modules/strcasestr-tests: New file.
33863         * tests/test-strcasestr.c: New file.
33864
33865 2007-02-11  Bruno Haible  <bruno@clisp.org>
33866
33867         Ensure O(n) worst-case complexity of c_strcasestr.
33868         * lib/c-strcasestr.c: Include stdbool.h, string.h.
33869         (knuth_morris_pratt): New function.
33870         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
33871         the bookkeeping indicates that it's worth it.
33872         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
33873
33874         * modules/c-strcasestr-tests: New file.
33875         * tests/test-c-strcasestr.c: New file.
33876
33877 2007-02-11  Bruno Haible  <bruno@clisp.org>
33878
33879         Ensure O(n) worst-case complexity of c_strstr.
33880         * lib/c-strstr.c: Include stdbool.h, string.h.
33881         (knuth_morris_pratt): New function.
33882         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
33883         bookkeeping indicates that it's worth it.
33884         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
33885
33886         * lib/c-strstr.c: Complete rewrite for maintainability.
33887
33888         * modules/c-strstr-tests: New file.
33889         * tests/test-c-strstr.c: New file.
33890
33891 2007-02-11  Bruno Haible  <bruno@clisp.org>
33892
33893         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
33894         5.2.1 and earlier, whereby \055 was treated just like the range
33895         delimiter '-'.
33896         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
33897
33898 2007-02-08  Bruno Haible  <bruno@clisp.org>
33899
33900         * modules/regex (Depends-on): Add stdbool.
33901         Reported by Dalibor Topic <robilad@kaffe.org>.
33902
33903 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
33904
33905         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
33906         Prefer returning from main to exiting from it.
33907         Remove unnecessary parens after sizeof.
33908
33909 2007-02-05  Bruno Haible  <bruno@clisp.org>
33910
33911         New module mbssep.
33912         * modules/mbssep: New file.
33913         * lib/mbssep.c: New file.
33914         * lib/string_.h (strsep): Add a conditional link warning.
33915         (mbssep): New declaration.
33916         * m4/mbssep.m4: New file.
33917         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
33918         GNULIB_MBSSEP.
33919         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
33920         * MODULES.html.sh (Internationalization functions): Add mbssep.
33921
33922 2007-02-05  Bruno Haible  <bruno@clisp.org>
33923
33924         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
33925         Optimize search in case of 1 delimiter.
33926
33927 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
33928
33929         * lib/acl.h: Include sys/types.h before sys/acl.h.
33930
33931 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
33932
33933         Merge upstream fix for glibc bugzilla #3957:
33934
33935         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
33936
33937         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
33938         bit for RE_HAT_LISTS_NOT_NEWLINE.
33939         (build_charclass_op): Remove bogus comment.
33940
33941 2007-02-05  Simon Josefsson  <simon@josefsson.org>
33942
33943         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
33944
33945 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
33946
33947         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
33948         * lib/memmem.c [!defined _LIBC]: Include config.h.
33949
33950 2007-02-04  Bruno Haible  <bruno@clisp.org>
33951
33952         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
33953         warning message.
33954
33955 2007-02-04  Bruno Haible  <bruno@clisp.org>
33956
33957         New module mbstok_r.
33958         * modules/mbstok_r: New file.
33959         * lib/mbstok_r.c: New file.
33960         * lib/string_.h (strtok_r): Change argument names to match the
33961         comments. Add a conditional link warning.
33962         (mbstok_r): New declaration.
33963         * m4/mbstok_r.m4: New file.
33964         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
33965         GNULIB_MBSTOK_R.
33966         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
33967         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
33968
33969 2007-02-04  Bruno Haible  <bruno@clisp.org>
33970
33971         New module mbsspn.
33972         * modules/mbsspn: New file.
33973         * lib/mbsspn.c: New file.
33974         * lib/string_.h (strspn): Add a conditional link warning.
33975         (mbsspn): New declaration.
33976         * m4/mbsspn.m4: New file.
33977         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
33978         GNULIB_MBSSPN.
33979         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
33980         * MODULES.html.sh (Internationalization functions): Add mbsspn.
33981
33982 2007-02-04  Bruno Haible  <bruno@clisp.org>
33983
33984         New module mbspbrk.
33985         * modules/mbspbrk: New file.
33986         * lib/mbspbrk.c: New file.
33987         * lib/string_.h (strpbrk): Add a conditional link warning.
33988         (mbspbrk): New declaration.
33989         * m4/mbspbrk.m4: New file.
33990         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
33991         GNULIB_MBSPBRK.
33992         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
33993         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
33994
33995 2007-02-04  Bruno Haible  <bruno@clisp.org>
33996
33997         New module mbscspn.
33998         * modules/mbscspn: New file.
33999         * lib/mbscspn.c: New file.
34000         * lib/string_.h (strcspn): Add a conditional link warning.
34001         (mbscspn): New declaration.
34002         * m4/mbscspn.m4: New file.
34003         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
34004         GNULIB_MBSCSPN.
34005         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
34006         * MODULES.html.sh (Internationalization functions): Add mbscspn.
34007
34008 2007-02-04  Bruno Haible  <bruno@clisp.org>
34009
34010         New module mbscasestr, reduced goal of strcasestr.
34011         * modules/mbscasestr: New file.
34012         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
34013         (mbscasestr): Renamed from strcasestr.
34014         * lib/strcasestr.c: Don't include mbuiter.h.
34015         (strcasestr): Remove support for multibyte locales.
34016         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
34017         Change the conditional link warning.
34018         (mbscasestr): New declaration.
34019         * m4/mbscasestr.m4: New file.
34020         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
34021         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
34022         REPLACE_STRCASESTR.
34023         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
34024         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
34025         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
34026         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
34027         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
34028         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
34029         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
34030         (Depends-on): Remove mbuiter.
34031         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
34032
34033 2007-02-04  Bruno Haible  <bruno@clisp.org>
34034
34035         Simplify handling of strncasecmp.
34036         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
34037         the conditional link warning.
34038         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
34039         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
34040         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
34041         * modules/strcase (configure.ac): Don't invoke
34042         gl_STRING_MODULE_INDICATOR.
34043         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
34044
34045 2007-02-04  Bruno Haible  <bruno@clisp.org>
34046
34047         New module mbscasecmp, reduced goal of strcasecmp.
34048         * modules/mbscasecmp: New file.
34049         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
34050         (mbscasecmp): Renamed from strcasecmp.
34051         * lib/strcasecmp.c: Don't include mbuiter.h.
34052         (strcasecmp): Remove support for multibyte locales.
34053         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
34054         Change the conditional link warning.
34055         (mbscasecmp): New declaration.
34056         * m4/mbscasecmp.m4: New file.
34057         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
34058         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
34059         REPLACE_STRCASECMP.
34060         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
34061         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
34062         GNULIB_MBSCASECMP.
34063         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
34064         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
34065         * modules/strcase (Files): Remove m4/mbrtowc.m4.
34066         (Depends-on): Remove mbuiter.
34067         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
34068
34069 2007-02-04  Bruno Haible  <bruno@clisp.org>
34070
34071         New module mbsstr. Remove module strstr.
34072         * modules/mbsstr: New file.
34073         * modules/strstr: Remove file.
34074         * lib/mbsstr.c: Renamed from lib/strstr.c.
34075         (mbsstr): Renamed from strstr.
34076         * lib/string_.h (strstr): Remove declaration. Change the conditional
34077         link warning.
34078         (mbsstr): New declaration.
34079         * m4/mbsstr.m4: New file.
34080         * m4/strstr.m4: Remove file.
34081         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
34082         REPLACE_STRSTR.
34083         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
34084         Don't initialize GNULIB_STRSTR.
34085         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
34086         substitute GNULIB_STRSTR and REPLACE_STRSTR.
34087         * MODULES.html.sh (Internationalization functions): Add mbsstr.
34088         (Support for systems lacking ANSI C 89): Remove strstr.
34089
34090 2007-02-04  Bruno Haible  <bruno@clisp.org>
34091
34092         New module mbsrchr.
34093         * modules/mbsrchr: New file.
34094         * lib/mbsrchr.c: New file.
34095         * lib/string_.h (strrchr): Add a conditional link warning.
34096         (mbsrchr): New declaration.
34097         * m4/mbsrchr.m4: New file.
34098         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
34099         GNULIB_MBSRCHR.
34100         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
34101         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
34102
34103 2007-02-04  Bruno Haible  <bruno@clisp.org>
34104
34105         New module mbschr.
34106         * modules/mbschr: New file.
34107         * lib/mbschr.c: New file.
34108         * lib/string_.h (strchr): Add a conditional link warning.
34109         (mbschr): New declaration.
34110         * m4/mbschr.m4: New file.
34111         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
34112         GNULIB_MBSCHR.
34113         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
34114         * MODULES.html.sh (Internationalization functions): Add mbschr.
34115
34116 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
34117
34118         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
34119
34120         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
34121
34122 2007-02-04  Bruno Haible  <bruno@clisp.org>
34123
34124         New module description section 'configure.ac-early'.
34125         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
34126         (func_get_autoconf_early_snippet): New function.
34127         (func_import, func_create_testdir): Use it. Remove special cases for
34128         modules 'extensions' and 'lock'.
34129         * modules/extensions (configure.ac-early): Require
34130         gl_USE_SYSTEM_EXTENSIONS.
34131         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
34132
34133 2007-02-04  Bruno Haible  <bruno@clisp.org>
34134
34135         Make use of gcj-4.3's -fsource and -ftarget option.
34136         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
34137         and if so try the options -fsource and -ftarget.
34138         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
34139         source_version, ftarget_option, target_version arguments.
34140         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
34141         (is_envjavac_oldgcj_14_14_usable): Renamed from
34142         is_envjavac_gcj_14_14_usable.
34143         (is_envjavac_oldgcj_14_13_usable): Renamed from
34144         is_envjavac_gcj_14_13_usable.
34145         (is_gcj_present): Update.
34146         (is_gcj_43, is_gcj43_usable): New functions.
34147         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
34148         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
34149         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
34150         try the options -fsource and -ftarget.
34151
34152 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
34153
34154         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
34155         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
34156         larger value.
34157
34158 2007-02-03  Jim Meyering  <jim@meyering.net>
34159
34160         Give tools a better chance to allocate space for very large buffers.
34161         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
34162
34163         Make pwd and readlink work also when run with an unreadable parent dir
34164         on systems with openat support.
34165         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
34166         provided getcwd function, even when we have openat support.
34167         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
34168
34169 2007-02-02  Bruno Haible  <bruno@clisp.org>
34170
34171         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
34172         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
34173         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
34174         portability problems if one of these functions is only used on specific
34175         platforms.
34176         Reported by Paul Eggert.
34177
34178 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
34179
34180         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
34181         is causing more trouble than it's curing.
34182         * lib/regex_internal.h (__mempcpy): Remove.
34183         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
34184         (and make the code a tad smaller to boot).
34185         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
34186
34187 2007-02-02  Jim Meyering  <jim@meyering.net>
34188
34189         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
34190         section, not in the Makefile.am: one.
34191
34192 2007-02-02  Eric Blake  <ebb9@byu.net>
34193
34194         * lib/strchrnul.c: Always include config.h first.
34195
34196         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
34197         gnulib strstr is not necessary here.
34198
34199 2007-02-02  Simon Josefsson  <simon@josefsson.org>
34200
34201         * m4/socklen.m4: Fix typo.
34202
34203 2007-02-02  Eric Blake  <ebb9@byu.net>
34204
34205         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
34206         * modules/netinet_in (Makefile.am): Likewise.
34207
34208 2007-02-01  Bruno Haible  <bruno@clisp.org>
34209
34210         * lib/string_.h (GL_LINK_WARNING): New macro.
34211         (strcasecmp, strstr, strcasestr): If provided by the system,
34212         conditionally define as a macro that leads to a warning instead of to
34213         an error.
34214         (strncasecmp): Conditionally define as a macro that leads to a warning.
34215
34216 2007-02-01  Karl Berry  <karl@gnu.org>
34217
34218         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
34219
34220 2007-02-01  Bruno Haible  <bruno@clisp.org>
34221
34222         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
34223         renamings.
34224
34225 2007-02-01  Eric Blake  <ebb9@byu.net>
34226
34227         * modules/regex (Depends-on): Revert dependence on mempcpy.
34228         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
34229         module's definition of mempcpy.
34230         Reported by Paul Eggert.
34231
34232 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
34233
34234         * lib/string_.h: If the gnulib module XYZ is not present, undefine
34235         the symbol XYZ before redefining it.  This fixes a problem with
34236         programs that don't use XYZ, when compiled on systems that define
34237         XYZ to something else.
34238
34239 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
34240
34241         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
34242         occurs when "mkdir -m foo" creates a setgid directory that is (1)
34243         writeable to group or other and (2) is intended to have a special
34244         mode bit that is set or cleared.  In such a case, the directory
34245         should be neither group- nor other-writeable until the special
34246         mode bits are right.
34247
34248 2007-01-31  Eric Blake  <ebb9@byu.net>
34249
34250         * modules/mountlist (Depends-on): Add strstr.
34251
34252         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
34253         bug.
34254         * modules/string (Makefile.am): Remove redundant replacement.
34255         * modules/regex (Depends-on): Add mempcpy.
34256
34257 2007-01-31  Bruno Haible  <bruno@clisp.org>
34258
34259         New module description field 'Link'.
34260         * gnulib-tool (func_usage): Document --extract-link-directive.
34261         (sed_extract_prog): Recognize 'Link' directive.
34262         (func_get_link_directive): New function.
34263         (func_import): Show summary of link directives.
34264         Handle --extract-link-directive option.
34265         * modules/acl (Link): New section.
34266         * modules/clock-time (Link): New section.
34267         * modules/euidaccess (Link): New section.
34268         * modules/gettext (Link): New section.
34269         * modules/iconv (Link): New section.
34270         * modules/lock (Link): New section.
34271         * modules/nanosleep (Link): New section.
34272         * modules/readline (Link): New section.
34273
34274 2007-01-27  Bruno Haible  <bruno@clisp.org>
34275
34276         Enforce the use of gnulib modules for unportable <string.h> functions.
34277         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
34278         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
34279         (gl_HEADER_STRING_H_BODY): Require it.
34280         * lib/string_.h: If the gnulib module XYZ is not present, redefine
34281         the symbol XYZ to one that gives a link error.
34282         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
34283         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
34284         * modules/mempcpy (configure.ac): Likewise.
34285         * modules/memrchr (configure.ac): Likewise.
34286         * modules/stpcpy (configure.ac): Likewise.
34287         * modules/stpncpy (configure.ac): Likewise.
34288         * modules/strcase (configure.ac): Likewise.
34289         * modules/strcasestr (configure.ac): Likewise.
34290         * modules/strchrnul (configure.ac): Likewise.
34291         * modules/strdup (configure.ac): Likewise.
34292         * modules/strndup (configure.ac): Likewise.
34293         * modules/strnlen (configure.ac): Likewise.
34294         * modules/strpbrk (configure.ac): Likewise.
34295         * modules/strsep (configure.ac): Likewise.
34296         * modules/strstr (configure.ac): Likewise.
34297         * modules/strtok_r (configure.ac): Likewise.
34298
34299 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
34300
34301         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
34302
34303 2007-01-30  Jim Meyering  <jim@meyering.net>
34304
34305         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
34306
34307 2007-01-29  Bruno Haible  <bruno@clisp.org>
34308
34309         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
34310         * lib/execute.c: Likewise.
34311         * lib/pipe.c: Likewise.
34312         * lib/printf-args.h: Likewise.
34313         * lib/printf-args.c: Likewise.
34314         * lib/printf-parse.c: Likewise.
34315         * lib/vasnprintf.c: Likewise.
34316
34317 2007-01-29  Eric Blake  <ebb9@byu.net>
34318
34319         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
34320         declaration.
34321
34322 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
34323
34324         * lib/strptime.h (strptime): Use 'restrict' for args where
34325         POSIX requires this.
34326         * lib/strptime.c (strptime): Likewise.
34327         Change license notice from LGPL to GPL, since gnulib-tool will
34328         change this as needed.
34329         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
34330         defined.
34331         Include "strptime.h" first, to check interface.
34332         Do not #undef _LIBC and _NL_CURRENT.
34333         Do not include <stdlib.h>; no longer needed.
34334         Include "time_r.h" and declare ptime_locale_status
34335         only if _LIBC is not defined.
34336         (__P): Remove unused macro.
34337         (match_string): Bring back glibc version, but use it only if _LIBC
34338         is defined.
34339         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
34340         Remove unnecessary assertion and abort() call.
34341         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
34342         * m4/strptime.m4: Fix serial number comment.
34343         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
34344         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
34345         (Depends-on): Add time_r.
34346
34347 2007-01-29  Bruno Haible  <bruno@clisp.org>
34348
34349         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
34350         strptime.
34351         * modules/strptime (Depends-on): Add stdbool.
34352         * lib/strptime.h: Include <time.h> always. Add comments.
34353
34354 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
34355
34356         * modules/strptime: New file.
34357         * lib/strptime.h: New file.
34358         * lib/strptime.c: New file.
34359         * m4/strptime.m4: New file.
34360
34361 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
34362
34363         * MODULES.html.sh: New module mpsort.
34364         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
34365
34366         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
34367         a circularity problem with HP-UX ia64 reported by Bob Proulx in
34368         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
34369         All uses changed.
34370         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
34371         All uses changed.
34372         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
34373         to _Restrict_.
34374         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
34375         the parameter matches the prototype.
34376
34377 2007-01-28  Jim Meyering  <jim@meyering.net>
34378
34379         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
34380         sys/time.h here, reverting that part of the previous patch:
34381         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
34382
34383 2007-01-28  Bruno Haible  <bruno@clisp.org>
34384
34385         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
34386         value of $(SYS_TIME_H).
34387         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
34388         remove it conditionally, too. [added by Jim Meyering]
34389         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
34390         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
34391         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
34392         GETTIMEOFDAY_REPLACEMENT to 1.
34393
34394 2007-01-28  Bruno Haible  <bruno@clisp.org>
34395
34396         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
34397         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
34398         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
34399         Set UNISTD_H instead of UNISTD_H2.
34400         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
34401
34402 2007-01-28  Bruno Haible  <bruno@clisp.org>
34403
34404         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
34405         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
34406
34407 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34408
34409         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
34410         (func_create_testdir): Ensure C locale for `grep' and `tr'
34411         character ranges.
34412         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
34413         ACLOCAL_AMFLAGS parsing state machine.
34414
34415 2007-01-27  Bruno Haible  <bruno@clisp.org>
34416
34417         * modules/unistr/base: Update.
34418
34419 2007-01-27  Bruno Haible  <bruno@clisp.org>
34420
34421         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
34422         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
34423         * modules/unistr/u32-mbtouc-unsafe: Renamed from
34424         modules/unistr/u32-mbtouc.
34425         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
34426         * lib/unistr.h: Update.
34427         * lib/linebreak.c: Update.
34428         * modules/unistr/u32-mbtouc: Renamed from
34429         modules/unistr/u32-mbtouc-safe.
34430         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
34431         * lib/unistr.h: Update.
34432         * lib/unistr/u32-to-u8.c: Update.
34433         * lib/unistr/u32-to-u16.c: Update.
34434
34435 2007-01-27  Bruno Haible  <bruno@clisp.org>
34436
34437         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
34438         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
34439         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
34440         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
34441         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
34442         * modules/unistr/u16-mbtouc-unsafe: Renamed from
34443         modules/unistr/u16-mbtouc.
34444         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
34445         * lib/unistr.h: Update.
34446         * lib/linebreak.c: Update.
34447         * modules/linebreak: Update.
34448         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
34449         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
34450         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
34451         * modules/unistr/u16-mbtouc: Renamed from
34452         modules/unistr/u16-mbtouc-safe.
34453         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
34454         * lib/unistr.h: Update.
34455         * lib/unistr/u16-to-u8.c: Update.
34456         * modules/unistr/u16-to-u8: Update.
34457         * lib/unistr/u16-to-u32.c: Update.
34458         * modules/unistr/u16-to-u32: Update.
34459
34460 2007-01-27  Bruno Haible  <bruno@clisp.org>
34461
34462         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
34463         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
34464         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
34465         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
34466         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
34467         * modules/unistr/u8-mbtouc-unsafe: Renamed from
34468         modules/unistr/u8-mbtouc.
34469         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
34470         * lib/unistr.h: Update.
34471         * lib/striconveh.c: Update.
34472         * modules/striconveh: Update.
34473         * lib/linebreak.c: Update.
34474         * modules/linebreak: Update.
34475         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
34476         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
34477         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
34478         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
34479         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
34480         * lib/unistr.h: Update.
34481         * lib/striconveh.c: Update.
34482         * modules/striconveh: Update.
34483         * lib/unistr/u8-to-u16.c: Update.
34484         * modules/unistr/u8-to-u16: Update.
34485         * lib/unistr/u8-to-u32.c: Update.
34486         * modules/unistr/u8-to-u32: Update.
34487
34488 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34489
34490         Sync from Libtool.
34491         * lib/argz.c: Do not include strings.h nor memory.h, include
34492         string.h unconditionally.  Patch by Simon Josefsson.
34493
34494 2007-01-27  Bruno Haible  <bruno@clisp.org>
34495
34496         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
34497         from gl_HEADER_STRING_H_BODY.
34498         (gl_HEADER_STRING_H_BODY): Require it.
34499         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
34500         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
34501         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
34502         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
34503         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
34504         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
34505         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
34506         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
34507         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
34508         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
34509         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
34510         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
34511         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
34512         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
34513         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
34514
34515 2007-01-27  Bruno Haible  <bruno@clisp.org>
34516
34517         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
34518         check_PROGRAMS into noinst_PROGRAMS.
34519         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
34520         check_PROGRAMS in this case.
34521         (func_import): Set for_test to false.
34522         (func_create_testdir): Set for_test to true.
34523
34524 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
34525             Bruno Haible  <bruno@clisp.org>
34526
34527         * modules/strcasestr (Files): Remove lib/strcasestr.h.
34528         (Depends-on): Add string.
34529         (Includes): Use <string.h> instead of strcasestr.h.
34530         * modules/string (Makefile.am): Also substitute the value of
34531         REPLACE_STRCASESTR.
34532         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
34533         assume strcasestr is declared in <string.h> not <strings.h>. Also
34534         set REPLACE_STRCASESTR.
34535         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
34536         REPLACE_STRCASESTR.
34537         * lib/strcasestr.h: Remove file.
34538         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
34539         * lib/string_.h (strcasestr): New declaration.
34540
34541 2007-01-27  Bruno Haible  <bruno@clisp.org>
34542
34543         * lib/string_.h: Use 'extern'.
34544
34545 2007-01-27  Jim Meyering  <jim@meyering.net>
34546
34547         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
34548         of set-but-not-used local, "q".
34549
34550         * lib/mempcpy.c: Include <config.h> before <string.h>.
34551         This fixes a compilation error on HP-UX, due to the system's
34552         "restrict"-using mempcpy prototype.
34553
34554 2007-01-26  Bruno Haible  <bruno@clisp.org>
34555
34556         Small optimization.
34557         * lib/javacomp.c: Include c-strstr.h.
34558          (is_envjavac_gcj): Use c_strstr instead of strstr.
34559         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
34560
34561 2007-01-26  Bruno Haible  <bruno@clisp.org>
34562
34563         * MODULES.html.sh (Unicode string functions): Add the new modules.
34564
34565         * modules/uniconv/u32-strconv-to-locale: New file.
34566         * lib/uniconv/u32-strconv-to-locale.c: New file.
34567
34568         * modules/uniconv/u16-strconv-to-locale: New file.
34569         * lib/uniconv/u16-strconv-to-locale.c: New file.
34570
34571         * modules/uniconv/u8-strconv-to-locale: New file.
34572         * lib/uniconv/u8-strconv-to-locale.c: New file.
34573
34574         * modules/uniconv/u32-strconv-from-locale: New file.
34575         * lib/uniconv/u32-strconv-from-locale.c: New file.
34576
34577         * modules/uniconv/u16-strconv-from-locale: New file.
34578         * lib/uniconv/u16-strconv-from-locale.c: New file.
34579
34580         * modules/uniconv/u8-strconv-from-locale: New file.
34581         * lib/uniconv/u8-strconv-from-locale.c: New file.
34582
34583         * modules/uniconv/u32-strconv-to-enc: New file.
34584         * lib/uniconv/u32-strconv-to-enc.c: New file.
34585         * modules/uniconv/u32-strconv-to-enc-tests: New file.
34586         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
34587
34588         * modules/uniconv/u16-strconv-to-enc: New file.
34589         * lib/uniconv/u16-strconv-to-enc.c: New file.
34590         * lib/uniconv/u-strconv-to-enc.h: New file.
34591         * modules/uniconv/u16-strconv-to-enc-tests: New file.
34592         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
34593
34594         * modules/uniconv/u8-strconv-to-enc: New file.
34595         * lib/uniconv/u8-strconv-to-enc.c: New file.
34596         * modules/uniconv/u8-strconv-to-enc-tests: New file.
34597         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
34598
34599         * modules/uniconv/u32-strconv-from-enc: New file.
34600         * lib/uniconv/u32-strconv-from-enc.c: New file.
34601         * modules/uniconv/u32-strconv-from-enc-tests: New file.
34602         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
34603
34604         * modules/uniconv/u16-strconv-from-enc: New file.
34605         * lib/uniconv/u16-strconv-from-enc.c: New file.
34606         * modules/uniconv/u16-strconv-from-enc-tests: New file.
34607         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
34608
34609         * modules/uniconv/u8-strconv-from-enc: New file.
34610         * lib/uniconv/u8-strconv-from-enc.c: New file.
34611         * lib/uniconv/u-strconv-from-enc.h: New file.
34612         * modules/uniconv/u8-strconv-from-enc-tests: New file.
34613         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
34614
34615         * modules/uniconv/u32-conv-from-enc: New file.
34616         * lib/uniconv/u32-conv-from-enc.c: New file.
34617         * modules/uniconv/u32-conv-from-enc-tests: New file.
34618         * tests/uniconv/test-u32-conv-from-enc.c: New file.
34619
34620         * modules/uniconv/u16-conv-from-enc: New file.
34621         * lib/uniconv/u16-conv-from-enc.c: New file.
34622         * lib/uniconv/u-conv-from-enc.h: New file.
34623         * modules/uniconv/u16-conv-from-enc-tests: New file.
34624         * tests/uniconv/test-u16-conv-from-enc.c: New file.
34625
34626         * modules/uniconv/u8-conv-from-enc: New file.
34627         * lib/uniconv/u8-conv-from-enc.c: New file.
34628         * modules/uniconv/u8-conv-from-enc-tests: New file.
34629         * tests/uniconv/test-u8-conv-from-enc.c: New file.
34630
34631         * modules/uniconv/base: New file.
34632         * lib/uniconv.h: New file.
34633
34634 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
34635
34636         * doc/gnulib-tool.texi (Initial import): Update to match current
34637         behavior with strdup module.
34638         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
34639         * lib/memmem.h: Remove; all uses removed.  This is now done
34640         by <string.h>.
34641         * lib/mempcpy.h: Likewise.
34642         * lib/memrchr.h: Likewise.
34643         * lib/stpcpy.h: Likewise.
34644         * lib/stpncpy.h: Likewise.
34645         * lib/strcase.h: Likewise.
34646         * lib/strchrnul.h: Likewise.
34647         * lib/strdup.h: Likewise.
34648         * lib/strndup.h: Likewise.
34649         * lib/strnlen.h: Likewise.
34650         * lib/strpbrk.h: Likewise.
34651         * lib/strsep.h: Likewise.
34652         * lib/strstr.h: Likewise.
34653         * lib/strtok_r.h: Likewise.
34654         * lib/string_.h: New file.
34655         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
34656         Rely on <string.h> instead.
34657         * lib/canon-host.c: Likewise.
34658         * lib/chdir-long.c: Likewise.
34659         * lib/concatpath.c: Likewise.
34660         * lib/exclude.c: Likewise.
34661         * lib/fchdir.c: Likewise.
34662         * lib/getaddrinfo.c: Likewise.
34663         * lib/getcwd.c: Likewise.
34664         * lib/getsubopt.c: Likewise.
34665         * lib/glob.c: Likewise.
34666         * lib/hard-locale.c: Likewise.
34667         * lib/iconvme.c: Likewise.
34668         * lib/javacomp.c: Likewise.
34669         * lib/mempcpy.c: Likewise.
34670         * lib/memrchr.c: Likewise.
34671         * lib/regex_internal.h: Likewise.
34672         * lib/stpncpy.c: Likewise.
34673         * lib/strcasecmp.c: Likewise.
34674         * lib/strchrnul.c: Likewise.
34675         * lib/strdup.c: Likewise.
34676         * lib/striconv.c: Likewise.
34677         * lib/striconveh.c: Likewise.
34678         * lib/striconveha.c: Likewise.
34679         * lib/strncasecmp.c: Likewise.
34680         * lib/strndup.c: Likewise.
34681         * lib/strnlen.c: Likewise.
34682         * lib/strsep.c: Likewise.
34683         * lib/strstr.c: Likewise.
34684         * lib/strtok_r.c: Likewise.
34685         * lib/userspec.c: Likewise.
34686         * lib/w32spawn.h: Likewise.
34687         * lib/xstrndup.c: Likewise.
34688         * lib/mountlist.c (strstr): Remove decl.
34689         * m4/string_h.m4: New file.
34690         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
34691         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
34692         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
34693         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
34694         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
34695         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
34696         Set REPLACE_STRCASECMP if necessary.
34697         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
34698         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
34699         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
34700         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
34701         HAVE_DECL_STRDUP if necessary.
34702         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
34703         since gl_FUNC_STRNDUP does that now.
34704         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
34705         Check for decl here...
34706         (gl_PREREQ_STRNLEN): ... not here.
34707         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
34708         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
34709         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
34710         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
34711         necessary.
34712         * modules/string: New file.
34713         * modules/memmem (Files): Remove special-purpose include file.
34714         (Depends-on): Add string.
34715         (Include): Include <string.h>, not the removed file.
34716         * modules/mempcpy: Likewise.
34717         * modules/memrchr: Likewise.
34718         * modules/stpcpy: Likewise.
34719         * modules/stpncpy: Likewise.
34720         * modules/strcase: Likewise.
34721         * modules/strchrnul: Likewise.
34722         * modules/strdup: Likewise.
34723         * modules/strndup: Likewise.
34724         * modules/strnlen: Likewise.
34725         * modules/strpbrk: Likewise.
34726         * modules/strsep: Likewise.
34727         * modules/strstr: Likewise.
34728         * modules/strtok_r: Likewise.
34729         * tests/test-dirname.c: Don't include "strdup.h", since
34730         <string.h> now suffices.
34731         * tests/test-memmem.c: Don't include "memmem.h", since
34732         <string.h> now suffices.
34733
34734 2007-01-25  Bruno Haible  <bruno@clisp.org>
34735
34736         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
34737         *resultp is 0.
34738
34739         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
34740         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
34741         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
34742         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
34743
34744         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
34745         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
34746         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
34747         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
34748         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
34749         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
34750
34751 2007-01-24  Bruno Haible  <bruno@clisp.org>
34752
34753         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
34754         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
34755         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
34756         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
34757         gl_FUNC_FTS_CORE.
34758         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
34759         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
34760         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
34761         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
34762         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
34763         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
34764         gl_FUNC_FCHOWNAT.
34765         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
34766         gl_FUNC_STRFTIME.
34767         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
34768         Reported by Ralf Wildenhues.
34769
34770 2007-01-24  Bruno Haible  <bruno@clisp.org>
34771
34772         Drop AC_REQUIRE calls that are redundant with the module dependencies.
34773         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
34774         gl_GETADDRINFO.
34775         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
34776         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
34777         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
34778
34779 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
34780
34781         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
34782         Don't use 'exit'; just return from 'main'.
34783         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
34784
34785         * lib/fnmatch_.h: Readjust white space and comments to match
34786         glibc, to avoid spurious diffs.
34787
34788 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
34789
34790         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
34791         2004-12-01 change by Jakub Jelinek, since this code won't compile
34792         if !LIBC.  Problem reported by Bob Proulx.
34793
34794 2007-01-23  Bruno Haible  <bruno@clisp.org>
34795
34796         * lib/striconveh.c: Include c-strcaseeq.h.
34797         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
34798         * modules/striconveh (Depends-on): Add c-strcaseeq.
34799
34800 2007-01-23  Bruno Haible  <bruno@clisp.org>
34801
34802         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
34803
34804         * modules/c-strcaseeq: New file.
34805         * lib/c-strcaseeq.h: New file.
34806
34807         * modules/streq: New file.
34808         * lib/streq.h: New file.
34809
34810 2007-01-23  Bruno Haible  <bruno@clisp.org>
34811
34812         * modules/striconveha-tests: New file.
34813         * tests/test-striconveha.c: New file.
34814
34815         * lib/striconveha.h: Include <stdbool.h>.
34816         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
34817         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
34818         (mem_iconveha_notranslit): Renamed from mem_iconveha.
34819         (mem_iconveha): New function.
34820         (str_iconveha_notranslit): Renamed from str_iconveha.
34821         (str_iconveha): New function.
34822         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
34823         c-strcase.
34824
34825 2007-01-23  Bruno Haible  <bruno@clisp.org>
34826
34827         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
34828         encodings without forgiving before trying any encoding with handler.
34829         (str_iconveha): Try all encodings without forgiving before trying any
34830         encoding with handler.
34831
34832 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
34833
34834         Import the following changes from libc.
34835
34836         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
34837
34838         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
34839
34840         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
34841
34842         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
34843         normal_bracket label.
34844
34845         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
34846
34847         [BZ #361]
34848         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
34849         to normal_bracket after fetching the next character.
34850
34851 2007-01-22  Bruno Haible  <bruno@clisp.org>
34852
34853         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
34854         argument.
34855         * lib/striconveh.c (iconv_carefully_1): New function.
34856         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
34857         argument.
34858         (str_cd_iconveh): Update.
34859         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
34860         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
34861         * tests/test-striconveh.c (MAGIC): New macro.
34862         (new_offsets): New function.
34863         (main): Test call with and without offsets.
34864
34865 2007-01-22  Bruno Haible  <bruno@clisp.org>
34866
34867         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
34868         * modules/sys_select (Makefile.am): Likewise.
34869         * modules/sys_socket (Makefile.am): Likewise.
34870         * modules/sys_time (Makefile.am): Likewise.
34871
34872 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
34873
34874         * modules/gettimeofday (License): Change from GPL to LGPL, since
34875         gettimeofday is a library function.
34876
34877 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34878
34879         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
34880
34881 2007-01-21  Bruno Haible  <bruno@clisp.org>
34882
34883         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
34884
34885 2007-01-21  Bruno Haible  <bruno@clisp.org>
34886
34887         * modules/striconveha: New file.
34888         * lib/striconveha.h: New file.
34889         * lib/striconveha.c: New file.
34890         * MODULES.html.sh (Internationalization functions): Add striconveha.
34891         * lib/striconv.c (str_iconv): Optimize the case of an empty input
34892         string.
34893         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
34894
34895 2007-01-21  Bruno Haible  <bruno@clisp.org>
34896
34897         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
34898         * lib/striconveh.c (str_iconveh): Likewise.
34899
34900 2007-01-21  Bruno Haible  <bruno@clisp.org>
34901
34902         * lib/striconveh.h (mem_iconveh): New declaration.
34903         * lib/striconveh.c (mem_iconveh): New function.
34904         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
34905
34906 2007-01-21  Bruno Haible  <bruno@clisp.org>
34907
34908         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
34909
34910         * lib/striconveh.h (mem_cd_iconveh): Change specification.
34911         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
34912         original result buffer.
34913         (str_cd_iconveh): Update.
34914         * tests/test-striconveh.c (main): Update.
34915
34916         * lib/striconv.h (mem_cd_iconv): Change specification.
34917         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
34918         result buffer.
34919         (str_cd_iconv): Update.
34920         * tests/test-striconv.c (main): Update.
34921
34922 2007-01-21  Bruno Haible  <bruno@clisp.org>
34923
34924         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
34925
34926 2007-01-20  Jim Meyering  <jim@meyering.net>
34927
34928         * lib/userspec.c (parse_with_separator): If a user or group string
34929         starts with "+", skip the corresponding name-to-ID look-up, since
34930         such a look-up must fail: user and group names may not include "+".
34931
34932 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
34933
34934         * lib/poll.c: Include sys/time.h and time.h unconditionally,
34935         since we now assume the sys_time module.
34936         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
34937         check for sys/time.h; no longer needed.
34938         * modules/poll (Depends-on): Depend on sys_time.
34939
34940 2007-01-18  Bruno Haible  <bruno@clisp.org>
34941
34942         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
34943         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
34944
34945         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
34946         gettimeofday.
34947
34948         * tests/test-gettimeofday.c: Include <time.h>.
34949         (dummy): Remove variable.
34950
34951         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
34952         gl_HEADER_SYS_TIME_H.
34953         (gl_HEADER_SYS_TIME_H): New macro.
34954
34955         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
34956         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
34957         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
34958         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
34959         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
34960         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
34961         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
34962         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
34963         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
34964         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
34965         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
34966
34967         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
34968         last change; it caused a compilation error when cross-compiling to
34969         Cygwin.
34970
34971 2007-01-18  Jim Meyering  <jim@meyering.net>
34972
34973         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
34974         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
34975         than the race-prone "test -d sys || mkdir sys".
34976         (configure.ac): Use AC_PROG_MKDIR_P.
34977         * modules/sys_select: Likewise.
34978         * modules/sys_socket: Likewise.
34979         * modules/sys_time: Likewise.
34980
34981 2007-01-18  Eric Blake  <ebb9@byu.net>
34982
34983         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
34984         replace gettimeofday.
34985         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
34986         name, to avoid infinite recursion.
34987
34988 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
34989
34990         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
34991         module sys_time.
34992         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
34993         assume timespec.h defines struct timeval.
34994         * lib/settime.c: Likewise.
34995         * lib/utimens.c: Likewise.
34996         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
34997         since we now assume the gettimeofday module.
34998         * lib/tempname.c (__gen_tempname): Likewise.
34999         * lib/gettimeofday.h: Remove.
35000         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
35001         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
35002         Include <time.h>, for 'time()'.
35003         (localtime_buffer_addr): Also use this workaround if
35004         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
35005         to simplify the uses.  All uses changed.
35006         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
35007         that #undef is inside {}, and 'const' follows type name consistently.
35008         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
35009         (gettimeofday): Do not use the maximum possible value for
35010         tv->tv_usec, since that might break usages other than ls.c.
35011         Instead, we'll leave ls.c alone.  This undoes today's patch
35012         by Bruno.  Add a compile-time warning for 1s-clock resolution;
35013         we've never observed the problem but might as well keep the
35014         canary.
35015         * lib/nanosleep.c: Include timespec.h first, for interface check.
35016         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
35017         now assume the sys_time module.
35018         * lib/tempname.c: Likewise.
35019         * lib/timespec.h: Likewise.
35020         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
35021         needed.
35022         * lib/strftime.c: Likewise.
35023         * lib/timespec.h: Likewise.
35024         * lib/posixtm.c: Include posixtm.h first, for interface check.
35025         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
35026         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
35027         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
35028         * lib/sys_time_.h: New file.
35029         * lib/timespec.h (struct timespec): Use long int, not long.
35030         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
35031         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
35032         Remove obsolescent call to AC_HEADER_TIME.
35033         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
35034         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
35035         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
35036         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
35037         Likewise.
35038         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
35039         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
35040         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
35041         into the sys_time module.  Check for gettimeofday just once.
35042         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
35043         for gettimeofday signature to just check the signature.  Merely
35044         compile it, since linking doesn't test signature.  Improve test for
35045         whether gettimeofday.o is actually needed.
35046         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
35047         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
35048         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
35049         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
35050         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
35051         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
35052         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
35053         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
35054         than worrying about sys/time.h.
35055         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
35056         Don't bother worrying about TIME_WITH_SYS_TIME.
35057         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
35058         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
35059         * m4/sys_time_h.m4: New file.
35060         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
35061         Don't include sys/time.h.  Return from main rather than exiting.
35062         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
35063         all uses changed.
35064         * modules/gethrxtime (Depends-on): Add sys_time.
35065         * modules/gettime (Depends-on): Likewise.
35066         * modules/gettimeofday (Depends-on): Likewise.
35067         * modules/nanosleep (Depends-on): Likewise.
35068         * modules/settime (Depends-on): Likewise.
35069         * modules/tempname (Depends-on): Likewise.
35070         * modules/utimens (Depends-on): Likewise.
35071         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
35072         (Include:) Change back to <sys/time.h>.
35073         (Maintainer:) Add self.
35074         * modules/sys_time: New file.
35075         * modules/tempname (Depends-on): Add gettimeofday.
35076         * tests/test-gettimeofday.c: Include <sys/time.h>
35077         rather than gettimeofday.h.
35078
35079 2007-01-17  Bruno Haible  <bruno@clisp.org>
35080
35081         * gnulib-tool (func_get_license): Revert last patch. Instead, let
35082         the license default to GPL.
35083         (func_create_testdir): Don't complain if a module is LGPL and its
35084         tests module depends on GPLed modules.
35085
35086 2007-01-17  Bruno Haible  <bruno@clisp.org>
35087
35088         * lib/gettimeofday.c (gettimeofday): Add code for the case
35089         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
35090         maximum possible value for tv->tv_usec, rather than the minimum one.
35091
35092 2005-10-08  Martin Lambers  <marlam@marlam.de>
35093 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
35094 2007-01-16  Bruno Haible  <bruno@clisp.org>
35095
35096         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
35097         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
35098         gl_FUNC_GETTIMEOFDAY.
35099         (Include): Add gettimeofday.h.
35100         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
35101         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
35102         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
35103         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
35104         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
35105         * lib/gettimeofday.h: New file.
35106         * lib/gettimeofday.c: Include <sys/timeb.h>.
35107         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
35108         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
35109         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
35110         fall back on time().
35111
35112         * tests/test-gettimeofday.c: New file.
35113         * modules/gettimeofday-tests: New file.
35114
35115 2007-01-16  Eric Blake  <ebb9@byu.net>
35116
35117         * modules/fnmatch (Depends-on): Depend on wchar.
35118         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
35119         * m4/fnmatch.m4: Likewise.
35120         * modules/mbchar (Makefile.am): Assume <wchar.h>.
35121         * m4/mbchar.m4: Likewise.
35122         * modules/mbswidth (Depends-on): Depend on wchar.
35123         * lib/mbswidth.c: Assume <wchar.h>.
35124         * m4/mbswidth.m4: Likewise.
35125         * modules/quotearg (Depends-on): Depend on wchar.
35126         * lib/quotearg.c: Assume <wchar.h>.
35127         * m4/quotearg.m4: Likewise.
35128         * modules/regex (Depends-on): Depend on wchar.
35129         * lib/regex_internal.h: Assume <wchar.h>.
35130         * m4/regex.m4: Likewise.
35131         * modules/stdint (Depends-on): Depend on wchar.
35132         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
35133         * m4/stdint.m4: Likewise.
35134         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
35135         * modules/strftime (Depends-on): Depend on wchar.
35136         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
35137         * modules/strtol (Depends-on): Depend on wchar.
35138         * lib/strtol.c: Assume <wchar.h>.
35139         * modules/wcwidth (Depends-on): Depend on wchar.
35140         * lib/wcwidth.h: Assume <wchar.h>.
35141         * m4/wcwidth.m4: Likewise.
35142
35143 2007-01-16  Bruno Haible  <bruno@clisp.org>
35144
35145         * modules/csharpexec-script: New, created from...
35146         * modules/csharpexec: ... this.
35147
35148 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
35149
35150         * modules/javaexec-script: New, created from...
35151         * modules/javaexec: ... this.
35152
35153 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35154
35155         * modules/poll (Dependencies): Add sys_select.
35156
35157 2007-01-15  Jim Meyering  <jim@meyering.net>
35158
35159         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
35160         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
35161         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
35162         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
35163
35164 2007-01-15  Bruno Haible  <bruno@clisp.org>
35165
35166         * modules/striconveh: New file.
35167         * lib/striconveh.h: New file.
35168         * lib/striconveh.c: New file.
35169         * MODULES.html.sh (Internationalization functions): Add striconveh.
35170
35171         * modules/striconveh-tests: New file.
35172         * tests/test-striconveh.c: New file.
35173
35174 2007-01-15  Bruno Haible  <bruno@clisp.org>
35175
35176         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
35177         not from GNU libiconv or GNU libc.
35178
35179 2007-01-15  Bruno Haible  <bruno@clisp.org>
35180
35181         * doc/gnulib-intro.texi (Copyright): Explain the different license
35182         terms for module descriptions, autoconf macros, tests, documentation.
35183
35184 2007-01-14  Bruno Haible  <bruno@clisp.org>
35185
35186         * modules/striconv-tests: New file.
35187         * tests/test-striconv.c: New file.
35188
35189 2007-01-14  Bruno Haible  <bruno@clisp.org>
35190
35191         * modules/iconv-tests: New file.
35192         * tests/test-iconv.c: New file.
35193
35194 2007-01-14  Bruno Haible  <bruno@clisp.org>
35195
35196         * gnulib-tool (func_get_license): For test modules, use the license of
35197         the main module.
35198
35199 2007-01-14  Bruno Haible  <bruno@clisp.org>
35200
35201         * modules/iconv (Include): Clarify that <iconv.h> can only be included
35202         if iconv is found to exist.
35203
35204 2007-01-14  Bruno Haible  <bruno@clisp.org>
35205
35206         * modules/c-ctype-tests: New file.
35207         * tests/test-c-ctype.c: New file.
35208
35209 2007-01-14  Bruno Haible  <bruno@clisp.org>
35210
35211         * modules/binary-io-tests: New file.
35212         * tests/test-binary-io.sh: New file.
35213         * tests/test-binary-io.c: New file.
35214
35215 2007-01-14  Bruno Haible  <bruno@clisp.org>
35216
35217         * modules/array-oset-tests: New file.
35218         * tests/test-array_oset.c: New file.
35219
35220 2007-01-14  Bruno Haible  <bruno@clisp.org>
35221
35222         * modules/array-list-tests: New file.
35223         * tests/test-array_list.c: New file.
35224
35225 2007-01-14  Bruno Haible  <bruno@clisp.org>
35226
35227         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
35228         and make.
35229         Reported by Simon Josefsson in
35230         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
35231
35232 2007-01-14  Bruno Haible  <bruno@clisp.org>
35233
35234         * modules/allocsa-tests: New file.
35235         * tests/test-allocsa.c: New file.
35236
35237 2007-01-14  Bruno Haible  <bruno@clisp.org>
35238
35239         * modules/fchdir (Depends-on): Add absolute-header.
35240         * modules/unistd (Depends-on): Likewise.
35241
35242 2006-12-30  Bruno Haible  <bruno@clisp.org>
35243
35244         * modules/fchdir: New file.
35245         * modules/unistd (Files): Add lib/unistd_.h.
35246         (Makefile.am): Generate unistd.h from unistd_.h.
35247         * lib/fchdir.c: New file.
35248         * lib/dirent_.h: New file.
35249         * lib/unistd_.h: New file.
35250         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
35251         * m4/fchdir.m4: New file.
35252         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
35253         (gl_HEADER_UNISTD): Invoke it.
35254         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
35255         function.
35256         * lib/backupfile.c (opendir, closedir): Undefine.
35257         * lib/chown.c (open, close): Undefine.
35258         * lib/clean-temp.c (open, close): Undefine.
35259         * lib/copy-file.c (open, close): Undefine.
35260         * lib/execute.c (open, close): Undefine.
35261         * lib/fsusage.c (open, close): Undefine.
35262         * lib/gc-gnulib.c (open, close): Undefine.
35263         * lib/getcwd.c (opendir, closedir): Undefine.
35264         * lib/glob.c (opendir, closedir): Undefine.
35265         * lib/javacomp.c (open, close): Undefine.
35266         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
35267         * lib/openat-proc.c (open, close): Undefine.
35268         * lib/pagealign_alloc.c (open, close): Undefine.
35269         * lib/pipe.c (open, close): Undefine.
35270         * lib/progreloc.c (open, close): Undefine.
35271         * lib/savedir.c (opendir, closedir): Undefine.
35272         * lib/utime.c (open, close): Undefine.
35273         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
35274
35275 2007-01-10  Bruno Haible  <bruno@clisp.org>
35276
35277         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
35278
35279 2007-01-12  Eric Blake  <ebb9@byu.net>
35280
35281         Provide a robust <wchar.h>.  Further simplifications are now
35282         possible in other modules, but not included here.
35283         * modules/wchar: New module.
35284         * m4/wchar.m4: New file.
35285         * lib/wchar_.h: Likewise.
35286         * modules/mbchar (Depends-on): Depend on wchar, as the first use
35287         of the new module.
35288         * MODULES.html.sh (Extended multibyte and wide character utilities):
35289         New section.
35290
35291 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
35292
35293         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
35294         to a reasonable default for memory allocation.
35295         (xreadlink): Don't allocate a huge buffer, to work around a buggy
35296         file system that reports garbage st_size values for symlinks.
35297         Problem reported by Liyang Hu.
35298
35299 2007-01-11  Simon Josefsson  <simon@josefsson.org>
35300
35301         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
35302         Emacs .#* auto-save files).
35303
35304 2007-01-11  Bruno Haible  <bruno@clisp.org>
35305
35306         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
35307         directory.
35308
35309 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
35310
35311         Use @...@ consistently in lib/wctype_.h.
35312         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
35313         on it being set to 1 or 0.
35314         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
35315         go back to AC_SUBSTing it.
35316         * modules/wctype (Makefile.am): Undo previous change.
35317
35318 2007-01-10  Eric Blake  <ebb9@byu.net>
35319
35320         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
35321         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
35322         * modules/wctype (Makefile.am): Likewise.
35323         Reported by Chris McGuire.
35324
35325 2007-01-10  Jim Meyering  <jim@meyering.net>
35326
35327         fts.c: a small readability/maintainability improvement
35328         * lib/fts.c (fts_read): Make this code slightly more readable and
35329         maintainable by hoisting the "sp->fts_cur = p" assignments to
35330         immediately follow the statements that set P.  Derived from
35331         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
35332
35333 2007-01-10  Eric Blake  <ebb9@byu.net>
35334
35335         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
35336         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
35337         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
35338         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
35339         Reported by Chris McGuire.
35340
35341 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35342
35343         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
35344         in sed script.
35345
35346 2007-01-09  Bruno Haible  <bruno@clisp.org>
35347
35348         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
35349         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
35350         variables.
35351         (func_module): Use them.
35352
35353 2007-01-09  Bruno Haible  <bruno@clisp.org>
35354
35355         * modules/unistr/base: New file.
35356         * lib/unistr.h: New file.
35357
35358         * modules/unistr/u8-to-u16: New file.
35359         * lib/unistr/u8-to-u16.c: New file.
35360
35361         * modules/unistr/u8-to-u32: New file.
35362         * lib/unistr/u8-to-u32.c: New file.
35363
35364         * modules/unistr/u16-to-u8: New file.
35365         * lib/unistr/u16-to-u8.c: New file.
35366
35367         * modules/unistr/u16-to-u32: New file.
35368         * lib/unistr/u16-to-u32.c: New file.
35369
35370         * modules/unistr/u32-to-u8: New file.
35371         * lib/unistr/u32-to-u8.c: New file.
35372
35373         * modules/unistr/u32-to-u16: New file.
35374         * lib/unistr/u32-to-u16.c: New file.
35375
35376         * modules/unistr/u8-check: New file.
35377         * modules/unistr/u16-check: New file.
35378         * modules/unistr/u32-check: New file.
35379         * lib/unistr/u8-check.c: New file.
35380         * lib/unistr/u16-check.c: New file.
35381         * lib/unistr/u32-check.c: New file.
35382
35383         * modules/unistr/u8-chr: New file.
35384         * modules/unistr/u16-chr: New file.
35385         * modules/unistr/u32-chr: New file.
35386         * lib/unistr/u8-chr.c: New file.
35387         * lib/unistr/u16-chr.c: New file.
35388         * lib/unistr/u32-chr.c: New file.
35389
35390         * modules/unistr/u8-cmp: New file.
35391         * modules/unistr/u16-cmp: New file.
35392         * modules/unistr/u32-cmp: New file.
35393         * lib/unistr/u8-cmp.c: New file.
35394         * lib/unistr/u16-cmp.c: New file.
35395         * lib/unistr/u32-cmp.c: New file.
35396
35397         * modules/unistr/u8-cpy: New file.
35398         * modules/unistr/u16-cpy: New file.
35399         * modules/unistr/u32-cpy: New file.
35400         * lib/unistr/u8-cpy.c: New file.
35401         * lib/unistr/u16-cpy.c: New file.
35402         * lib/unistr/u32-cpy.c: New file.
35403         * lib/unistr/u-cpy.h: New file.
35404
35405         * modules/unistr/u8-cpy-alloc: New file.
35406         * modules/unistr/u16-cpy-alloc: New file.
35407         * modules/unistr/u32-cpy-alloc: New file.
35408         * lib/unistr/u8-cpy-alloc.c: New file.
35409         * lib/unistr/u16-cpy-alloc.c: New file.
35410         * lib/unistr/u32-cpy-alloc.c: New file.
35411         * lib/unistr/u-cpy-alloc.h: New file.
35412
35413         * modules/unistr/u8-endswith: New file.
35414         * modules/unistr/u16-endswith: New file.
35415         * modules/unistr/u32-endswith: New file.
35416         * lib/unistr/u8-endswith.c: New file.
35417         * lib/unistr/u16-endswith.c: New file.
35418         * lib/unistr/u32-endswith.c: New file.
35419         * lib/unistr/u-endswith.h: New file.
35420
35421         * modules/unistr/u8-mblen: New file.
35422         * modules/unistr/u16-mblen: New file.
35423         * modules/unistr/u32-mblen: New file.
35424         * lib/unistr/u8-mblen.c: New file.
35425         * lib/unistr/u16-mblen.c: New file.
35426         * lib/unistr/u32-mblen.c: New file.
35427
35428         * modules/unistr/u8-mbtouc: New file.
35429         * modules/unistr/u16-mbtouc: New file.
35430         * modules/unistr/u32-mbtouc: New file.
35431         * lib/unistr/u8-mbtouc.c: New file.
35432         * lib/unistr/u16-mbtouc.c: New file.
35433         * lib/unistr/u32-mbtouc.c: New file.
35434
35435         * modules/unistr/u8-mbtouc-safe: New file.
35436         * modules/unistr/u16-mbtouc-safe: New file.
35437         * modules/unistr/u32-mbtouc-safe: New file.
35438         * lib/unistr/u8-mbtouc-safe.c: New file.
35439         * lib/unistr/u16-mbtouc-safe.c: New file.
35440         * lib/unistr/u32-mbtouc-safe.c: New file.
35441
35442         * modules/unistr/u8-move: New file.
35443         * modules/unistr/u16-move: New file.
35444         * modules/unistr/u32-move: New file.
35445         * lib/unistr/u8-move.c: New file.
35446         * lib/unistr/u16-move.c: New file.
35447         * lib/unistr/u32-move.c: New file.
35448         * lib/unistr/u-move.h: New file.
35449
35450         * modules/unistr/u8-next: New file.
35451         * modules/unistr/u16-next: New file.
35452         * modules/unistr/u32-next: New file.
35453         * lib/unistr/u8-next.c: New file.
35454         * lib/unistr/u16-next.c: New file.
35455         * lib/unistr/u32-next.c: New file.
35456
35457         * modules/unistr/u8-prev: New file.
35458         * modules/unistr/u16-prev: New file.
35459         * modules/unistr/u32-prev: New file.
35460         * lib/unistr/u8-prev.c: New file.
35461         * lib/unistr/u16-prev.c: New file.
35462         * lib/unistr/u32-prev.c: New file.
35463
35464         * modules/unistr/u8-set: New file.
35465         * modules/unistr/u16-set: New file.
35466         * modules/unistr/u32-set: New file.
35467         * lib/unistr/u8-set.c: New file.
35468         * lib/unistr/u16-set.c: New file.
35469         * lib/unistr/u32-set.c: New file.
35470         * lib/unistr/u-set.h: New file.
35471
35472         * modules/unistr/u8-startswith: New file.
35473         * modules/unistr/u16-startswith: New file.
35474         * modules/unistr/u32-startswith: New file.
35475         * lib/unistr/u8-startswith.c: New file.
35476         * lib/unistr/u16-startswith.c: New file.
35477         * lib/unistr/u32-startswith.c: New file.
35478         * lib/unistr/u-startswith.h: New file.
35479
35480         * modules/unistr/u8-stpcpy: New file.
35481         * modules/unistr/u16-stpcpy: New file.
35482         * modules/unistr/u32-stpcpy: New file.
35483         * lib/unistr/u8-stpcpy.c: New file.
35484         * lib/unistr/u16-stpcpy.c: New file.
35485         * lib/unistr/u32-stpcpy.c: New file.
35486         * lib/unistr/u-stpcpy.h: New file.
35487
35488         * modules/unistr/u8-stpncpy: New file.
35489         * modules/unistr/u16-stpncpy: New file.
35490         * modules/unistr/u32-stpncpy: New file.
35491         * lib/unistr/u8-stpncpy.c: New file.
35492         * lib/unistr/u16-stpncpy.c: New file.
35493         * lib/unistr/u32-stpncpy.c: New file.
35494         * lib/unistr/u-stpncpy.h: New file.
35495
35496         * modules/unistr/u8-strcat: New file.
35497         * modules/unistr/u16-strcat: New file.
35498         * modules/unistr/u32-strcat: New file.
35499         * lib/unistr/u8-strcat.c: New file.
35500         * lib/unistr/u16-strcat.c: New file.
35501         * lib/unistr/u32-strcat.c: New file.
35502         * lib/unistr/u-strcat.h: New file.
35503
35504         * modules/unistr/u8-strchr: New file.
35505         * modules/unistr/u16-strchr: New file.
35506         * modules/unistr/u32-strchr: New file.
35507         * lib/unistr/u8-strchr.c: New file.
35508         * lib/unistr/u16-strchr.c: New file.
35509         * lib/unistr/u32-strchr.c: New file.
35510
35511         * modules/unistr/u8-strcmp: New file.
35512         * modules/unistr/u16-strcmp: New file.
35513         * modules/unistr/u32-strcmp: New file.
35514         * lib/unistr/u8-strcmp.c: New file.
35515         * lib/unistr/u16-strcmp.c: New file.
35516         * lib/unistr/u32-strcmp.c: New file.
35517
35518         * modules/unistr/u8-strcpy: New file.
35519         * modules/unistr/u16-strcpy: New file.
35520         * modules/unistr/u32-strcpy: New file.
35521         * lib/unistr/u8-strcpy.c: New file.
35522         * lib/unistr/u16-strcpy.c: New file.
35523         * lib/unistr/u32-strcpy.c: New file.
35524         * lib/unistr/u-strcpy.h: New file.
35525
35526         * modules/unistr/u8-strcspn: New file.
35527         * modules/unistr/u16-strcspn: New file.
35528         * modules/unistr/u32-strcspn: New file.
35529         * lib/unistr/u8-strcspn.c: New file.
35530         * lib/unistr/u16-strcspn.c: New file.
35531         * lib/unistr/u32-strcspn.c: New file.
35532         * lib/unistr/u-strcspn.h: New file.
35533
35534         * modules/unistr/u8-strdup: New file.
35535         * modules/unistr/u16-strdup: New file.
35536         * modules/unistr/u32-strdup: New file.
35537         * lib/unistr/u8-strdup.c: New file.
35538         * lib/unistr/u16-strdup.c: New file.
35539         * lib/unistr/u32-strdup.c: New file.
35540         * lib/unistr/u-strdup.h: New file.
35541
35542         * modules/unistr/u8-strlen: New file.
35543         * modules/unistr/u16-strlen: New file.
35544         * modules/unistr/u32-strlen: New file.
35545         * lib/unistr/u8-strlen.c: New file.
35546         * lib/unistr/u16-strlen.c: New file.
35547         * lib/unistr/u32-strlen.c: New file.
35548         * lib/unistr/u-strlen.h: New file.
35549
35550         * modules/unistr/u8-strmblen: New file.
35551         * modules/unistr/u16-strmblen: New file.
35552         * modules/unistr/u32-strmblen: New file.
35553         * lib/unistr/u8-strmblen.c: New file.
35554         * lib/unistr/u16-strmblen.c: New file.
35555         * lib/unistr/u32-strmblen.c: New file.
35556
35557         * modules/unistr/u8-strmbtouc: New file.
35558         * modules/unistr/u16-strmbtouc: New file.
35559         * modules/unistr/u32-strmbtouc: New file.
35560         * lib/unistr/u8-strmbtouc.c: New file.
35561         * lib/unistr/u16-strmbtouc.c: New file.
35562         * lib/unistr/u32-strmbtouc.c: New file.
35563
35564         * modules/unistr/u8-strncat: New file.
35565         * modules/unistr/u16-strncat: New file.
35566         * modules/unistr/u32-strncat: New file.
35567         * lib/unistr/u8-strncat.c: New file.
35568         * lib/unistr/u16-strncat.c: New file.
35569         * lib/unistr/u32-strncat.c: New file.
35570         * lib/unistr/u-strncat.h: New file.
35571
35572         * modules/unistr/u8-strncmp: New file.
35573         * modules/unistr/u16-strncmp: New file.
35574         * modules/unistr/u32-strncmp: New file.
35575         * lib/unistr/u8-strncmp.c: New file.
35576         * lib/unistr/u16-strncmp.c: New file.
35577         * lib/unistr/u32-strncmp.c: New file.
35578
35579         * modules/unistr/u8-strncpy: New file.
35580         * modules/unistr/u16-strncpy: New file.
35581         * modules/unistr/u32-strncpy: New file.
35582         * lib/unistr/u8-strncpy.c: New file.
35583         * lib/unistr/u16-strncpy.c: New file.
35584         * lib/unistr/u32-strncpy.c: New file.
35585         * lib/unistr/u-strncpy.h: New file.
35586
35587         * modules/unistr/u8-strnlen: New file.
35588         * modules/unistr/u16-strnlen: New file.
35589         * modules/unistr/u32-strnlen: New file.
35590         * lib/unistr/u8-strnlen.c: New file.
35591         * lib/unistr/u16-strnlen.c: New file.
35592         * lib/unistr/u32-strnlen.c: New file.
35593         * lib/unistr/u-strnlen.h: New file.
35594
35595         * modules/unistr/u8-strpbrk: New file.
35596         * modules/unistr/u16-strpbrk: New file.
35597         * modules/unistr/u32-strpbrk: New file.
35598         * lib/unistr/u8-strpbrk.c: New file.
35599         * lib/unistr/u16-strpbrk.c: New file.
35600         * lib/unistr/u32-strpbrk.c: New file.
35601         * lib/unistr/u-strpbrk.h: New file.
35602
35603         * modules/unistr/u8-strrchr: New file.
35604         * modules/unistr/u16-strrchr: New file.
35605         * modules/unistr/u32-strrchr: New file.
35606         * lib/unistr/u8-strrchr.c: New file.
35607         * lib/unistr/u16-strrchr.c: New file.
35608         * lib/unistr/u32-strrchr.c: New file.
35609
35610         * modules/unistr/u8-strspn: New file.
35611         * modules/unistr/u16-strspn: New file.
35612         * modules/unistr/u32-strspn: New file.
35613         * lib/unistr/u8-strspn.c: New file.
35614         * lib/unistr/u16-strspn.c: New file.
35615         * lib/unistr/u32-strspn.c: New file.
35616         * lib/unistr/u-strspn.h: New file.
35617
35618         * modules/unistr/u8-strstr: New file.
35619         * modules/unistr/u16-strstr: New file.
35620         * modules/unistr/u32-strstr: New file.
35621         * lib/unistr/u8-strstr.c: New file.
35622         * lib/unistr/u16-strstr.c: New file.
35623         * lib/unistr/u32-strstr.c: New file.
35624         * lib/unistr/u-strstr.h: New file.
35625
35626         * modules/unistr/u8-strtok: New file.
35627         * modules/unistr/u16-strtok: New file.
35628         * modules/unistr/u32-strtok: New file.
35629         * lib/unistr/u8-strtok.c: New file.
35630         * lib/unistr/u16-strtok.c: New file.
35631         * lib/unistr/u32-strtok.c: New file.
35632         * lib/unistr/u-strtok.h: New file.
35633
35634         * modules/unistr/u8-uctomb: New file.
35635         * modules/unistr/u16-uctomb: New file.
35636         * modules/unistr/u32-uctomb: New file.
35637         * lib/unistr/u8-uctomb.c: New file.
35638         * lib/unistr/u16-uctomb.c: New file.
35639         * lib/unistr/u32-uctomb.c: New file.
35640
35641         * MODULES.html.sh (Unicode string functions): Add the new modules.
35642
35643 2007-01-08  Bruno Haible  <bruno@clisp.org>
35644
35645         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
35646         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
35647         subdirectories.
35648
35649 2007-01-08  Karl Berry  <karl@gnu.org>
35650
35651         * doc/error.texi: mention that main() fns must set program_name
35652         when progname is used.
35653
35654 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
35655
35656         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
35657         WCTYPE_H is empty, for the benefit of builds from non-distclean
35658         directories.  Problem reported by Eric Blake in
35659         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
35660
35661 2007-01-08  Bruno Haible  <bruno@clisp.org>
35662
35663         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
35664         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
35665         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
35666         PROVIDE_CANONICALIZE_FILENAME_MODE.
35667         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
35668
35669 2007-01-08  Bruno Haible  <bruno@clisp.org>
35670
35671         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
35672         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
35673         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
35674         * lib/fts.c: Likewise.
35675         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
35676
35677 2006-12-25  Bruno Haible  <bruno@clisp.org>
35678
35679         * modules/utf8-ucs4-safe: New file.
35680         * lib/utf8-ucs4-safe.h: New file.
35681         * lib/unistr/utf8-ucs4-safe.c: New file.
35682
35683         * modules/utf16-ucs4-safe: New file.
35684         * lib/utf16-ucs4-safe.h: New file.
35685         * lib/unistr/utf16-ucs4-safe.c: New file.
35686
35687         * MODULES.html.sh (Unicode string functions): Add the new modules.
35688
35689 2007-01-08  Bruno Haible  <bruno@clisp.org>
35690
35691         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
35692         (Depends-on): Add unitypes.
35693         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
35694         (u8_mbtouc_aux): Move out to separate file.
35695         (u8_mbtouc): Use ucs4_t, uint8_t types.
35696         * lib/unistr/utf8-ucs4.c: New file.
35697
35698         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
35699         (Depends-on): Add unitypes.
35700         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
35701         (u16_mbtouc_aux): Move out to separate file.
35702         (u16_mbtouc): Use ucs4_t, uint16_t types.
35703         * lib/unistr/utf16-ucs4.c: New file.
35704
35705         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
35706         (Depends-on): Add unitypes.
35707         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
35708         (u8_uctomb_aux): Move out to separate file.
35709         (u8_uctomb): Use ucs4_t, uint8_t types.
35710         * lib/unistr/ucs4-utf8.c: New file.
35711
35712         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
35713         (Depends-on): Add unitypes.
35714         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
35715         (u16_uctomb_aux): Move out to separate file.
35716         (u16_uctomb): Use ucs4_t, uint16_t types.
35717         * lib/unistr/ucs4-utf16.c: New file.
35718
35719 2006-12-25  Bruno Haible  <bruno@clisp.org>
35720
35721         * modules/unitypes: New file.
35722         * lib/unitypes.h: New file.
35723         * MODULES.html.sh (func_all_modules): New section "Unicode string
35724         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
35725         this section. Add unitypes.
35726
35727 2007-01-08  Bruno Haible  <bruno@clisp.org>
35728
35729         Avoid variable names that conflict with those from libtool.
35730         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
35731         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
35732         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
35733         library_names_spec to acl_library_names_spec, hardcode_* to
35734         acl_hardcode_*.
35735         Reported by Ralf Wildenhues.
35736
35737 2007-01-08  Bruno Haible  <bruno@clisp.org>
35738
35739         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
35740         definition.
35741         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
35742         definition.
35743         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
35744         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
35745         definition.
35746         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
35747         definition.
35748         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
35749         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
35750         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
35751         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
35752         definition.
35753         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
35754         definition.
35755         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
35756         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
35757         GC_USE_<algorithm>.
35758         * lib/gc-libgcrypt.c: Likewise.
35759         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
35760         * modules/gc-arctwo (configure.ac): Likewise.
35761         * modules/gc-des (configure.ac): Likewise.
35762         * modules/gc-hmac-md5 (configure.ac): Likewise.
35763         * modules/gc-hmac-sha1 (configure.ac): Likewise.
35764         * modules/gc-md2 (configure.ac): Likewise.
35765         * modules/gc-md4 (configure.ac): Likewise.
35766         * modules/gc-md5 (configure.ac): Likewise.
35767         * modules/gc-random (configure.ac): Likewise.
35768         * modules/gc-rijndael (configure.ac): Likewise.
35769         * modules/gc-sha1 (configure.ac): Likewise.
35770
35771 2007-01-08  Bruno Haible  <bruno@clisp.org>
35772
35773         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
35774         macro definition.
35775         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
35776         definition.
35777         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
35778         definition.
35779         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
35780         * modules/fcntl-safer (configure.ac): Likewise.
35781         * modules/fopen-safer (configure.ac): Likewise.
35782         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
35783         GNULIB_FWRITEERROR macro definition.
35784
35785 2007-01-08  Bruno Haible  <bruno@clisp.org>
35786
35787         * m4/gnulib-common.m4: New file.
35788         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
35789         (func_get_filelist): Add m4/gnulib-common.m4.
35790
35791 2007-01-08  Bruno Haible  <bruno@clisp.org>
35792
35793         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
35794         command.
35795
35796 2007-01-08  Jim Meyering  <jim@meyering.net>
35797
35798         Use a more robust test for a "can't happen" condition.
35799         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
35800         narrowed the st_size value.  Presuming the "can't happen" condition
35801         is true, that narrowing could conceivably convert an invalid st_size
35802         value into a valid one.  Instead, use a change based on Matthew
35803         Woehlke's original patch.
35804
35805         Slight readability improvement: use an assert-like macro
35806         in place of literal "abort ()" uses.
35807         * lib/fts.c (fts_assert): Define.
35808         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
35809         Use this macro instead of a bare 'abort'.
35810
35811 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
35812
35813         Don't worry about using IRIX 5.3's wctype.h broken definitions;
35814         simply work around them.
35815         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
35816         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
35817         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
35818         declaring.
35819         Don't bother to define as macros, since the standard doesn't require it.
35820         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
35821         longer worry about IRIX 5.3.
35822         (HAVE_WCTYPE_CTMP_BUG): Remove.
35823
35824 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
35825
35826         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
35827         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
35828         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
35829         Problems reported by Georg Schwarz for IRIX 5.3.
35830
35831         * gnulib-tool (autoconf_minversion): Take the maximum version number
35832         found, not the minimum.  Problem reported by James Youngman.
35833
35834 2007-01-03  Karl Berry  <karl@gnu.org>
35835
35836         * doc/error.texi: new file, explaining interaction with progname.
35837         * doc/gnulib.texi: include it.  Update copyright.
35838
35839 2007-01-03  Simon Josefsson  <simon@josefsson.org>
35840
35841         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
35842         AC_CANONICAL_HOST, to improve autobuild outputs.
35843
35844 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
35845             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
35846
35847         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
35848         sockets, server sockets, and other file descriptors.  Count errors
35849         to compute the return value.  Reorder the code a bit to be easier
35850         to follow.  Don't set event bits that were not requested (except
35851         POLLERR and POLLHUP).
35852
35853 2007-01-01  Bruno Haible  <bruno@clisp.org>
35854
35855         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
35856
35857 2007-01-03  Jim Meyering  <jim@meyering.net>
35858
35859         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
35860
35861 2007-01-02  Bruno Haible  <bruno@clisp.org>
35862
35863         * modules/settime (Include): Require timespec.h.
35864         * modules/nanosleep (Include): Likewise.
35865
35866 2007-01-01  Bruno Haible  <bruno@clisp.org>
35867
35868         * gnulib-tool (func_emit_copyright_notice): Bump year.
35869         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
35870
35871 2007-01-01  Bruno Haible  <bruno@clisp.org>
35872
35873         Improve support for OpenBSD.
35874         * build-aux/config.rpath (libname_spec): Export.
35875         (library_names_spec): New variable. Export.
35876         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
35877         library_names_spec from the config.rpath output. Locate shared library
35878         through the name pattern in library_names_spec.
35879
35880 2007-01-01  Eric Blake  <ebb9@byu.net>
35881
35882         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
35883
35884 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
35885
35886         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
35887         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
35888         assume the C locale, and avoid an "eval" that could cause trouble.
35889         Problem with SORT reported by Bob Proulx.
35890
35891         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
35892         Define.  Trivial patch from Henning Nielsen Lund, originally
35893         sent to bug-grep@gnu.org today.
35894
35895 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
35896
35897         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
35898         struct stat.  Problem reported by Henning Nielsen Lund.
35899         * lib/acl.c: Include acl.h first, to check interface.  Don't
35900         bother to include sys/types.h and sys/stat.h again.
35901
35902 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
35903
35904         Import the following change from libc; problem reported by
35905         Sven Verdoolaege.
35906
35907         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
35908
35909         [BZ #1373]
35910         * lib/argp.h: Remove __NTH for __argp_usage inline function.
35911
35912 2006-12-28  Jim Meyering  <jim@meyering.net>
35913
35914         * build-aux/announce-gen: Do not assume that the package
35915         builds any of tar.gz, tar.bz2, and .xdelta files.
35916         Suggestion from Simon Josefsson.
35917
35918 2006-12-28  Simon Josefsson  <simon@josefsson.org>
35919
35920         * modules/announce-gen: New file.
35921
35922 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
35923
35924         * lib/mbchar.h: Just include <wctype.h>; the wctype module
35925         handles its gotchas now.
35926         * lib/mbswidth.c: Likewise.
35927         * lib/wcwidth.h: Likewise.
35928         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
35929         and iswcntrl; the wctype module does this stuff now.
35930         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
35931         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
35932         * modules/mbchar (Depends-on): Add wctype.
35933         * modules/mbswidth (Depends-on): Likewise.
35934         * modules/wcwidth (Depends-on): Likewise.
35935
35936 2006-12-27  Eric Blake  <ebb9@byu.net>
35937
35938         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
35939         module uses more than what <wctype.h> is required to provide.
35940
35941 2006-12-26  Eric Blake  <ebb9@byu.net>
35942
35943         * gnulib-tool (sed_extract_prog): Avoid space-tab.
35944
35945 2006-12-26  Eric Blake  <ebb9@byu.net>
35946
35947         * modules/absolute-header: New module.
35948         * modules/fcntl (Depends-on): Depend on it.
35949         * modules/inttypes (Depends-on): Likewise.
35950         * modules/stdint (Depends-on): Likewise.
35951         * modules/sys_stat (Depends-on): Likewise.
35952         * modules/wctype (Depends-on): Likewise.
35953         * MODULES.html.sh (Support for building libraries and
35954         executables): Document it.
35955
35956 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
35957
35958         * gnulib-tool (SED): Remove, undoing previous change.
35959         The problem was that it broke coreutils on Solaris, because
35960         "sed --posix" leaked into a makefile.
35961         (sed): New alias, if 'alias' and GNU sed.
35962
35963 2006-12-24  Jim Meyering  <jim@meyering.net>
35964
35965         Work around an fchownat bug in glibc-2.4:
35966         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
35967         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
35968         in spite of the -P option.
35969         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
35970         New macros.
35971         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
35972         * modules/openat (Files): Add lib/fchownat.c.
35973         * lib/openat.c (fchownat): Don't define here.  Move to...
35974         * lib/fchownat.c: ...this new file.
35975
35976 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
35977
35978         Fix bug reported by Bruno Haible in
35979         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
35980         where quotearg.c didn't compile on Mac OS X 10.2 because it
35981         lacks <wchar.h> and wint_t.
35982         * lib/wctype_.h (__wctype_wint_t): New type.
35983         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
35984         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
35985         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
35986         Arg is now of type __wctype_wint_t, not wint_t.
35987         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
35988         substitute HAVE_WINT_T.
35989         * modules/wctype (Files): Add m4/wint_t.m4.
35990         (wctype.h): Substitute HAVE_WINT_T.
35991
35992 2006-12-23  Bruno Haible  <bruno@clisp.org>
35993
35994         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
35995
35996 2006-12-23  Bruno Haible  <bruno@clisp.org>
35997
35998         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
35999         S_ISLNK.
36000         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
36001         mingw.
36002
36003 2006-12-22  Bruno Haible  <bruno@clisp.org>
36004
36005         * lib/copy-file.c: Include acl.h.
36006         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
36007         Close the file descriptors only after being done with copy_acl.
36008         * modules/copy-file (Depends-on): Add acl.
36009
36010 2006-12-22  Bruno Haible  <bruno@clisp.org>
36011
36012         * gnulib-tool (SED): New variable.
36013         Use $SED instead of sed everywhere.
36014
36015 2006-12-22  Bruno Haible  <bruno@clisp.org>
36016
36017         * modules/no-c++: New file.
36018         * m4/no-c++.m4: New file.
36019         * MODULES.html.sh (Support for building libraries and executables):
36020         Add no-c++.
36021
36022 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
36023
36024         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
36025         Include <limits.h>, and use its INT_MAX to rewrite the
36026         j loop so that it does not overflow 'int'.  Problem reported by
36027         Ralf Wildenhues in
36028         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
36029         Play it safe by shifting left by 1 rather than multiplying by 2,
36030         as GCC is less likely to optimize this away when the value
36031         is signed (when it assumes overflow leads to undefined behavior).
36032         Also, don't assume time_t uses two's complement.
36033
36034 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
36035
36036         * MODULES.html.sh: New module wctype.
36037         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
36038         * lib/fnmatch.c: Don't bother to include <wchar.h> before
36039         <wctype.h>, since the new wctype module should fix this.
36040         * lib/quotearg.c: Include <wctype.h> unconditionally, since
36041         the wctype module should arrange for it.
36042         * lib/regex_internal.h: Likewise.
36043         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
36044         since the wctype module should handle this now.
36045         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
36046         * modules/fnmatch (Depends-on): Add wctype.
36047         * modules/quotearg (Depends-on): Likewise.
36048         * modules/regex (Depends-on): Likewise.
36049
36050 2006-12-19  Bruno Haible  <bruno@clisp.org>
36051
36052         * lib/strdup.h [C++]: Wrap definitions in extern "C".
36053         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
36054
36055 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36056
36057         * modules/savewd (Depends-on): Fix dependency on fcntl.
36058
36059 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
36060
36061         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
36062         conforms to C99, rather than relying on the user's environment
36063         setting of STDINT_H.
36064
36065 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
36066         and Eric Blake  <ebb9@byu.net>
36067
36068         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
36069         This is more consistent with the other defines here.
36070         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
36071         Port to z/OS.  Problem reported by Paul Gilmartin.
36072         Change local vars to use gl_ prefix rather than ac_.
36073         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
36074         with other defines.
36075         * modules/double-slash-root: New module.
36076         * modules/dirname (Files): Remove m4/double-slash-root.m4.
36077         (Depends-on): Add double-slash-root.
36078         * MODULES.html.sh (File system functions): Mention new module.
36079
36080 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
36081
36082         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
36083         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
36084         This is for the benefit of gzip, which doesn't do i18n.
36085
36086 2006-12-12  Jim Meyering  <jim@meyering.net>
36087
36088         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
36089         Reported by Andreas Schwab <schwab@suse.de>.
36090
36091 2006-12-12  Bruno Haible  <bruno@clisp.org>
36092
36093         Merge these changes.
36094         2006-09-05  Bruno Haible  <bruno@clisp.org>
36095         * lib/iconvme.c (iconv_string): No need to save and restore errno when
36096         iconv_alloc succeeded.
36097         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
36098         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
36099         test for " && dest " at the end - dest is always != NULL there. Call
36100         iconv with 4xNULL arguments initially, to reset the state. Call iconv
36101         with 2xNULL arguments, also to flush the state storage. Handle the
36102         IRIX iconv behaviour. Realloc the final result, to throw away unused
36103         memory.
36104
36105 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
36106
36107         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
36108         and fchmodat unconditionally, since glibc 2.4 has them.
36109         Problem reported by Arkadiusz Miskiewicz.
36110
36111 2006-12-10  Bruno Haible  <bruno@clisp.org>
36112
36113         * gnulib-tool (func_import): Show the include files only for those
36114         modules that are copied and specified.
36115         Reported by Karl Berry.
36116
36117 2006-12-08  Jim Meyering  <jim@meyering.net>
36118
36119         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
36120         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
36121
36122         * build-aux/announce-gen: Add two new options, both optional:
36123         --bootstrap-tools=TOOL_LIST
36124               a comma-separated list of tools, e.g.,
36125               autoconf,automake,bison,gnulib
36126         --gnulib-snapshot-date=DATE
36127               if gnulib is in the bootstrap tool list,
36128               then report this as the snapshot date.
36129               If not specified, use the current date/time.
36130               If you specify a date here, be sure it's UTC.
36131
36132 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36133
36134         * tests/test-argp-2.sh: Fix test to match actual output.
36135         (func_compare): Fix sed script to be portable.
36136
36137 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
36138
36139         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
36140         workaround for this case.  It is not autoconfigured now; offhand
36141         it's hard to see how to autoconfigure it.
36142
36143 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
36144
36145         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
36146         a directory that is about to be chowned.  Such a directory's
36147         initial file permissions should permit the owner only and this
36148         should not be changed until after the chown, since the group and
36149         other bits would be incorrect if they granted permission before
36150         the chown.
36151
36152         Fix porting problem for iswctype reported by Georg Schwarz in:
36153         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
36154         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
36155         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
36156         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
36157         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
36158
36159 2006-12-03  Jim Meyering  <jim@meyering.net>
36160
36161         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
36162         p->fts_statp may not yet be defined.
36163         (fts_read): Instead, set it in the caller, once p->fts_statp is
36164         sure to be defined, and corresponds to a top-level directory.
36165         This bug made du -x fail.  Here's the coreutils test case:
36166         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
36167         Reported by Mike Frysinger.
36168
36169 2006-12-01  Jim Meyering  <jim@meyering.net>
36170
36171         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
36172         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
36173         Reported by Simon Josefsson.
36174
36175 2006-11-30  Jim Meyering  <jim@meyering.net>
36176
36177         * m4/warning.m4: Use the all-permissive copyright notice
36178         recommended by RMS (rather than LGPL).
36179         * m4/vararrays.m4: Likewise.
36180         * m4/flexmember.m4: Likewise.
36181
36182 2006-11-29  Bruno Haible  <bruno@clisp.org>
36183
36184         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
36185         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
36186         using +=.
36187         Reported by Simon Josefsson <simon@josefsson.org>.
36188
36189 2006-11-28  James Youngman <jay@gnu.org>
36190
36191         * README: Advise users that they might find the bug-gnulib@gnu.org
36192         and autotools-announce@gnu.org mailing lists useful.
36193
36194 2006-11-28  Bruno Haible  <bruno@clisp.org>
36195
36196         * m4/ptrdiff_max.m4: Remove file.
36197
36198 2006-11-21  Bruno Haible  <bruno@clisp.org>
36199
36200         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
36201         _AC_COMPUTE_INT.
36202         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
36203         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
36204         _AC_COMPUTE_INT.
36205         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
36206         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
36207         _AC_COMPUTE_INT.
36208         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
36209
36210 2006-11-28  Jim Meyering  <jim@meyering.net>
36211
36212         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
36213         warning from "gcc -Wshadow" about shadowing the builtin.
36214
36215 2006-11-27  Bruno Haible  <bruno@clisp.org>
36216
36217         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
36218         _AC_COMPUTE_INT.
36219         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
36220
36221 2006-11-27  Bruno Haible  <bruno@clisp.org>
36222             Paul Eggert  <eggert@cs.ucla.edu>
36223
36224         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
36225
36226 2006-11-26  Bruno Haible  <bruno@clisp.org>
36227
36228         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
36229         noinst_LTLIBRARIES.
36230
36231 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
36232             Bruno Haible  <bruno@clisp.org>
36233
36234         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
36235         if compiling with "gcc -ansi".
36236
36237 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
36238
36239         Fix some incompatibilities with gcc -ansi -pedantic.
36240         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
36241         if compiling pedantically with GCC, unless it's C99 or later.
36242         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
36243         it mishandles gcc -ansi -pedantic as well.
36244         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
36245         if gcc -pedantic.
36246         * lib/regexec.c (check_node_accept_bytes): Don't use auto
36247         initializers for struct if -pedantic, unless it's C99 or later.
36248
36249 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
36250
36251         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
36252         Don't close an fd more than once. Identical atimes indicate
36253         success, not failure.
36254
36255 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
36256
36257         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
36258
36259 2006-11-23  Jim Meyering  <jim@meyering.net>
36260
36261         * build-aux/announce-gen: New file.  From coreutils.
36262
36263 2006-11-22  Jim Meyering  <jim@meyering.net>
36264
36265         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
36266         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
36267         (fts_read): Use a temporary to narrow the overused st_size member
36268         before using it in a switch statement.  Reported by Matthew Woehlke.
36269
36270         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
36271         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
36272
36273 2006-11-20  Bruno Haible  <bruno@clisp.org>
36274
36275         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
36276         changequote instead of pairs of brackets.
36277         Reported by Andreas Schwab <schwab@suse.de>.
36278
36279 2006-11-21  Jim Meyering  <jim@meyering.net>
36280
36281         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
36282         so as to remain compatible with older compilers.
36283         Patch from Michael Deutschmann.
36284
36285 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
36286
36287         * MODULES.html.sh (File system functions): Add openat.
36288
36289         * lib/openat.h (rpl_fstatat): New macro, if
36290         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
36291         (fstatat): Define to rpl_fstatat under the same conditions,
36292         unless COMPILING_FSTATAT.
36293         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
36294         seems to have the bug.
36295         * lib/fstatat.c: New file.
36296         * modules/openat (Files): Add it.
36297
36298 2006-11-20  Bruno Haible  <bruno@clisp.org>
36299
36300         * Makefile: New file.
36301
36302 2006-11-20  Jim Meyering  <jim@meyering.net>
36303
36304         The beginnings of syntax-related checks for gnulib.
36305         * lib/Makefile: New file.
36306         * lib/t-idcache: New script.  Ensure that the two halves of
36307         idcache.c stay in sync.
36308
36309         * lib/idcache.c: Adjust comments in user- and group- portions to
36310         be more accurate, and to be consistent with one another.
36311
36312 2006-11-20  Jim Meyering  <jim@meyering.net>
36313
36314         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
36315         continue using the flexible array member (thus, this module performs
36316         half as many malloc calls), with the addition that...
36317         (getgroup, getuser): Consistently record a non-match via an empty
36318         "name" string, and map an empty string match to a NULL return value.
36319         * modules/idcache (Depends-on): Re-add flexmember.
36320
36321         * lib/idcache.c (getuser): Remove all uses of the register keyword.
36322         (getuidbyname, getgroup, getgidbyname): Likewise.
36323
36324         Use cleaner syntax: NULL rather than 0.
36325         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
36326
36327 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
36328
36329         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
36330         It mishandled the case where the group was missing.
36331         Problem reported by Greg Schafer.
36332         * modules/idcache: Likewise.
36333
36334 2006-11-18  Jim Meyering  <jim@meyering.net>
36335
36336         * check-module (%exempt_header): Add exception for some
36337         conditionally-included headers.
36338
36339         * modules/i-ring (Depends-on): Add verify.
36340         (License): Change to LGPL.
36341
36342 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
36343
36344         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
36345         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
36346         and inttostr.h.  Use snprintf rather than uinttostr, so that
36347         LGPLed code doesn't depend on GPLed.
36348
36349 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
36350
36351         * modules/inline (License): Change from GPL to LGPL.
36352
36353 2006-11-17  Jim Meyering  <jim@meyering.net>
36354
36355         * modules/d-type (License): Switch to LGPL.
36356
36357 2006-11-15  Bruno Haible  <bruno@clisp.org>
36358
36359         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
36360
36361 2006-11-15  Eric Blake  <ebb9@byu.net>
36362
36363         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
36364         the module dependency.
36365
36366 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36367             Bruno Haible  <bruno@clisp.org>
36368
36369         * gnulib-tool (func_create_testdir): Add license consistency check.
36370
36371 2006-11-15  Eric Blake  <ebb9@byu.net>
36372
36373         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
36374         random "(cached)" in configure output.
36375
36376 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36377
36378         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
36379         test for conforming inttypes.h is both announced and cached.
36380
36381         * MODULES.html.sh (seen_modules, seen_files): New variables.
36382         (func_module): Rewrite to use a few less gnulib-tool and sed
36383         invocations.  Avoid a couple of quadratic algorithms for ...
36384         (missed_modules, missed_files): ... these, with ...
36385         (func_append, func_tmpdir): ... these new functions, from
36386         gnulib-tool.  Analogously, install traps for cleanup.
36387
36388         * tests/test-gc.c (main): Remove unused variables.
36389         * tests/test-read-file.c: Include stdlib.h, for 'free'.
36390
36391 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
36392
36393         * modules/inttostr (License): Change to LGPL.
36394
36395 2006-11-14  Eric Blake  <ebb9@byu.net>
36396
36397         * modules/tempname (License): Change to LGPL.
36398
36399 2006-11-14  Eric Blake  <ebb9@byu.net>
36400
36401         * doc/functions.texi (Function Portability): *printf functions on
36402         Cygwin now understand all POSIX size specifiers.
36403
36404 2006-11-14  Bruno Haible  <bruno@clisp.org>
36405
36406         * modules/c-ctype (License): Change to LGPL.
36407
36408 2006-11-12  Bruno Haible  <bruno@clisp.org>
36409
36410         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
36411         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
36412         for GNOME libraries, for which the include files are installed in
36413         subdirectories of $prefix/include.
36414
36415 2006-11-12  Bruno Haible  <bruno@clisp.org>
36416
36417         * m4/lib-link.m4: Require at least autoconf-2.54.
36418         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
36419         name to underscores for the --with option.
36420
36421 2006-11-13  Bruno Haible  <bruno@clisp.org>
36422
36423         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
36424         the tests directory.
36425         Reported by Ralf Wildenhues.
36426
36427 2006-11-13  Bruno Haible  <bruno@clisp.org>
36428
36429         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
36430         (func_emit_initmacro_end): Undo the override here.
36431         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
36432         Works around the famous automake error in coreutils.
36433
36434 2006-11-13  Eric Blake  <ebb9@byu.net>
36435
36436         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
36437         element, not its node.
36438
36439 2006-11-12  Bruno Haible  <bruno@clisp.org>
36440
36441         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
36442         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
36443
36444 2006-11-12  Bruno Haible  <bruno@clisp.org>
36445
36446         * gnulib-tool: New option --local-symlink.
36447         (func_usage): Document it.
36448         (lsymbolic): New variable.
36449         (func_import, func_create_testdir): If --symlink was not specified,
36450         test whether --local-symlink was specified and the file comes from
36451         the local_gnulib_dir.
36452
36453 2006-11-12  Bruno Haible  <bruno@clisp.org>
36454
36455         * gnulib-tool (func_ln): New function.
36456         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
36457
36458 2006-11-12  Bruno Haible  <bruno@clisp.org>
36459
36460         Finish support for source files in subdirectories.
36461         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
36462         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
36463         AUTOMAKE_OPTIONS.
36464         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
36465
36466 2006-11-12  Bruno Haible  <bruno@clisp.org>
36467
36468         * gnulib-tool (func_get_automake_snippet): Synthesize also an
36469         EXTRA_lib_SOURCES augmentation.
36470         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
36471
36472 2006-11-12  Jim Meyering  <jim@meyering.net>
36473
36474         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
36475         file descriptors.  This also averts a failure on systems with
36476         native openat support when a traversed directory lacks "x" access.
36477         * lib/fts_.h: Include "i-ring.h"
36478         (struct FTS) [fts_fd_ring]: New member.
36479         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
36480         (FCHDIR): Add parentheses.
36481         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
36482         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
36483         When descending, rather than simply closing the previous
36484         fts_cwd_fd value, push that file descriptor onto the ring.
36485         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
36486         (fts_open): Initialize the new fd_ring member.
36487         (fts_close): Clear the ring.
36488         (fts_safe_changedir): When possible, use our new fd_ring to skip
36489         the diropen and fstat and dev/ino comparison that would normally
36490         accompany a virtual `chdir ("..")'.
36491
36492         * modules/fts (Depends-on): Add i-ring.
36493         * modules/i-ring: New module.
36494         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
36495         * m4/i-ring.m4: New file.
36496
36497 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36498
36499         * gnulib-tool (func_create_testdir): Fix replacement of
36500         `build-aux' in configure.ac.  Run autotools in gltests
36501         subdirectory.
36502         (func_create_testdir, func_create_megatestdir, test): There is
36503         no need for '--force' in most autotool invocations in a new
36504         tree.  Actually fail the whole test if any of the tools, or the
36505         configure or make stages fail.
36506
36507         Sync from Automake.
36508         * build-aux/gnupload: Revert last change.  Add pointer to upload
36509         instructions of the GNU Maintenance Instructions.
36510         Suggestion by Karl Berry.
36511
36512 2006-11-10  Jim Meyering  <jim@meyering.net>
36513
36514         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
36515
36516 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
36517
36518         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
36519         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
36520         (bind_textdomain_codeset) [! ENABLE_NLS]:
36521         Evaluate all the arguments.  That way, callers get compatible behavior
36522         if the arguments have side effects.  Also, it avoids some GCC
36523         diagnostics in some cases; Joel E. Denny reported problems when Bison
36524         was configured with --enable-gcc-warnigs.
36525
36526 2006-11-10  Jim Meyering  <jim@meyering.net>
36527
36528         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
36529         relevant options in CFLAGS (like -O, -fno-inline) are taken into
36530         account.
36531
36532 2006-11-10  Jim Meyering  <jim@meyering.net>
36533
36534         * modules/inline: New file/module.
36535         * modules/xalloc (Files): Remove m4/inline.m4.
36536         (Depends-on): Add inline, instead.
36537         * modules/oset: Likewise.
36538         * modules/list: Likewise.
36539
36540 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
36541
36542         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
36543         Problem reported by Matthew Woehlke.
36544
36545 2006-11-09  Bruno Haible  <bruno@clisp.org>
36546
36547         * lib/tempname.c (gen_tempname): Remove variant that invokes
36548         __gen_tempname.
36549         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
36550         __gen_tempname.
36551
36552 2006-11-08  Bruno Haible  <bruno@clisp.org>
36553
36554         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
36555         to 'yes' instead of 'cross-compiling'.
36556
36557 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
36558
36559         * lib/quotearg.h (quotearg_free): New decl.
36560         * lib/quotearg.c (quotearg_free): New function.
36561         (slot0, nslots, slotvec0, slotvec):
36562         Now file-scope so that quotearg_free can get at them.
36563
36564 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36565
36566         Sync from Automake.
36567         * build-aux/gnupload: Add missing 'gnu' to example URL.
36568         Report by Karl Berry.
36569
36570 2006-11-08  Bruno Haible  <bruno@clisp.org>
36571
36572         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
36573         Suggested by Paul Eggert.
36574
36575 2006-11-08  Jim Meyering  <jim@meyering.net>
36576
36577         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
36578         It's already included if !_LIBC.
36579         (fts_safe_changedir): Add a comment.
36580
36581 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
36582
36583         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
36584         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
36585         Matthew Woehlke.
36586
36587         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
36588         definitions up, to avoid colliding with change below.
36589         (static_inline) [HAVE_INLINE]: New macro.
36590         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
36591         Provide extern decls when !HAVE_INLINE.  Do not define unless
36592         static_inline is defined, either by us or by xmalloc.c.  Use
36593         static_inline rather than static inline.
36594         (XCALLOC): Optimize sizeof(T) = 1 case.
36595         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
36596
36597 2006-11-07  Bruno Haible  <bruno@clisp.org>
36598
36599         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
36600         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
36601         AC_C_INLINE.
36602         * modules/xalloc (Files): Add m4/inline.m4.
36603
36604 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36605
36606         * README: Fix typo.
36607         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
36608         (Miscellanous Notes): ...from this.
36609
36610 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
36611
36612         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
36613         Mention that offsetof should be used instead of sizeof.
36614         From Bruno Haible.
36615
36616 2006-11-07  Bruno Haible  <bruno@clisp.org>
36617
36618         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
36619
36620 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
36621
36622         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
36623         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
36624         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
36625         (gl_tree_add_before, gl_tree_add_after):
36626         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
36627         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
36628         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
36629         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
36630         (gl_linked_add_after, gl_linked_add_at): Likewise.
36631         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
36632         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
36633         (gl_tree_add_before, gl_tree_add_after): Likewise.
36634         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
36635         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
36636         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
36637
36638 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36639
36640         * lib/gl_oset.h: Use C comment style, not C++ comment style.
36641
36642 2006-11-06  Bruno Haible  <bruno@clisp.org>
36643
36644         * m4/inline.m4: New file.
36645         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
36646         * modules/list (Files): Add m4/inline.m4.
36647         * modules/oset (Files): Likewise.
36648
36649 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
36650
36651         * lib/idcache.c: Include <stddef.h>, for offsetof.
36652         (struct userid.name): Change from char * to a flexible array member.
36653         All uses changed.
36654         * modules/idcache (Depends-on): Add flexmember.
36655
36656         * MODULES.html.sh (Core language properties): New module flexmember.
36657         * modules/flexmember, m4/flexmember.m4: New files.
36658
36659         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
36660         inline functions that are identical with the old xnmalloc_inline,
36661         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
36662         that we can avoid some unnecessary integer multiplications and
36663         divisions in the common case where the element size is known at
36664         compile time.
36665         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
36666         needed.
36667         (xnboundedmalloc): Remove.
36668         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
36669         arguments, for consistency with rest of this header.
36670         (xcharalloc): Rewrite using XNMALLOC.
36671         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
36672         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
36673         versions have been moved to lib/xalloc.h and renamed to be the
36674         non-*_inline versions.
36675         (xmalloc, xrealloc): Implement without reference to the xnmalloc
36676         and xnrealloc functions, since those functions are now inline and
36677         now call us.
36678         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
36679         renaming described above.
36680         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
36681         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
36682         captures the dependency in AC_C_INLINE.
36683
36684         New module canonicalize-lgpl, proposed by Charles Wilson in
36685         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
36686         with a few small changes afterwards.
36687         * MODULES.html.sh (File system functions): New module
36688         canonicalize-lgpl.
36689         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
36690         and canonicalize_file_name.
36691         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
36692         * modules/canonicalize-lgpl: New files.
36693
36694 2006-11-05  Bruno Haible  <bruno@clisp.org>
36695
36696         * gnulib-tool (func_import, func_create_testdir): Create directories
36697         also for files in subdirectories of lib/.
36698
36699 2006-11-05  Bruno Haible  <bruno@clisp.org>
36700
36701         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
36702         ANSI C compliant.
36703
36704 2006-11-03  Bruno Haible  <bruno@clisp.org>
36705
36706         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
36707         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
36708         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
36709         (xnboundedmalloc): New inline function.
36710         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
36711         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
36712         xmalloc.
36713         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
36714         xmalloc.
36715         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
36716         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
36717         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
36718         xmalloc.
36719         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
36720         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
36721         xmalloc.
36722         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
36723         gl_tree_add_after): Use XMALLOC instead of xmalloc.
36724         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
36725         xmalloc.
36726         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
36727         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
36728         gl_tree_add_after): Use XMALLOC instead of xmalloc.
36729         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
36730         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
36731         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
36732         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
36733
36734 2006-11-03  Bruno Haible  <bruno@clisp.org>
36735
36736         * lib/c-ctype.h [C++]: Define functions without name mangling.
36737         * lib/fwriteerror.h [C++]: Likewise.
36738         * lib/gcd.h [C++]: Likewise.
36739         * lib/linebreak.h [C++]: Likewise.
36740
36741 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
36742
36743         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
36744         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
36745         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
36746         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
36747         Check for functions and headers just once.
36748         Check for declaration of canonicalize_file_name.
36749         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
36750
36751 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
36752
36753         * gnulib-tool (func_import): Fix typo in actioncmd.
36754
36755 2006-11-02  Bruno Haible  <bruno@clisp.org>
36756
36757         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
36758         newline sequence in the Makefile.am snippet as a space, like "make"
36759         does.
36760         Reported by Roger Persson <perrog@gmail.com>.
36761
36762 2006-11-01  Bruno Haible  <bruno@clisp.org>
36763
36764         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
36765         already declared in <string.h>.
36766         * lib/strcase.h (strncasecmp): Don't declare it if yes.
36767
36768 2006-11-01  Bruno Haible  <bruno@clisp.org>
36769
36770         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
36771         * lib/strcase.h: Include <string.h>.
36772         (strcasecmp): Define to rpl_strcasecmp here.
36773
36774 2006-11-01  Bruno Haible  <bruno@clisp.org>
36775
36776         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
36777
36778 2006-11-01  Eric Blake  <ebb9@byu.net>
36779
36780         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
36781
36782         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
36783
36784 2006-10-29  Bruno Haible  <bruno@clisp.org>
36785
36786         Make it compile in C++ mode.
36787         * lib/full-write.c (full_rw): Add a cast.
36788
36789 2006-11-01  Bruno Haible  <bruno@clisp.org>
36790
36791         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
36792         be POSIX compliant.
36793         Reported by Roger Persson <perrog@gmail.com>.
36794
36795 2006-11-01  Eric Blake  <ebb9@byu.net>
36796
36797         * lib/getopt_.h: Fix comments.
36798
36799 2006-10-31  Eric Blake  <ebb9@byu.net>
36800
36801         * modules/tmpdir (Depends-on): Add sys_stat.
36802         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
36803         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
36804         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
36805         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
36806         tempname.
36807
36808 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
36809
36810         Avoid some C++ diagnostics reported by Bruno Haible.
36811         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
36812         xmalloc.
36813         (quotearg_alloc): Use xcharalloc rather than xmalloc.
36814         (struct slotvec): Move to top level.
36815         (quotearg_n_options): Rewrite to avoid xmalloc.
36816         * lib/xalloc.h (xcharalloc): New function.
36817         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
36818         [defined __cplusplus]: Add function template that provides result
36819         type propagation.  This part of the change is from Bruno Haible.
36820
36821 2006-10-29  Bruno Haible  <bruno@clisp.org>
36822
36823         Make it compile in C++ mode.
36824         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
36825         * lib/strnlen1.c (strnlen1): Cast memchr result.
36826         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
36827         * lib/clean-temp.c (string_equals, string_hash): Add casts.
36828         (create_temp_dir): Rename local variable 'template'.
36829         (compile_csharp_using_sscli): Add cast.
36830         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
36831         * lib/findprog.c (find_in_path): Likewise.
36832         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
36833         * lib/wait-process.c (register_slave_subprocess): Likewise.
36834
36835 2006-10-22  Bruno Haible  <bruno@clisp.org>
36836
36837         * modules/tsearch: New file.
36838         * lib/tsearch.h: New file.
36839         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
36840         * m4/tsearch.m4: New file.
36841         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
36842
36843 2006-10-29  Eric Blake  <ebb9@byu.net>
36844
36845         * lib/arcfour.c: Assume config.h.
36846         * lib/arctwo.c: Likewise.
36847         * lib/base64.c: Likewise.
36848         * lib/check-version.c: Likewise.
36849         * lib/crc.c: Likewise.
36850         * lib/des.c: Likewise.
36851         * lib/gc-gnulib.c: Likewise.
36852         * lib/gc-libgcrypt.c: Likewise.
36853         * lib/gc-pbkdf2-sha1.c: Likewise.
36854         * lib/getaddrinfo.c: Likewise.
36855         * lib/getdelim.c: Likewise.
36856         * lib/getline.c: Likewise.
36857         * lib/hmac-md5.c: Likewise.
36858         * lib/hmac-sha1.c: Likewise.
36859         * lib/iconvme.c: Likewise.
36860         * lib/md2.c: Likewise.
36861         * lib/md4.c: Likewise.
36862         * lib/memxor.c: Likewise.
36863         * lib/read-file.c: Likewise.
36864         * lib/readline.c: Likewise.
36865         * lib/rijndael-alg-fst.c: Likewise.
36866         * lib/rijndael-api-fst.c: Likewise.
36867         * lib/xgetdomainname.c: Likewise.
36868
36869 2006-10-28  Eric Blake  <ebb9@byu.net>
36870
36871         * lib/xstrndup.c: Assume config.h.
36872
36873 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
36874
36875         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
36876         stat-macros.h is now for our own macros, whereas stat_h is for
36877         macros in the <sys/stat.h> name space.
36878         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
36879         (STAT_MACROS_H): Remove.
36880         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
36881         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
36882         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
36883         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
36884         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
36885         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
36886         Move these macros to ...
36887         * lib/stat_.h: here.  Don't include stat-macros.h.
36888         * lib/canonicalize.c: Don't include stat-macros.h.
36889         * lib/chown.c: Likewise.
36890         * lib/euidaccess.c: Likewise.
36891         * lib/file-type.c: Likewise.
36892         * lib/filemode.c: Likewise.
36893         * lib/glob.c: Likewise.
36894         * lib/isapipe.c: Likewise.
36895         * lib/lchown.c: Likewise.
36896         * lib/lstat.c: Likewise.
36897         * lib/mkdir-p.c: Likewise.
36898         * lib/rmdir.c: Likewise.
36899         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
36900         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
36901         unless mkdir isn't declared, to speed up 'configure'.
36902         Always create sys/stat.h, since it's unlikely any real sys/stat.h
36903         would define all the S_* symbols.
36904         * modules/canonicalize (Depends-on):
36905         Depend on sys_stat, not stat-macros.
36906         * modules/chown: Likewise.
36907         * modules/euidaccess: Likewise.
36908         * modules/filemode: Likewise.
36909         * modules/file-type: Likewise.
36910         * modules/glob: Likewise.
36911         * modules/isapipe: Likewise.
36912         * modules/lchown: Likewise.
36913         * modules/lstat: Likewise.
36914         * modules/mkancesdirs: Likewise.
36915         * modules/rmdir: Likewise.
36916         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
36917         * modules/modechange: Likewise.
36918         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
36919         (configure.ac): Remove gl_STAT_MACROS.
36920         * modules/sys_stat (Depends-on): Remove stat-macros.
36921
36922 2006-10-27  Bruno Haible  <bruno@clisp.org>
36923
36924         * m4/signed.m4: Remove file.
36925         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
36926         invocation.
36927         * modules/vasnprintf (Files): Remove m4/signed.m4.
36928
36929 2006-10-27  Bruno Haible  <bruno@clisp.org>
36930
36931         Update to GNU gettext 0.16.
36932         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
36933         m4/inttypes-h.m4, m4/signed.m4.
36934         * m4/gettext.m4: Update to GNU gettext 0.16.
36935         * m4/intl.m4: New file, from GNU gettext.
36936         * m4/intldir.m4: New file, from GNU gettext.
36937         * config/srclist.txt: Update
36938
36939 2006-10-27  Eric Blake  <ebb9@byu.net>
36940
36941         * MODULES.html.sh: Document tempname.
36942         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
36943         dependencies.
36944         (Files): Move lib/tempname.c...
36945         * modules/tempname: ...to this new module.
36946         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
36947         (gl_PREREQ_TEMPNAME): Move...
36948         * m4/tempname.m4: ...to this new file.
36949         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
36950         * modules/sys_stat (Depends-on): Add stat-macros.
36951         * lib/stat_.h (includes): Pick up stat macros.
36952         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
36953         if stat macros are broken.
36954         * lib/tempname.c (includes): No need to include "stat-macros.h".
36955         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
36956         (direxists, __path_search) [!_LIBC]: Don't compile these in
36957         gnulib; the tmpdir module covers that.
36958         * lib/tempname.h: New file.
36959
36960 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
36961
36962         * COPYING: Explain how gnulib-tool converts licence headers.
36963         Almost all wording by Eric Blake.
36964
36965 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
36966
36967         * lib/mbchar.h (is_basic_table): Make read-only.
36968         * lib/mbchar.c (is_basic_table): Likewise.
36969         Reported by John Darrington.
36970
36971 2006-10-25  Bruno Haible  <bruno@clisp.org>
36972
36973         * lib/progname.h (set_program_name): Undefine before defining.
36974
36975 2006-10-25  Bruno Haible  <bruno@clisp.org>
36976
36977         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
36978         false for non-gcc C++ compilers.
36979         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
36980
36981 2006-10-24  Bruno Haible  <bruno@clisp.org>
36982
36983         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
36984         iconv implementations like Irix iconv.
36985
36986 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
36987
36988         * modules/vararrays: New file.
36989         * m4/vararrays.m4: New file, taken from diffutils.
36990         * MODULES.html.sh: New module vararrays.
36991
36992 2006-10-24  Karl Berry  <karl@gnu.org>
36993
36994         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
36995         Don't call GNU Unix.
36996
36997 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36998
36999         * users.txt: Add Libtool.
37000
37001         Sync from Libtool:
37002
37003         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
37004
37005         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
37006         to gnulib's policy of including config.h unconditionally.
37007
37008 2006-10-24  Bruno Haible  <bruno@clisp.org>
37009
37010         * modules/wcwidth (Files): Add m4/wint_t.m4.
37011         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
37012         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
37013
37014 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
37015
37016         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
37017         to pacify GCC with some -W flags enabled.  Problem reported by
37018         Bruno Haible.
37019
37020 2006-10-24  Jim Meyering  <jim@meyering.net>
37021
37022         * MODULES.html.sh: Remove uinttostr.  It's not a module.
37023         Reported by Karl Berry.
37024
37025 2006-10-23  Bruno Haible  <bruno@clisp.org>
37026
37027         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
37028
37029 2006-10-24  Bruno Haible  <bruno@clisp.org>
37030
37031         * lib/gl_list.h: Use C comment style, not C++ comment style.
37032
37033 2006-10-23  Eric Blake  <ebb9@byu.net>
37034
37035         * lib/getaddrinfo.c (includes): Add missing include.
37036
37037 2006-10-23  Bruno Haible  <bruno@clisp.org>
37038             Paul Eggert  <eggert@cs.ucla.edu>
37039
37040         Ability to rename obstack_free.
37041         * lib/obstack.h (__obstack_free): New macro. Declare instead of
37042         obstack_free.
37043         (obstack_free): Invoke the __obstack_free macro.
37044         * lib/obstack.c (obstack_free): Use __obstack_free macro.
37045
37046 2006-10-23  Bruno Haible  <bruno@clisp.org>
37047             Paul Eggert  <eggert@cs.ucla.edu>
37048
37049         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
37050         __argc, __argv from the declaration. (They are defined as macros on
37051         mingw.)
37052
37053 2006-10-22  Bruno Haible  <bruno@clisp.org>
37054
37055         * doc/gnulib-intro.texi: New file.
37056         * doc/gnulib.texi: Include it.
37057
37058 2006-10-21  Bruno Haible  <bruno@clisp.org>
37059
37060         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
37061         "Introduction", "Miscellanous Notes", "Particular Modules".
37062
37063 2006-10-21  Bruno Haible  <bruno@clisp.org>
37064
37065         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
37066         Change mostlyclean-local rule to avoid sh syntax error from bash
37067         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
37068
37069 2006-10-23  Jim Meyering  <jim@meyering.net>
37070
37071         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
37072         in place of snprintf.
37073
37074         * modules/inttostr (Files): Add lib/uinttostr.c.
37075         * lib/uinttostr.c (inttostr): New file/function.
37076         * lib/inttostr.h (uinttostr): Declare.
37077         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
37078         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
37079         Add uinttostr.
37080         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
37081
37082 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
37083
37084         * lib/canonicalize.c (ELOOP): Define if not already defined.
37085         Problem reported by Bruno Haible in
37086         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
37087
37088 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
37089
37090         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
37091         Problem reported by Perry Smith and Ville Laurikari.
37092
37093         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
37094         uses.
37095
37096 2006-10-19  Bruno Haible  <bruno@clisp.org>
37097
37098         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
37099         for mingw.
37100
37101 2006-10-19  Bruno Haible  <bruno@clisp.org>
37102
37103         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
37104         Needed for mingw.
37105
37106 2006-10-19  Bruno Haible  <bruno@clisp.org>
37107
37108         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
37109
37110 2006-10-19  Bruno Haible  <bruno@clisp.org>
37111
37112         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
37113         it.
37114
37115 2006-10-19  Bruno Haible  <bruno@clisp.org>
37116
37117         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
37118         invocation.
37119
37120 2006-10-19  Bruno Haible  <bruno@clisp.org>
37121
37122         * gnulib-tool (func_create_testdir): Don't include ftruncate and
37123         mountlist by default.
37124
37125 2006-10-16  Bruno Haible  <bruno@clisp.org>
37126
37127         * lib/c-strstr.c: Include c-strstr.h.
37128
37129 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
37130
37131         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
37132         in a slash.
37133
37134 2006-10-18  Bruno Haible  <bruno@clisp.org>
37135
37136         * lib/lock.h [C++]: Wrap definitions in extern "C".
37137
37138 2006-10-18  Bruno Haible  <bruno@clisp.org>
37139
37140         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
37141         gl_LIBOBJS list.
37142
37143 2006-10-18  Bruno Haible  <bruno@clisp.org>
37144
37145         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
37146
37147 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
37148
37149         * lib/xstrtol.h: Include gettext.h.
37150         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
37151         Problem reported by Eric Blake.
37152         * modules/xstrtol (Depends-on): Add gettext-h.
37153
37154 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
37155
37156         * lib/strftime.c (advance): New macro.
37157         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
37158         incomplete type, so you can't add 0 to it.  Problem and patch
37159         reported by Eelco Dolstra for dietlibc.
37160
37161 2006-10-18  Jim Meyering  <jim@meyering.net>
37162
37163         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
37164         type for a local, and rename it: s/up/user_proc/.
37165
37166 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
37167
37168         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
37169         READ_UTMP_USER_PROCESS.
37170         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
37171
37172 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
37173
37174         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
37175         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
37176
37177 2006-10-17  Eric Blake  <ebb9@byu.net>
37178
37179         * lib/sigprocmask.c (sigprocmask): Fix typo.
37180
37181         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
37182
37183         * modules/clean-temp (Makefile.am): Don't add to make output...
37184         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
37185         config.h.
37186
37187 2006-10-17  Bruno Haible  <bruno@clisp.org>
37188
37189         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
37190         differently if DEFAULT_TEXT_DOMAIN is set.
37191
37192 2006-10-16  Bruno Haible  <bruno@clisp.org>
37193
37194         * lib/clean-temp.c: Include fwriteerror.h.
37195
37196 2006-10-16  Bruno Haible  <bruno@clisp.org>
37197
37198         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
37199
37200 2006-10-16  Bruno Haible  <bruno@clisp.org>
37201
37202         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
37203         * lib/sigprocmask.h: Include <sys/types.h>.
37204         (sigset_t): Use the system's definition if present.
37205
37206 2006-10-17  Eric Blake  <ebb9@byu.net>
37207
37208         * lib/xvasprintf.c (includes): Assume config.h.
37209         * lib/xasprintf.c (includes): Likewise.
37210
37211 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
37212
37213         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
37214         at least as wide as intmax_t.
37215
37216 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
37217
37218         (Imported from Automake.)
37219         * build-aux/gnupload: Update to version 1.1 of directive file.
37220
37221 2006-10-16  Eric Blake  <ebb9@byu.net>
37222
37223         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
37224         match Automake 1.10a.
37225
37226 2006-10-14  Bruno Haible  <bruno@clisp.org>
37227
37228         * modules/sigprocmask: New file.
37229         * lib/sigprocmask.h: New file.
37230         * lib/sigprocmask.c: New file.
37231         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
37232         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
37233         request sigprocmask.o.
37234         (gl_PREREQ_SIGPROCMASK): New macro.
37235         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
37236         (Depends-on): Add sigprocmask.
37237         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
37238         gt_SIGNALBLOCKING. Test for 'raise' only once.
37239         * lib/fatal-signal.c: Include sigprocmask.h.
37240         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
37241         unblock_fatal_signals): Define always.
37242         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
37243         sigprocmask.
37244
37245 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
37246
37247         Sync from Automake.
37248         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
37249         which incorrectly sets the mode of an existing destination
37250         directory.  In some cases the unpatched install-sh could do the
37251         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
37252         system.  We hope this is rare in practice, but it's clearly worth
37253         fixing.  Problem reported by Alex Unleashed in
37254         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
37255         Also, don't bother to check for -m bugs unless we're using -m;
37256         suggested by Stepan Kasal.
37257
37258 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37259
37260         Sync from Automake.
37261         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
37262         `-c' flag, so they appear at the same position as in %FASTDEP%
37263         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
37264         which ignores unknown options only after the first non-option.
37265         Bug report against M4 by Nelson H. F. Beebe.
37266
37267 2006-10-13  Jim Meyering  <jim@meyering.net>
37268
37269         Fix a bug in yesterday's change.
37270         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
37271         p->fts_statp->st_dev would be used uninitialized.
37272         Ensures that we always call fts_stat on the very first entry.
37273         Miklos Szeredi reported that find -xdev stopped working.
37274
37275 2006-10-12  Bruno Haible  <bruno@clisp.org>
37276
37277         * gnulib-tool (func_get_automake_snippet): Append an automatically
37278         computed EXTRA_DIST augmentation.
37279         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
37280         * modules/alloca-opt (Makefile.am): Likewise.
37281         * modules/allocsa (Makefile.am): Likewise.
37282         * modules/arcfour (Makefile.am): Likewise.
37283         * modules/arctwo (Makefile.am): Likewise.
37284         * modules/argmatch (Makefile.am): Likewise.
37285         * modules/argz (Makefile.am): Likewise.
37286         * modules/atexit (Makefile.am): Likewise.
37287         * modules/backupfile (Makefile.am): Likewise.
37288         * modules/byteswap (Makefile.am): Likewise.
37289         * modules/c-strtod (Makefile.am): Likewise.
37290         * modules/c-strtold (Makefile.am): Likewise.
37291         * modules/calloc (Makefile.am): Likewise.
37292         * modules/canon-host (Makefile.am): Likewise.
37293         * modules/canonicalize (Makefile.am): Likewise.
37294         * modules/chdir-long (Makefile.am): Likewise.
37295         * modules/chdir-safer (Makefile.am): Likewise.
37296         * modules/check-version (Makefile.am): Likewise.
37297         * modules/chown (Makefile.am): Likewise.
37298         * modules/cloexec (Makefile.am): Likewise.
37299         * modules/close-stream (Makefile.am): Likewise.
37300         * modules/closeout (Makefile.am): Likewise.
37301         * modules/crc (Makefile.am): Likewise.
37302         * modules/csharpexec (Makefile.am): Likewise.
37303         * modules/cycle-check (Makefile.am): Likewise.
37304         * modules/des (Makefile.am): Likewise.
37305         * modules/dev-ino (Makefile.am): Likewise.
37306         * modules/dirfd (Makefile.am): Likewise.
37307         * modules/dirname (Makefile.am): Likewise.
37308         * modules/dup2 (Makefile.am): Likewise.
37309         * modules/eealloc (Makefile.am): Likewise.
37310         * modules/error (Makefile.am): Likewise.
37311         * modules/euidaccess (Makefile.am): Likewise.
37312         * modules/exclude (Makefile.am): Likewise.
37313         * modules/exitfail (Makefile.am): Likewise.
37314         * modules/fcntl-safer (Makefile.am): Likewise.
37315         * modules/fcntl (Makefile.am): Likewise.
37316         * modules/file-type (Makefile.am): Likewise.
37317         * modules/fileblocks (Makefile.am): Likewise.
37318         * modules/filemode (Makefile.am): Likewise.
37319         * modules/filenamecat (Makefile.am): Likewise.
37320         * modules/fnmatch (Makefile.am): Likewise.
37321         * modules/fopen-safer (Makefile.am): Likewise.
37322         * modules/fpending (Makefile.am): Likewise.
37323         * modules/fprintftime (Makefile.am): Likewise.
37324         * modules/free (Makefile.am): Likewise.
37325         * modules/fsusage (Makefile.am): Likewise.
37326         * modules/ftruncate (Makefile.am): Likewise.
37327         * modules/fts (Makefile.am): Likewise.
37328         * modules/gc-arcfour (Makefile.am): Likewise.
37329         * modules/gc-des (Makefile.am): Likewise.
37330         * modules/gc-hmac-md5 (Makefile.am): Likewise.
37331         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
37332         * modules/gc-md4 (Makefile.am): Likewise.
37333         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
37334         * modules/gc-sha1 (Makefile.am): Likewise.
37335         * modules/gc (Makefile.am): Likewise.
37336         * modules/getaddrinfo (Makefile.am): Likewise.
37337         * modules/getcwd (Makefile.am): Likewise.
37338         * modules/getdelim (Makefile.am): Likewise.
37339         * modules/getdomainname (Makefile.am): Likewise.
37340         * modules/getgroups (Makefile.am): Likewise.
37341         * modules/gethostname (Makefile.am): Likewise.
37342         * modules/gethrxtime (Makefile.am): Likewise.
37343         * modules/getline (Makefile.am): Likewise.
37344         * modules/getloadavg (Makefile.am): Likewise.
37345         * modules/getlogin_r (Makefile.am): Likewise.
37346         * modules/getndelim2 (Makefile.am): Likewise.
37347         * modules/getopt (Makefile.am): Likewise.
37348         * modules/getpagesize (Makefile.am): Likewise.
37349         * modules/getpass-gnu (Makefile.am): Likewise.
37350         * modules/getpass (Makefile.am): Likewise.
37351         * modules/getsubopt (Makefile.am): Likewise.
37352         * modules/gettime (Makefile.am): Likewise.
37353         * modules/gettimeofday (Makefile.am): Likewise.
37354         * modules/getugroups (Makefile.am): Likewise.
37355         * modules/getusershell (Makefile.am): Likewise.
37356         * modules/glob (Makefile.am): Likewise.
37357         * modules/group-member (Makefile.am): Likewise.
37358         * modules/hard-locale (Makefile.am): Likewise.
37359         * modules/hash (Makefile.am): Likewise.
37360         * modules/hmac-md5 (Makefile.am): Likewise.
37361         * modules/hmac-sha1 (Makefile.am): Likewise.
37362         * modules/human (Makefile.am): Likewise.
37363         * modules/idcache (Makefile.am): Likewise.
37364         * modules/imaxabs (Makefile.am): Likewise.
37365         * modules/imaxdiv (Makefile.am): Likewise.
37366         * modules/inet_ntop (Makefile.am): Likewise.
37367         * modules/inet_pton (Makefile.am): Likewise.
37368         * modules/intprops (Makefile.am): Likewise.
37369         * modules/inttostr (Makefile.am): Likewise.
37370         * modules/inttypes (Makefile.am): Likewise.
37371         * modules/isapipe (Makefile.am): Likewise.
37372         * modules/javaversion (Makefile.am): Likewise.
37373         * modules/lchmod (Makefile.am): Likewise.
37374         * modules/lchown (Makefile.am): Likewise.
37375         * modules/localcharset (Makefile.am): Likewise.
37376         * modules/long-options (Makefile.am): Likewise.
37377         * modules/lstat (Makefile.am): Likewise.
37378         * modules/malloc (Makefile.am): Likewise.
37379         * modules/mathl (Makefile.am): Likewise.
37380         * modules/mbchar (Makefile.am): Likewise.
37381         * modules/md2 (Makefile.am): Likewise.
37382         * modules/md4 (Makefile.am): Likewise.
37383         * modules/md5 (Makefile.am): Likewise.
37384         * modules/memcasecmp (Makefile.am): Likewise.
37385         * modules/memchr (Makefile.am): Likewise.
37386         * modules/memcmp (Makefile.am): Likewise.
37387         * modules/memcoll (Makefile.am): Likewise.
37388         * modules/memcpy (Makefile.am): Likewise.
37389         * modules/memmem (Makefile.am): Likewise.
37390         * modules/memmove (Makefile.am): Likewise.
37391         * modules/mempcpy (Makefile.am): Likewise.
37392         * modules/memrchr (Makefile.am): Likewise.
37393         * modules/memset (Makefile.am): Likewise.
37394         * modules/memxor (Makefile.am): Likewise.
37395         * modules/mkancesdirs (Makefile.am): Likewise.
37396         * modules/mkdir-p (Makefile.am): Likewise.
37397         * modules/mkdir (Makefile.am): Likewise.
37398         * modules/mkdtemp (Makefile.am): Likewise.
37399         * modules/mkstemp (Makefile.am): Likewise.
37400         * modules/mktime (Makefile.am): Likewise.
37401         * modules/modechange (Makefile.am): Likewise.
37402         * modules/mountlist (Makefile.am): Likewise.
37403         * modules/nanosleep (Makefile.am): Likewise.
37404         * modules/obstack (Makefile.am): Likewise.
37405         * modules/openat (Makefile.am): Likewise.
37406         * modules/pagealign_alloc (Makefile.am): Likewise.
37407         * modules/pathmax (Makefile.am): Likewise.
37408         * modules/physmem (Makefile.am): Likewise.
37409         * modules/poll (Makefile.am): Likewise.
37410         * modules/posixtm (Makefile.am): Likewise.
37411         * modules/posixver (Makefile.am): Likewise.
37412         * modules/putenv (Makefile.am): Likewise.
37413         * modules/quote (Makefile.am): Likewise.
37414         * modules/quotearg (Makefile.am): Likewise.
37415         * modules/raise (Makefile.am): Likewise.
37416         * modules/read-file (Makefile.am): Likewise.
37417         * modules/readline (Makefile.am): Likewise.
37418         * modules/readlink (Makefile.am): Likewise.
37419         * modules/readtokens (Makefile.am): Likewise.
37420         * modules/readutmp (Makefile.am): Likewise.
37421         * modules/realloc (Makefile.am): Likewise.
37422         * modules/regex (Makefile.am): Likewise.
37423         * modules/rename-dest-slash (Makefile.am): Likewise.
37424         * modules/rename (Makefile.am): Likewise.
37425         * modules/rijndael (Makefile.am): Likewise.
37426         * modules/rmdir (Makefile.am): Likewise.
37427         * modules/rpmatch (Makefile.am): Likewise.
37428         * modules/safe-read (Makefile.am): Likewise.
37429         * modules/safe-write (Makefile.am): Likewise.
37430         * modules/same-inode (Makefile.am): Likewise.
37431         * modules/same (Makefile.am): Likewise.
37432         * modules/save-cwd (Makefile.am): Likewise.
37433         * modules/savedir (Makefile.am): Likewise.
37434         * modules/setenv (Makefile.am): Likewise.
37435         * modules/settime (Makefile.am): Likewise.
37436         * modules/sha1 (Makefile.am): Likewise.
37437         * modules/sig2str (Makefile.am): Likewise.
37438         * modules/snprintf (Makefile.am): Likewise.
37439         * modules/stat-macros (Makefile.am): Likewise.
37440         * modules/stat-time (Makefile.am): Likewise.
37441         * modules/stdbool (Makefile.am): Likewise.
37442         * modules/stdint (Makefile.am): Likewise.
37443         * modules/stdlib-safer (Makefile.am): Likewise.
37444         * modules/stpcpy (Makefile.am): Likewise.
37445         * modules/stpncpy (Makefile.am): Likewise.
37446         * modules/strcase (Makefile.am): Likewise.
37447         * modules/strcasestr (Makefile.am): Likewise.
37448         * modules/strchrnul (Makefile.am): Likewise.
37449         * modules/strcspn (Makefile.am): Likewise.
37450         * modules/strdup (Makefile.am): Likewise.
37451         * modules/strerror (Makefile.am): Likewise.
37452         * modules/strftime (Makefile.am): Likewise.
37453         * modules/strndup (Makefile.am): Likewise.
37454         * modules/strnlen (Makefile.am): Likewise.
37455         * modules/strpbrk (Makefile.am): Likewise.
37456         * modules/strsep (Makefile.am): Likewise.
37457         * modules/strstr (Makefile.am): Likewise.
37458         * modules/strtod (Makefile.am): Likewise.
37459         * modules/strtoimax (Makefile.am): Likewise.
37460         * modules/strtok_r (Makefile.am): Likewise.
37461         * modules/strtol (Makefile.am): Likewise.
37462         * modules/strtoll (Makefile.am): Likewise.
37463         * modules/strtoul (Makefile.am): Likewise.
37464         * modules/strtoull (Makefile.am): Likewise.
37465         * modules/strtoumax (Makefile.am): Likewise.
37466         * modules/strverscmp (Makefile.am): Likewise.
37467         * modules/sys_socket (Makefile.am): Likewise.
37468         * modules/sys_stat (Makefile.am): Likewise.
37469         * modules/sysexits (Makefile.am): Likewise.
37470         * modules/time_r (Makefile.am): Likewise.
37471         * modules/timegm (Makefile.am): Likewise.
37472         * modules/timespec (Makefile.am): Likewise.
37473         * modules/tmpfile-safer (Makefile.am): Likewise.
37474         * modules/trim (Makefile.am): Likewise.
37475         * modules/unistd-safer (Makefile.am): Likewise.
37476         * modules/unlinkdir (Makefile.am): Likewise.
37477         * modules/unlocked-io (Makefile.am): Likewise.
37478         * modules/userspec (Makefile.am): Likewise.
37479         * modules/utime (Makefile.am): Likewise.
37480         * modules/utimecmp (Makefile.am): Likewise.
37481         * modules/utimens (Makefile.am): Likewise.
37482         * modules/vasnprintf (Makefile.am): Likewise.
37483         * modules/vasprintf (Makefile.am): Likewise.
37484         * modules/vsnprintf (Makefile.am): Likewise.
37485         * modules/xalloc (Makefile.am): Likewise.
37486         * modules/xgetcwd (Makefile.am): Likewise.
37487         * modules/xnanosleep (Makefile.am): Likewise.
37488         * modules/xreadlink (Makefile.am): Likewise.
37489         * modules/xstrtod (Makefile.am): Likewise.
37490         * modules/xstrtol (Makefile.am): Likewise.
37491         * modules/xstrtold (Makefile.am): Likewise.
37492         * modules/yesno (Makefile.am): Likewise.
37493         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
37494
37495 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
37496
37497         * modules/error (Makefile.am): Distribute files through
37498         EXTRA_DIST, not lib_SOURCES.
37499
37500 2006-10-12  Eric Blake  <ebb9@byu.net>
37501
37502         * modules/error (Makefile.am): Distribute files in /lib.
37503         * modules/obstack (Makefile.am): Likewise.
37504
37505 2006-10-12  Bruno Haible  <bruno@clisp.org>
37506
37507         * modules/acl (Makefile.am): Distribute all files in lib/ through
37508         EXTRA_DIST.
37509         * modules/arcfour (Makefile.am): Likewise.
37510         * modules/arctwo (Makefile.am): Likewise.
37511         * modules/argmatch (Makefile.am): Likewise.
37512         * modules/argz (Makefile.am): Likewise.
37513         * modules/atexit (Makefile.am): Likewise.
37514         * modules/backupfile (Makefile.am): Likewise.
37515         * modules/c-strtod (Makefile.am): Likewise.
37516         * modules/c-strtold (Makefile.am): Likewise.
37517         * modules/calloc (Makefile.am): Likewise.
37518         * modules/canon-host (Makefile.am): Likewise.
37519         * modules/canonicalize (Makefile.am): Likewise.
37520         * modules/chdir-long (Makefile.am): Likewise.
37521         * modules/chdir-safer (Makefile.am): Likewise.
37522         * modules/check-version (Makefile.am): Likewise.
37523         * modules/chown (Makefile.am): Likewise.
37524         * modules/cloexec (Makefile.am): Likewise.
37525         * modules/close-stream (Makefile.am): Likewise.
37526         * modules/closeout (Makefile.am): Likewise.
37527         * modules/crc (Makefile.am): Likewise.
37528         * modules/cycle-check (Makefile.am): Likewise.
37529         * modules/des (Makefile.am): Likewise.
37530         * modules/dirfd (Makefile.am): Likewise.
37531         * modules/dirname (Makefile.am): Likewise.
37532         * modules/dup2 (Makefile.am): Likewise.
37533         * modules/euidaccess (Makefile.am): Likewise.
37534         * modules/exclude (Makefile.am): Likewise.
37535         * modules/exitfail (Makefile.am): Likewise.
37536         * modules/fcntl-safer (Makefile.am): Likewise.
37537         * modules/file-type (Makefile.am): Likewise.
37538         * modules/fileblocks (Makefile.am): Likewise.
37539         * modules/filemode (Makefile.am): Likewise.
37540         * modules/filenamecat (Makefile.am): Likewise.
37541         * modules/fnmatch (Makefile.am): Likewise.
37542         * modules/fopen-safer (Makefile.am): Likewise.
37543         * modules/fpending (Makefile.am): Likewise.
37544         * modules/fprintftime (Makefile.am): Likewise.
37545         * modules/free (Makefile.am): Likewise.
37546         * modules/fsusage (Makefile.am): Likewise.
37547         * modules/ftruncate (Makefile.am): Likewise.
37548         * modules/fts (Makefile.am): Likewise.
37549         * modules/gc (Makefile.am): Likewise.
37550         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
37551         * modules/getaddrinfo (Makefile.am): Likewise.
37552         * modules/getcwd (Makefile.am): Likewise.
37553         * modules/getdelim (Makefile.am): Likewise.
37554         * modules/getdomainname (Makefile.am): Likewise.
37555         * modules/getgroups (Makefile.am): Likewise.
37556         * modules/gethostname (Makefile.am): Likewise.
37557         * modules/gethrxtime (Makefile.am): Likewise.
37558         * modules/getline (Makefile.am): Likewise.
37559         * modules/getloadavg (Makefile.am): Likewise.
37560         * modules/getlogin_r (Makefile.am): Likewise.
37561         * modules/getopt (Makefile.am): Likewise.
37562         * modules/getpass (Makefile.am): Likewise.
37563         * modules/getpass-gnu (Makefile.am): Likewise.
37564         * modules/getsubopt (Makefile.am): Likewise.
37565         * modules/gettime (Makefile.am): Likewise.
37566         * modules/gettimeofday (Makefile.am): Likewise.
37567         * modules/getugroups (Makefile.am): Likewise.
37568         * modules/getusershell (Makefile.am): Likewise.
37569         * modules/glob (Makefile.am): Likewise.
37570         * modules/group-member (Makefile.am): Likewise.
37571         * modules/hard-locale (Makefile.am): Likewise.
37572         * modules/hash (Makefile.am): Likewise.
37573         * modules/hmac-md5 (Makefile.am): Likewise.
37574         * modules/hmac-sha1 (Makefile.am): Likewise.
37575         * modules/human (Makefile.am): Likewise.
37576         * modules/idcache (Makefile.am): Likewise.
37577         * modules/imaxabs (Makefile.am): Likewise.
37578         * modules/imaxdiv (Makefile.am): Likewise.
37579         * modules/inet_ntop (Makefile.am): Likewise.
37580         * modules/inet_pton (Makefile.am): Likewise.
37581         * modules/inttostr (Makefile.am): Likewise.
37582         * modules/isapipe (Makefile.am): Likewise.
37583         * modules/lchown (Makefile.am): Likewise.
37584         * modules/long-options (Makefile.am): Likewise.
37585         * modules/lstat (Makefile.am): Likewise.
37586         * modules/malloc (Makefile.am): Likewise.
37587         * modules/mathl (Makefile.am): Likewise.
37588         * modules/mbchar (Makefile.am): Likewise.
37589         * modules/md2 (Makefile.am): Likewise.
37590         * modules/md4 (Makefile.am): Likewise.
37591         * modules/md5 (Makefile.am): Likewise.
37592         * modules/memcasecmp (Makefile.am): Likewise.
37593         * modules/memchr (Makefile.am): Likewise.
37594         * modules/memcmp (Makefile.am): Likewise.
37595         * modules/memcoll (Makefile.am): Likewise.
37596         * modules/memcpy (Makefile.am): Likewise.
37597         * modules/memmem (Makefile.am): Likewise.
37598         * modules/memmove (Makefile.am): Likewise.
37599         * modules/mempcpy (Makefile.am): Likewise.
37600         * modules/memrchr (Makefile.am): Likewise.
37601         * modules/memset (Makefile.am): Likewise.
37602         * modules/memxor (Makefile.am): Likewise.
37603         * modules/mkancesdirs (Makefile.am): Likewise.
37604         * modules/mkdir (Makefile.am): Likewise.
37605         * modules/mkdir-p (Makefile.am): Likewise.
37606         * modules/mkdtemp (Makefile.am): Likewise.
37607         * modules/mkstemp (Makefile.am): Likewise.
37608         * modules/mktime (Makefile.am): Likewise.
37609         * modules/modechange (Makefile.am): Likewise.
37610         * modules/mountlist (Makefile.am): Likewise.
37611         * modules/nanosleep (Makefile.am): Likewise.
37612         * modules/openat (Makefile.am): Likewise.
37613         * modules/pagealign_alloc (Makefile.am): Likewise.
37614         * modules/physmem (Makefile.am): Likewise.
37615         * modules/poll (Makefile.am): Likewise.
37616         * modules/posixtm (Makefile.am): Likewise.
37617         * modules/posixver (Makefile.am): Likewise.
37618         * modules/putenv (Makefile.am): Likewise.
37619         * modules/quote (Makefile.am): Likewise.
37620         * modules/quotearg (Makefile.am): Likewise.
37621         * modules/raise (Makefile.am): Likewise.
37622         * modules/read-file (Makefile.am): Likewise.
37623         * modules/readline (Makefile.am): Likewise.
37624         * modules/readlink (Makefile.am): Likewise.
37625         * modules/readtokens (Makefile.am): Likewise.
37626         * modules/readutmp (Makefile.am): Likewise.
37627         * modules/realloc (Makefile.am): Likewise.
37628         * modules/regex (Makefile.am): Likewise.
37629         * modules/rename (Makefile.am): Likewise.
37630         * modules/rename-dest-slash (Makefile.am): Likewise.
37631         * modules/rijndael (Makefile.am): Likewise.
37632         * modules/rmdir (Makefile.am): Likewise.
37633         * modules/rpmatch (Makefile.am): Likewise.
37634         * modules/safe-read (Makefile.am): Likewise.
37635         * modules/safe-write (Makefile.am): Likewise.
37636         * modules/same (Makefile.am): Likewise.
37637         * modules/save-cwd (Makefile.am): Likewise.
37638         * modules/savedir (Makefile.am): Likewise.
37639         * modules/setenv (Makefile.am): Likewise.
37640         * modules/settime (Makefile.am): Likewise.
37641         * modules/sha1 (Makefile.am): Likewise.
37642         * modules/sig2str (Makefile.am): Likewise.
37643         * modules/snprintf (Makefile.am): Likewise.
37644         * modules/stdlib-safer (Makefile.am): Likewise.
37645         * modules/stpcpy (Makefile.am): Likewise.
37646         * modules/stpncpy (Makefile.am): Likewise.
37647         * modules/strcase (Makefile.am): Likewise.
37648         * modules/strcasestr (Makefile.am): Likewise.
37649         * modules/strchrnul (Makefile.am): Likewise.
37650         * modules/strcspn (Makefile.am): Likewise.
37651         * modules/strdup (Makefile.am): Likewise.
37652         * modules/strerror (Makefile.am): Likewise.
37653         * modules/strftime (Makefile.am): Likewise.
37654         * modules/strndup (Makefile.am): Likewise.
37655         * modules/strnlen (Makefile.am): Likewise.
37656         * modules/strpbrk (Makefile.am): Likewise.
37657         * modules/strsep (Makefile.am): Likewise.
37658         * modules/strstr (Makefile.am): Likewise.
37659         * modules/strtod (Makefile.am): Likewise.
37660         * modules/strtoimax (Makefile.am): Likewise.
37661         * modules/strtok_r (Makefile.am): Likewise.
37662         * modules/strtol (Makefile.am): Likewise.
37663         * modules/strtoll (Makefile.am): Likewise.
37664         * modules/strtoul (Makefile.am): Likewise.
37665         * modules/strtoull (Makefile.am): Likewise.
37666         * modules/strtoumax (Makefile.am): Likewise.
37667         * modules/strverscmp (Makefile.am): Likewise.
37668         * modules/time_r (Makefile.am): Likewise.
37669         * modules/timegm (Makefile.am): Likewise.
37670         * modules/tmpfile-safer (Makefile.am): Likewise.
37671         * modules/unistd-safer (Makefile.am): Likewise.
37672         * modules/unlinkdir (Makefile.am): Likewise.
37673         * modules/userspec (Makefile.am): Likewise.
37674         * modules/utime (Makefile.am): Likewise.
37675         * modules/utimecmp (Makefile.am): Likewise.
37676         * modules/utimens (Makefile.am): Likewise.
37677         * modules/vasnprintf (Makefile.am): Likewise.
37678         * modules/vasprintf (Makefile.am): Likewise.
37679         * modules/vsnprintf (Makefile.am): Likewise.
37680         * modules/xalloc (Makefile.am): Likewise.
37681         * modules/xgetcwd (Makefile.am): Likewise.
37682         * modules/xnanosleep (Makefile.am): Likewise.
37683         * modules/xreadlink (Makefile.am): Likewise.
37684         * modules/xstrtod (Makefile.am): Likewise.
37685         * modules/xstrtol (Makefile.am): Likewise.
37686         * modules/xstrtold (Makefile.am): Likewise.
37687         * modules/yesno (Makefile.am): Likewise.
37688
37689 2006-10-12  Jim Meyering  <jim@meyering.net>
37690
37691         * m4/getloadavg.m4: Revert the change below.
37692
37693         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
37694         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
37695         fail with a symlink, which is what coreutils' ./bootstrap now
37696         creates by default.
37697
37698 2006-10-12  Bruno Haible  <bruno@clisp.org>
37699
37700         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
37701         mingw.
37702         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
37703         MSVC and mingw explicitly.
37704
37705 2006-10-11  Simon Josefsson  <jas@extundo.com>
37706             Bruno Haible  <bruno@clisp.org>
37707
37708         Add support for multiple gnulib-tool invocations in the scope of a
37709         single configure.ac file.
37710         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
37711         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
37712         with the same contents as the _LIBADD variable.
37713         (func_emit_initmacro_start, func_emit_initmacro_end,
37714         func_emit_initmacro_done): New functions.
37715         (func_import, func_create_testdir): Invoke them. Allow the identifiers
37716         gl_LIBOBJS and gl_LTLIBOBJS.
37717
37718 2006-10-11  Bruno Haible  <bruno@clisp.org>
37719
37720         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
37721         (func_create_testdir): Don't create po/Makefile.am, don't invoke
37722         autoreconf. Instead, invoke autopoint explicitly but move back the
37723         *.m4 files from gnulib.
37724
37725 2006-10-11  Bruno Haible  <bruno@clisp.org>
37726
37727         * gnulib-tool (func_usage): Make module names after --create-testdir
37728         optional.
37729         (func_create_testdir): If no module was specified, use nearly all
37730         modules.
37731
37732 2006-10-12  Jim Meyering  <jim@meyering.net>
37733
37734         Big performance improvement for fts-based tools that use FTS_NOSTAT.
37735         Avoid spurious inode-mismatch problems on non-POSIX file systems.
37736         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
37737         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
37738         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
37739         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
37740         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
37741         (fts_set_stat_required): New function.
37742         (fts_open): Defer the calls to fts_stat, if possible or requested.
37743         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
37744         into fts_stat itself.
37745         (fts_read): Perform any required (deferred) fts_stat call.
37746         (fts_build): Likewise, for the directory we're about to open and read.
37747         In the readdir loop, carefully decide whether each entry will require
37748         an eventual call to fts_stat, using dirent.d_type info if available.
37749         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
37750         a command line argument into this function.  Update all callers.
37751         Map a return value of FTS_DOT to FTS_D for a command line argument.
37752         * modules/fts (Depends-on): Add d-type.  Alphabetize.
37753         Thanks to Miklos Szeredi for his tenacity and for the initial
37754         bug report about "find" failing on a FUSE-based file system.
37755
37756         * lib/fts.c (fts_open): Use consistent indentation.
37757
37758 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
37759
37760         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
37761         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
37762         reported by Jim Meyering.  All uses of cache variables renamed
37763         to match Autoconf's.
37764         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
37765         the other one.
37766
37767         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
37768         Fix misspelling in diagnostic.
37769
37770 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
37771
37772         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
37773         defined.  Problem reported by Matthew Woehlke.
37774
37775         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
37776         Add support for Tandem NonStop R series.
37777         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
37778         Use new macro.
37779
37780         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
37781         (has_trailing_slash): Omit size arg; all callers changed.
37782         Omit 'inline', since it doesn't help performance and we'd
37783         need to configure it.
37784         Don't count //, ///, etc. as having a trailing slash.
37785         As a side effect, this removes a C99ism reported by Matthew Woehlke.
37786         (rpl_rename_dest_slash): On failure, use rename's errno rather
37787         than (in some cases) an incorrect or junk errno.
37788         Simplify code by removing need to compute length; this does
37789         cause it to make two passes instead of one over the file name,
37790         but it's worth it.
37791
37792         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
37793         change, since Autoconf's version may no longer be appropriate now
37794         that we are using CVS Autoconf's version.  Add support for Tandem.
37795
37796 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
37797             Bruno Haible  <bruno@clisp.org>
37798
37799         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
37800         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
37801         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
37802         gl_AC_TYPE_LONG_LONG.
37803
37804         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
37805         instead of HAVE_LONG_LONG.
37806         * lib/printf-args.c (printf_fetchargs): Likewise.
37807         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
37808         * lib/vasnprintf.c (VASNPRINTF): Likewise.
37809         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
37810         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
37811         gl_AC_TYPE_LONG_LONG.
37812
37813 2006-10-11  Bruno Haible  <bruno@clisp.org>
37814
37815         * m4/longlong.m4: Add comments.
37816         * m4/ulonglong.m4: Likewise.
37817
37818 2006-10-10  Bruno Haible  <bruno@clisp.org>
37819
37820         Make it possible to #define stpcpy, strdup to aliases.
37821         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
37822         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
37823
37824 2006-10-10  Bruno Haible  <bruno@clisp.org>
37825
37826         Make it possible to #define gcd to an alias.
37827         * lib/gcd.c: Include config.h.
37828
37829 2006-10-10  Bruno Haible  <bruno@clisp.org>
37830
37831         Make it possible to #define c_isascii to an alias.
37832         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
37833         defined. Undefine the macros before defining them, to avoid gcc
37834         warnings.
37835         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
37836         define NO_C_CTYPE_MACROS early.
37837
37838 2006-10-10  Bruno Haible  <bruno@clisp.org>
37839
37840         Make it possible to #define set_program_name to an alias.
37841         * lib/progname.c: Don't undefine set_program_name; instead, undefine
37842         ENABLE_RELOCATABLE early.
37843
37844 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
37845
37846         Port to Tandem NSK OSS, which has 64-bit signed int but at most
37847         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
37848         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
37849         More generally, don't assume that 64-bit signed int is available
37850         if unsigned int is, and vice versa.
37851         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
37852         unsigned symbols, not on their signed counterparts.
37853         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
37854         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
37855         (UINT64_C, UINTMAX_C):
37856         Likewise.
37857         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
37858         unsigned counterparts.
37859         (Have_long_long, Unsigned): New macros.
37860         (Int): Renamed from INT.
37861         (strtoimax): Use the new macros.
37862         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
37863         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
37864         * modules/inttypes (inttypes.h): Substitute
37865         HAVE_UNSIGNED_LONG_LONG_INT.
37866         * modules/stdint (stdint.h): Likewise.
37867         (Files): Add m4/ulonglong.m4.
37868
37869 2006-10-10  Bruno Haible  <bruno@clisp.org>
37870
37871         Fix a gcc -Wshadow warning.
37872         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
37873         to 'bucket'.
37874         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
37875         gl_linked_indexof_from_to): Likewise.
37876         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
37877         Likewise.
37878         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
37879         Likewise.
37880         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
37881         Reported by Eric Blake.
37882
37883 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
37884
37885         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
37886         for NetBSD.  Problem reported by Bruno Haible.
37887
37888 2006-10-09  Jim Meyering  <jim@meyering.net>
37889
37890         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
37891         Patch from Bruno Haible.
37892
37893 2006-10-09  Jim Meyering  <jim@meyering.net>
37894
37895         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
37896         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
37897         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
37898
37899 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
37900
37901         Don't include <config.h> twice; this doesn't work in some cases,
37902         e.g., when config.h has "#define intmax_t long long int" and
37903         we include <config.h>, <inttypes.h>, <config.h> in that order.
37904         Problem reported by Matthew Woehlke in:
37905         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
37906         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
37907         * lib/fts-cycle.c: Don't include config.h.
37908         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
37909         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
37910         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
37911         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
37912         inttypes.h.
37913         * lib/xstrtoumax.c: Likewise.
37914         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
37915         __strtol and the like, so that this module is more like its siblings.
37916         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
37917         Remove; no longer needed now that we assume gnulib inttypes.h.
37918
37919 2006-10-08  Bruno Haible  <bruno@clisp.org>
37920
37921         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
37922         option.
37923
37924 2006-10-07  Jim Meyering  <jim@meyering.net>
37925
37926         * modules/inttypes (inttypes.h): Revert what seems to have been
37927         an inadvertent part of today's change: use "|", not "/" in the
37928         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
37929
37930 2006-10-07  Bruno Haible  <bruno@clisp.org>
37931
37932         * modules/sublist: New file.
37933
37934 2006-10-07  Bruno Haible  <bruno@clisp.org>
37935
37936         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
37937         * modules/argz (argz.h): Likewise.
37938         * modules/arpa_inet (arpa/inet.h): Likewise.
37939         * modules/byteswap (byteswap.h): Likewise.
37940         * modules/configmake (configmake.h): Likewise.
37941         * modules/fcntl (fcntl.h): Likewise.
37942         * modules/fnmatch (fnmatch.h): Likewise.
37943         * modules/getopt (getopt.h): Likewise.
37944         * modules/glob (glob.h): Likewise.
37945         * modules/inttypes (inttypes.h): Likewise.
37946         * modules/netinet_in (netinet/in.h): Likewise.
37947         * modules/poll (poll.h): Likewise.
37948         * modules/stdbool (stdbool.h): Likewise.
37949         * modules/stdint (stdint.h): Likewise.
37950         * modules/sys_select (sys/select.h): Likewise.
37951         * modules/sys_socket (sys/socket.h): Likewise.
37952         * modules/sys_stat (sys/stat.h): Likewise.
37953         * modules/sysexits (sysexits.h): Likewise.
37954         * modules/unistd (unistd.h): Likewise.
37955         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
37956         Add a "DO NOT EDIT" comment to the generated file.
37957         (func_import): Likewise for gnulib-comp.m4.
37958
37959 2006-10-07  Bruno Haible  <bruno@clisp.org>
37960
37961         * lib/gl_sublist.h: New file.
37962         * lib/gl_sublist.c: New file.
37963
37964 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
37965
37966         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
37967         name (relative to the original working directory) and the file
37968         name component (relative to the temporary working directory).  All
37969         callers changed.
37970         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
37971         * lib/mkdir-p.c (make_dir_parents): Likewise.
37972         * lib/mkdir-p.h (make_dir_parents): Likewise.
37973
37974 2006-10-06  Eric Blake  <ebb9@byu.net>
37975
37976         Define several macros for use by the clean-temp module.
37977         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
37978         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
37979         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
37980
37981         * lib/clean-temp.h (close_stream_temp): New declaration.
37982         * lib/clean-temp.c (includes): Pull in headers according to what
37983         other modules are in use.
37984         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
37985
37986 2006-10-06  Bruno Haible  <bruno@clisp.org>
37987
37988         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
37989         instead of fopen, fwriteerror.
37990
37991 2006-10-06  Bruno Haible  <bruno@clisp.org>
37992
37993         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
37994         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
37995         int.
37996         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
37997         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
37998         Return an error indicator.
37999         Suggested by Eric Blake.
38000
38001 2006-10-06  Bruno Haible  <bruno@clisp.org>
38002
38003         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
38004         Reported by Eric Blake.
38005
38006 2006-10-06  Bruno Haible  <bruno@clisp.org>
38007
38008         * modules/closeout (Description): Mention stderr too.
38009
38010 2006-10-06  Bruno Haible  <bruno@clisp.org>
38011         and Paul Eggert  <eggert@cs.ucla.edu>
38012
38013         * lib/closeout.c (close_stdout): Also close stderr.
38014         * lib/closeout.h: Update comment.
38015
38016 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
38017
38018         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
38019         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
38020         * lib/dirchownmod.c: Include lchown.h.
38021         * lib/lchown.c: Don't include files that lchown.h now includes.
38022         Don't declare chown, since lchown.h now does that.
38023         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
38024         (lchown): Define to rpl_chown if lchown is declared but
38025         does not exist.  Declare using a prototype if lchown is not
38026         declared.  Add a copyright notice.
38027         * lib/mkstemp.h: Include <unistd.h>.
38028         * lib/openat.c: Include lchown.h.
38029
38030         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
38031         we now test for that separately.
38032         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
38033         rather than O_NOFOLLOW, when testing whether it's possible to
38034         avoid a race condition reliably.
38035         * lib/savewd.c (savewd_chdir): Likewise.
38036
38037         Remove macros that are no longer needed now that stdint.h is
38038         reliable.
38039         * lib/fsusage.c (UINTMAX_MAX): Remove.
38040         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
38041         * lib/utimecmp.c (SIZE_MAX): Remove.
38042
38043         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
38044
38045         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
38046         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
38047         O_NOATIME works.
38048
38049 2006-10-05  Bruno Haible  <bruno@clisp.org>
38050
38051         * lib/gl_list.h (gl_sortedlist_search_from_to,
38052         gl_sortedlist_indexof_from_to): New declarations.
38053         (gl_list_implementation): New fields sortedlist_search_from_to,
38054         sortedlist_indexof_from_to.
38055         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
38056         inline functions.
38057         * lib/gl_list.c (gl_sortedlist_search_from_to,
38058         gl_sortedlist_indexof_from_to): New functions.
38059         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
38060         function.
38061         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
38062         (gl_array_sortedlist_search_from_to): New function.
38063         (gl_array_list_implementation): Update.
38064         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
38065         function.
38066         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
38067         (gl_carray_sortedlist_search_from_to): New function.
38068         (gl_carray_list_implementation): Update.
38069         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
38070         gl_linked_sortedlist_indexof_from_to): New functions.
38071         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
38072         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
38073         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
38074         gl_tree_sortedlist_indexof_from_to): New functions.
38075         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
38076         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
38077         Update.
38078         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
38079         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
38080         Update.
38081
38082 2006-10-05  Bruno Haible  <bruno@clisp.org>
38083
38084         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
38085         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
38086         (struct gl_list_implementation): Add fields search_from_to,
38087         indexof_from_to. Remove fields search, indexof.
38088         (gl_list_search): Use the search_from_to method.
38089         (gl_list_search_from, gl_list_search_from_to): New functions.
38090         (gl_list_indexof): Use the indexof_from_to method.
38091         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
38092         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
38093         (gl_list_search_from, gl_list_search_from_to): New functions.
38094         (gl_list_indexof): Use the indexof_from_to method.
38095         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
38096         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
38097         gl_array_indexof. Add start_index, end_index arguments.
38098         (gl_array_search_from_to): Renamed from gl_array_search. Add
38099         start_index, end_index arguments.
38100         (gl_array_remove, gl_array_list_implementation): Update.
38101         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
38102         gl_carray_indexof. Add start_index, end_index arguments.
38103         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
38104         start_index, end_index arguments.
38105         (gl_carray_remove, gl_carray_list_implementation): Update.
38106         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
38107         gl_linked_search. Add start_index, end_index arguments.
38108         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
38109         start_index, end_index arguments.
38110         (gl_linked_remove): Update.
38111         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
38112         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
38113         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
38114         field to 'size_t'.
38115         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
38116         gl_tree_search. Add start_index, end_index arguments.
38117         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
38118         start_index, end_index arguments.
38119         (gl_tree_remove): Update.
38120         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
38121         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
38122         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
38123         function.
38124         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
38125         gl_tree_search. Add start_index, end_index arguments.
38126         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
38127         start_index, end_index arguments.
38128         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
38129         Update.
38130         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
38131
38132 2006-10-05  Bruno Haible  <bruno@clisp.org>
38133
38134         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
38135
38136         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
38137         fwriteerror_temp): New declarations.
38138         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
38139         (descriptors): New variable.
38140         (cleanup): First, close the descriptors.
38141         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
38142         fclose_temp, fwriteerror_temp): New functions.
38143
38144 2006-10-04  Jim Meyering  <jim@meyering.net>
38145
38146         * lib/fts.c (fts_open): Tiny comment change.
38147
38148 2006-10-04  Bruno Haible  <bruno@clisp.org>
38149
38150         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
38151         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
38152         gl_LOCK_BODY.
38153         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
38154         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
38155         gl_LOCK_EARLY_BODY.
38156         (gl_LOCK): Require gl_LOCK_BODY.
38157
38158 2006-10-04  Bruno Haible  <bruno@clisp.org>
38159
38160         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
38161         (gl_oset_search_atleast): New declaration.
38162         (struct gl_oset_implementation): Add field 'search_atleast'.
38163         (gl_oset_search_atleast): New inline function.
38164         * lib/gl_oset.c (gl_oset_search_atleast): New function.
38165         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
38166         (gl_array_oset_implementation): Update.
38167         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
38168         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
38169         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
38170
38171 2006-10-04  Bruno Haible  <bruno@clisp.org>
38172
38173         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
38174
38175 2006-10-03  Bruno Haible  <bruno@clisp.org>
38176
38177         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
38178         from gl_avltreehash_list_implementation.
38179
38180 2006-10-03  Bruno Haible  <bruno@clisp.org>
38181
38182         * lib/gl_oset.c (gl_oset_add): Fix return type.
38183
38184 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
38185
38186         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
38187
38188 2006-10-02  Eric Blake  <ebb9@byu.net>
38189
38190         * modules/strnlen (Depends-on): Add extensions.
38191
38192 2006-10-02  Eric Blake  <ebb9@byu.net>
38193
38194         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
38195         definition in 2.60+.
38196
38197 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
38198
38199         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
38200         checks.
38201
38202 2006-10-02  Bruno Haible  <bruno@clisp.org>
38203
38204         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
38205         to the AUTOMAKE_OPTIONS.
38206         Reported by Jim Meyering.
38207
38208 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
38209
38210         Work around bug in Solaris 10 /proc file system:
38211         /proc/self/fd/NNN/.. isn't the parent directory of
38212         the directory whose file descriptor is NNN.  This needs to
38213         be worked around at run time, not compile time, since a
38214         program might be built on Solaris 8, where things work, and
38215         run on Solaris 10.
38216         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
38217         to use the following interface instead:
38218         (OPENAT_BUFFER_SIZE): New macro.
38219         (openat_proc_name): New function.
38220         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
38221         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
38222         Likewise.
38223         * lib/openat-proc.c: New file.
38224         * modules/openat (Files): Add lib/openat-proc.c.
38225         (Depends-on): Add same-inode, stdbool.
38226         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
38227
38228 2006-09-29  Bruno Haible  <bruno@clisp.org>
38229
38230         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
38231         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
38232         argument. Set stdout_closed before testing for ferror, not after.
38233         (fwriteerror, fwriteerror_no_ebadf): New functions.
38234
38235 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38236
38237         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
38238
38239 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
38240
38241         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
38242         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
38243
38244 2006-09-28  Jim Meyering  <jim@meyering.net>
38245
38246         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
38247         Include <unistd.h>.
38248
38249 2006-09-28  Bruno Haible  <bruno@clisp.org>
38250
38251         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
38252         * modules/linkedhash-list (Depends-on): Likewise.
38253         * modules/rbtreehash-list (Depends-on): Likewise.
38254
38255 2006-09-28  Bruno Haible  <bruno@clisp.org>
38256
38257         * lib/strndup.h: Simplify the redefinition of strndup.
38258         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
38259         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
38260
38261 2006-09-28  Bruno Haible  <bruno@clisp.org>
38262
38263         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
38264         * lib/gl_linkedhash_list.c: Likewise.
38265         * lib/gl_rbtreehash_list.c: Likewise.
38266
38267 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
38268
38269         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
38270         getaddrinfo.
38271
38272         * lib/__fpending.h: Don't include <stdio_ext.h> unless
38273         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
38274         it causes <stdio_ext.h> to cause a compile-time error.
38275         Problem reported by Nelson H. F. Beebe.
38276         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
38277         of HAVE_DECL___PENDING.
38278
38279         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
38280         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
38281         declaration.
38282
38283 2006-09-27  Jim Meyering  <jim@meyering.net>
38284
38285         This file could end up with a definition for a function
38286         named __strndup, rather than rpl_strndup on a system with
38287         incomplete weak_alias support.
38288         * lib/strndup.c (strndup): Rename from __strndup.
38289         Remove #defines that used to map __strndup to strndup.
38290         Don't use K&R prototypes.
38291         Remove LIBC-related code, since this file is not sync'd with glibc.
38292         * lib/strndup.h: Revamp, accordingly.
38293         * m4/strndup.m4: Modernize.
38294
38295 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
38296
38297         * modules/savewd (Depends-on): Add 'raise'.
38298         * lib/savewd.c: Include <signal.h>, for 'raise'.
38299
38300 2006-09-26  Jim Meyering  <jim@meyering.net>
38301
38302         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
38303         when we detect Darwin 8.7.0's acl_get_file bug.
38304         Rearrange to perform the new (below) run-test while $LIBS
38305         contains any acl-related library.  Set USE_ACL at the end.
38306         (gl_ACL_GET_FILE): New function.
38307
38308 2006-09-26  Eric Blake  <ebb9@byu.net>
38309
38310         * lib/verror.c: Include <config.h> unconditionally.
38311
38312 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
38313
38314         * modules/clock-time (Maintainer): Add self.
38315         * modules/getlogin_r (Depends-on): Add extensions.
38316
38317 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38318
38319         * modules/clock-time: New module.
38320         * modules/nanosleep (Depends-on): Add clock-time.
38321         * modules/gethrxtime (Depends-on): Likewise.
38322         * modules/gettime (Depends-on): Likewise.
38323         * modules/settime (Depends-on): Likewise.
38324
38325         * modules/fts-lgpl: Depend on openat.
38326         * modules/mkancesdirs: Depend on savewd.
38327         * modules/mkdir-p: Likewise.
38328
38329 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38330
38331         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
38332
38333         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
38334         `gl_have_arbitrary_file_name_length_limit' to
38335         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
38336         actually works between configure runs.
38337
38338 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38339             Bruno Haible  <bruno@clisp.org>
38340
38341         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
38342
38343 2006-09-25  Jim Meyering  <jim@meyering.net>
38344
38345         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
38346         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
38347
38348 2006-09-25  Eric Blake  <ebb9@byu.net>
38349
38350         * gnulib-tool (func_import, func_create_testdir): Fix typos in
38351         exec's in 2006-09-18 patch when shuffling fds.
38352
38353 2006-09-25  Bruno Haible  <bruno@clisp.org>
38354
38355         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
38356         Reported by Jim Meyering.
38357
38358 2006-09-24  Jim Meyering  <jim@meyering.net>
38359
38360         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
38361         compare a pointer against a literal "0".  That caused failures with
38362         at least HP-UX's hpcc.
38363
38364 2006-09-22  Simon Josefsson  <jas@extundo.com>
38365
38366         * modules/gc-sha1:
38367         * modules/gc-md4:
38368         * modules/gc-hmac-sha1:
38369         * modules/gc-hmac-md5:
38370         * modules/gc-des:
38371         * modules/gc-arcfour: Distribute more files.
38372
38373 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38374
38375         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
38376         (gl_linked_iterator_from_to): Initialize struct completely.
38377         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
38378         (gl_tree_iterator_from_to): Likewise
38379         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
38380         * lib/gl_array_list.c [lint] (gl_array_iterator)
38381         (gl_array_iterator_from_to): Likewise.
38382         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
38383         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
38384         (gl_carray_iterator_from_to): Likewise.
38385
38386         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
38387         * lib/md4.c (md4_process_block): Remove unused variable.
38388         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
38389         parentheses for clarity.
38390
38391 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38392
38393         * modules/bison-i18n (Depends-on): Add gettext.
38394
38395 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38396
38397         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
38398         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
38399         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
38400         also add missing comma that caused broken test.
38401         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
38402         stdlib.h, for `abort'.
38403         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
38404         variables.
38405         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
38406         include unistd.h if present, for `rmdir'.
38407         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
38408         variables.
38409         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
38410         in the process include standard headers for prototypes.
38411         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
38412         gets declared on GNU/Linux.
38413         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
38414         unistd.h, for `rmdir'.
38415         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
38416
38417         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
38418         always true.
38419         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
38420
38421         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
38422
38423 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38424
38425         * gnulib-tool (func_version): Create output all at once.  This
38426         may help avoid triggering unnecessary SIGPIPEs, and at any
38427         rate it doesn't hurt.
38428
38429 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38430             Bruno Haible  <bruno@clisp.org>
38431
38432         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
38433         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
38434         * m4/signed.m4 (bh_C_SIGNED): Likewise.
38435
38436         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
38437         (gl_FUNC_VASPRINTF): Invoke it.
38438
38439 2006-09-22  Bruno Haible  <bruno@clisp.org>
38440
38441         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
38442         getloadavg.c as first argument.
38443
38444 2006-09-22  Bruno Haible  <bruno@clisp.org>
38445
38446         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
38447         at the beginning of the gl_INIT macro.
38448         * modules/getloadavg (configure.ac): Pass $gl_source_base to
38449         gl_GETLOADAVG.
38450
38451 2006-09-22  Bruno Haible  <bruno@clisp.org>
38452
38453         * gnulib-tool (func_create_megatestdir): Don't include the config-h
38454         module.
38455         Suggested by Ralf Wildenhues.
38456
38457 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
38458
38459         Import this patch from libc:
38460
38461         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
38462
38463         * lib/regex_internal.c (re_string_reconstruct): Handle
38464         offset < pstr->valid_raw_len && pstr->offsets_needed case.
38465         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
38466         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
38467         re_string_context_at.
38468
38469         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
38470         now requires it.
38471         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
38472         gl_REGEX now does it for us.
38473         (gl_REGEX): Add test taken from
38474         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
38475
38476         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
38477         Check that large offsets work.  Modernize Autoconf usages.
38478         Prefer "yes" to mean a good thing rather than a bad.
38479         Don't put "#define mkstemp" in config.h, as this might interfere
38480         with standard system headers that "#define mkstemp mkstemp64".
38481
38482         * modules/mkstemp (Depends-on): Add extensions, so that
38483         mkstemp is visible on some platforms.
38484         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
38485         (Include): Change to "mkstemp.h" from <stdlib.h>.
38486         (Files): Add mkstemp.h.
38487
38488         * lib/mkstemp.h: New file, since some standard headers
38489         #define mkstemp.
38490         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
38491         Include "mkstemp.h".
38492         Make the _LIBC code resemble glibc original more,
38493         e.g., use K&R style.
38494         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
38495         (mkstemp): Remove, since mkstemp.h does this for us.
38496         * lib/stdlib--.h: Include mkstemp.h.
38497
38498         Import this patch from libc:
38499
38500         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
38501
38502         * lib/tempname.c (__gen_tempname): Change attempts_min
38503         into a macro.  Use preprocessor to decide how to initialize
38504         attempts [Coverity CID 67].
38505
38506 2006-09-20  Bruno Haible  <bruno@clisp.org>
38507
38508         * lib/mkdtemp.c: Import from libc.
38509         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
38510                 * sysdeps/posix/tempname.c (__gen_tempname): Change
38511                 attempts_min into a macro.  Use preprocessor to decide how to
38512                 initialize attempts [Coverity CID 67].
38513         2001-11-27  Paul Eggert  <eggert@twinsun.com>
38514                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
38515                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
38516
38517 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38518
38519         * gnulib-tool (func_exit): New function, to allow to pass the
38520         exit status portably through the trap.  Use everywhere.
38521         (--help, --version): Signal a write error.
38522         (trap): catch SIGPIPE, for write errors.
38523         Exit at the end of the trap, with the correct exit status.
38524
38525 2006-09-19  Karl Berry  <karl@gnu.org>
38526
38527         * doc/gnulib.texi: note about the license texinfo files.
38528
38529 2006-09-19  Eric Blake  <ebb9@byu.net>
38530
38531         * gnulib-tool: Avoid space-tab.
38532
38533 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
38534
38535         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
38536         that prevented coreutils 6.1 from building.  Problem reported
38537         by Petter Reinholdtsen.
38538
38539 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
38540
38541         * gnulib-tool (avoidlist): Fix typo that broke options like
38542         --avoid=lock that are used by coreutils bootstrap.
38543
38544 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
38545
38546         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
38547         more systematically.
38548
38549 2006-09-18  Jim Meyering  <jim@meyering.net>
38550
38551         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
38552
38553 2006-09-18  Bruno Haible  <bruno@clisp.org>
38554
38555         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
38556
38557 2006-09-18  Bruno Haible  <bruno@clisp.org>
38558
38559         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
38560         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
38561         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
38562         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
38563         * m4/gettext.m4: Require autoconf >= 2.52.
38564         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
38565         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
38566         of gl_cv_header_inttypes_h.
38567
38568 2006-09-18  Bruno Haible  <bruno@clisp.org>
38569
38570         * lib/javaversion.c: Include configmake.h.
38571
38572 2006-09-18  Bruno Haible  <bruno@clisp.org>
38573
38574         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
38575         avoid that the while loops be executed in a subshell.
38576
38577 2006-09-18  Bruno Haible  <bruno@clisp.org>
38578
38579         * MODULES.html.sh (func_module): Break long lines.
38580         Suggested by Bruce Korb <bkorb@gnu.org>.
38581
38582 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38583
38584         Speed up by a factor of 1.12.
38585         * gnulib-tool (nl): New variable.
38586         (func_import): Rewrite include directive extraction to only read each
38587         directive once.
38588
38589 2006-09-17  Bruno Haible  <bruno@clisp.org>
38590
38591         * modules/javaversion (Makefile.am): Remove DEFS setting.
38592         (Depends-on): Add configmake, for PKGDATADIR definition.
38593
38594 2006-09-17  Bruno Haible  <bruno@clisp.org>
38595
38596         * gnulib-tool (func_create_testdir): Rewrite all files at once.
38597
38598 2006-09-17  Bruno Haible  <bruno@clisp.org>
38599
38600         * gnulib-tool (func_append): New function, stolen from libtool.m4.
38601         (func_modules_transitive_closure, func_modules_add_dummy,
38602         func_modules_to_filelist, func_import, func_create_testdir,
38603         func_create_megatestdir, ...): Use it wherever possible.
38604         Suggested by Ralf Wildenhues.
38605
38606 2006-09-16  Karl Berry  <karl@gnu.org>
38607
38608         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
38609         to avoid sectioning errors.
38610         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
38611         [ifinfo]: blank line after @center-ed titles.
38612         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
38613         Spell FSF address consistently with others.
38614         (These changes approved by rms.)
38615
38616 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38617
38618         Speed up by a factor of 1.61.
38619         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
38620         already checked module names again.
38621
38622 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38623
38624         Speed up by a factor of 1.13.
38625         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
38626         for new_files, and the input to func_add_or_update.
38627
38628 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38629
38630         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
38631         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
38632
38633 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
38634
38635         * modules/mkancesdirs (Depends-on): Add fcntl.
38636         * modules/savewd: New file.
38637         * MODULES.html.sh (File system functions): Add savewd.
38638
38639         * modules/configmake (Makefile.am): Add support for the
38640         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
38641
38642 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
38643
38644         * m4/savewd.m4: New file.
38645
38646 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
38647
38648         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
38649         (dirchownmod): New arg FD.  All callers changed.
38650         Use FD rather than opening the directory ourself, as opening is
38651         now the caller's responsibility.
38652         * lib/dirchownmod.h: Likewise.
38653         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
38654         hosts that require <sys/types.h> before <sys/stat.h>.  Include
38655         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
38656         (test_dir): Remove.
38657         (mkancesdirs): Return length of prefix of FILE that has already
38658         been made, or -2 if there is a child doing the work.  Redo
38659         algorithm so that it is O(N) rather than O(N**2).  Optimize away
38660         ".", and treat ".." specially since it might stray back into
38661         already-created areas.  Use a subprocess if necessary.  New arg
38662         WD; all users changed.  MAKE_DIR function should now return 1
38663         if it creates a directory that is not readable.  Return -2 if
38664         a child process is spun off.
38665         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
38666         Adjust signature to match code.
38667         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
38668         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
38669         all users changed.
38670         * lib/savewd.c, lib/savewd.h: New files.
38671
38672 2006-09-15  Jim Meyering  <jim@meyering.net>
38673
38674         * modules/rename-dest-slash: New module.
38675         * MODULES.html.sh (posix_compat): Add it here.
38676
38677         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
38678
38679 2006-09-15  Jim Meyering  <jim@meyering.net>
38680
38681         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
38682         file.
38683
38684         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
38685
38686 2006-09-15  Jim Meyering  <jim@meyering.net>
38687
38688         * lib/rename-dest-slash.c (has_trailing_slash): Use
38689         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
38690         (rpl_rename_dest_slash): Perform the cheaper trailing slash
38691         test before testing whether SRC is a directory.
38692         Suggestions from Bruno Haible.
38693
38694         Avoid a warning about an unused variable.
38695         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
38696         into the #ifdef block where it's used.
38697
38698         * lib/rename-dest-slash.c: New file.
38699
38700 2006-09-14  Bruno Haible  <bruno@clisp.org>
38701
38702         * lib/allocsa.c: Include <config.h> unconditionally.
38703         * lib/asnprintf.c: Likewise.
38704         * lib/asprintf.c: Likewise.
38705         * lib/c-strcasecmp.c: Likewise.
38706         * lib/c-strcasestr.c: Likewise.
38707         * lib/c-strncasecmp.c: Likewise.
38708         * lib/c-strstr.c: Likewise.
38709         * lib/classpath.c: Likewise.
38710         * lib/clean-temp.c: Likewise.
38711         * lib/concatpath.c: Likewise.
38712         * lib/copy-file.c: Likewise.
38713         * lib/csharpcomp.c: Likewise.
38714         * lib/csharpexec.c: Likewise.
38715         * lib/execute.c: Likewise.
38716         * lib/fatal-signal.c: Likewise.
38717         * lib/findprog.c: Likewise.
38718         * lib/fwriteerror.c: Likewise.
38719         * lib/gl_array_list.c: Likewise.
38720         * lib/gl_array_oset.c: Likewise.
38721         * lib/gl_avltree_list.c: Likewise.
38722         * lib/gl_avltree_oset.c: Likewise.
38723         * lib/gl_avltreehash_list.c: Likewise.
38724         * lib/gl_carray_list.c: Likewise.
38725         * lib/gl_linked_list.c: Likewise.
38726         * lib/gl_linkedhash_list.c: Likewise.
38727         * lib/gl_list.c: Likewise.
38728         * lib/gl_oset.c: Likewise.
38729         * lib/gl_rbtree_list.c: Likewise.
38730         * lib/gl_rbtree_oset.c: Likewise.
38731         * lib/gl_rbtreehash_list.c: Likewise.
38732         * lib/imaxabs.c: Likewise.
38733         * lib/imaxdiv.c: Likewise.
38734         * lib/javacomp.c: Likewise.
38735         * lib/javaexec.c: Likewise.
38736         * lib/javaversion.c: Likewise.
38737         * lib/linebreak.c: Likewise.
38738         * lib/localcharset.c: Likewise.
38739         * lib/lock.c: Likewise.
38740         * lib/mbchar.c: Likewise.
38741         * lib/mbswidth.c: Likewise.
38742         * lib/mkdtemp.c: Likewise.
38743         * lib/pipe.c: Likewise.
38744         * lib/printf-args.c: Likewise.
38745         * lib/printf-parse.c: Likewise.
38746         * lib/progname.c: Likewise.
38747         * lib/progreloc.c: Likewise.
38748         * lib/readlink.c: Likewise.
38749         * lib/sh-quote.c: Likewise.
38750         * lib/stpcpy.c: Likewise.
38751         * lib/stpncpy.c: Likewise.
38752         * lib/strcasecmp.c: Likewise.
38753         * lib/strcasestr.c: Likewise.
38754         * lib/strcspn.c: Likewise.
38755         * lib/striconv.c: Likewise.
38756         * lib/strncasecmp.c: Likewise.
38757         * lib/strnlen1.c: Likewise.
38758         * lib/strstr.c: Likewise.
38759         * lib/strtok_r.c: Likewise.
38760         * lib/tls.c: Likewise.
38761         * lib/tmpdir.c: Likewise.
38762         * lib/unicodeio.c: Likewise.
38763         * lib/unsetenv.c: Likewise.
38764         * lib/vasnprintf.c: Likewise.
38765         * lib/vasprintf.c: Likewise.
38766         * lib/wait-process.c: Likewise.
38767         * lib/xallocsa.c: Likewise.
38768         * lib/xsetenv.c: Likewise.
38769         * lib/xstriconv.c: Likewise.
38770
38771 2006-09-13  Simon Josefsson  <jas@extundo.com>
38772
38773         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
38774         that internally, suggested by Ralf Wildenhues
38775         <Ralf.Wildenhues@gmx.de>.
38776
38777 2006-09-13  Simon Josefsson  <jas@extundo.com>
38778
38779         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
38780         @LIBOBJS@.
38781         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38782
38783 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
38784
38785         * lib/_fpending.c: Include <config.h> unconditionally, since we no
38786         longer worry about uses that don't define HAVE_CONFIG_H.
38787         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
38788         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
38789         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
38790         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
38791         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
38792         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
38793         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
38794         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
38795         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
38796         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
38797         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
38798         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
38799         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
38800         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
38801         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
38802         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
38803         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
38804         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
38805         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
38806         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
38807         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
38808         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
38809         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
38810         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
38811         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
38812         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
38813         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
38814         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
38815         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
38816         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
38817         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
38818         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
38819         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
38820         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
38821         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
38822         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
38823         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
38824         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
38825         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
38826         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
38827         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
38828         Likewise.
38829
38830 2006-09-13  Eric Blake  <ebb9@byu.net>
38831
38832         * lib/getopt.c: Fix typo in last commit.
38833
38834 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
38835
38836         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
38837         dgettext.
38838
38839 2006-09-12  Jim Meyering  <jim@meyering.net>
38840
38841         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
38842         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
38843         Reported by Nelson H. F. Beebe.
38844
38845 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
38846
38847         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
38848         program_invocation_name and program_invocation_short_name are
38849         initialized.
38850         * lib/argp-namefrob.h: Move declarations of program_invocation_name
38851         and program_invocation_short_name to argp.h, so they are visible
38852         to user programs.
38853         * lib/argp.h: Likewise
38854
38855 2006-09-10  Bruno Haible  <bruno@clisp.org>
38856
38857         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
38858         m4/inttypes_h.m4, m4/uintmax_t.m4.
38859
38860 2006-09-10  Bruno Haible  <bruno@clisp.org>
38861
38862         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
38863         gl_AC_TYPE_UINTMAX_T.
38864
38865 2006-09-10  Bruno Haible  <bruno@clisp.org>
38866
38867         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
38868
38869 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
38870
38871         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
38872         convention.  Text proposed by Bruno Haible.
38873         (struct argp_option): Document the use of N_() wrappers.
38874
38875         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
38876         '\v', and translate the two parts separately, instead of feeding
38877         the whole string to gettext.  This allows to exclude
38878         '\v' from the strings visible to the translator by writing doc
38879         strings as N_("..") "\v" N_("..").
38880
38881 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
38882
38883         * config/srclist.txt: Undo latest change; the bug was fixed.
38884
38885 2006-09-09  Bruno Haible  <bruno@clisp.org>
38886
38887         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
38888         assignments if building a library without libtool.
38889         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
38890         in func_emit_lib_Makefile_am.
38891         (func_import): When building a static library libfoo.a, arrange to
38892         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
38893         (func_create_testdir): Likewise.
38894         * modules/gc (configure.ac, Makefile.am): If building statically,
38895         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
38896         * modules/iconvme (configure.ac, Makefile.am): Likewise.
38897         * modules/striconv (configure.ac, Makefile.am): Likewise.
38898         Based on a suggestion by Ralf Wildenhues.
38899
38900 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
38901
38902         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
38903         Check for unistd.h too, since Autoconf doesn't assume POSIX.
38904         Also:
38905
38906         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
38907         Add year_2050_test to catch glibc bug 2821
38908         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
38909
38910         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
38911         Prefer #ifdef to #if.
38912
38913         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
38914         Return from 'main' instead of calling 'exit'.
38915
38916 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
38917
38918         * lib/mktime.c (guess_time_tm): Fix bug where mktime
38919         returned the maximum time_t value rather than (time_t) -1.
38920         Problem originally reported by William Bardwell
38921         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
38922
38923         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
38924         Moved to here ...
38925         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
38926         ... from here.
38927
38928 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
38929
38930         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
38931         2821 is fixed.
38932
38933 2006-09-08  Jim Meyering  <jim@meyering.net>
38934
38935         Don't make generated files read-only.  That would bother too many
38936         people.  However, do retain the ability to work when targets are
38937         read-only: remove the destination and temporary files before writing
38938         them (when generated via sed or echo), or by using the -f option for
38939         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
38940         * modules/alloca-opt, modules/argz, modules/arpa_inet:
38941         * modules/byteswap, modules/configmake, modules/fcntl:
38942         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
38943         * modules/localcharset, modules/netinet_in, modules/poll:
38944         * modules/stdbool, modules/stdint, modules/sys_select:
38945         * modules/sys_socket, modules/sys_stat, modules/sysexits:
38946
38947 2006-09-08  Jim Meyering  <jim@meyering.net>
38948
38949         Avoid new build failure on FreeBSD 6.0.
38950         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
38951         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
38952         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
38953
38954 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38955
38956         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
38957
38958 2006-09-07  Jim Meyering  <jim@meyering.net>
38959
38960         Fix global typo in last change: use chmod u-w, not chmod u-x.
38961         Spotted by Paul Eggert and Bruce Korb.
38962         * modules/alloca-opt, modules/argz, modules/arpa_inet:
38963         * modules/byteswap, modules/configmake, modules/fcntl:
38964         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
38965         * modules/localcharset, modules/netinet_in, modules/poll:
38966         * modules/stdbool, modules/stdint, modules/sys_select:
38967         * modules/sys_socket, modules/sys_stat, modules/sysexits:
38968
38969 2006-09-06  Jim Meyering  <jim@meyering.net>
38970
38971         Make generated files be read-only.
38972         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
38973         Ensure that each generated file is now read-only.
38974         * modules/argz: Likewise.
38975         * modules/arpa_inet: Likewise.
38976         * modules/byteswap: Likewise.
38977         * modules/configmake: Likewise.
38978         * modules/fcntl: Likewise.
38979         * modules/fnmatch: Likewise.
38980         * modules/getopt: Likewise.
38981         * modules/glob: Likewise.
38982         * modules/inttypes: Likewise.
38983         * modules/netinet_in: Likewise.
38984         * modules/poll: Likewise.
38985         * modules/stdbool: Likewise.
38986         * modules/stdint: Likewise.
38987         * modules/sys_select: Likewise.
38988         * modules/sys_socket: Likewise.
38989         * modules/sys_stat: Likewise.
38990         * modules/sysexits: Likewise.
38991         * modules/localcharset: Same as above, but continue using temporary
38992         file named "t-$@" (why different?) rather than the "$@-t" used
38993         everywhere else.
38994
38995         * modules/sysexits (Makefile.am): Replace literal occurrences
38996         of "sysexit.h" more readable, and more consistent, "$@".
38997
38998 2006-09-06  Bruno Haible  <bruno@clisp.org>
38999
39000         * modules/striconv: New file.
39001         * modules/xstriconv: New file.
39002         * MODULES.html.sh (Internationalization functions): Add striconv,
39003         xstriconv.
39004
39005 2006-09-06  Bruno Haible  <bruno@clisp.org>
39006
39007         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
39008         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
39009         not using libtool correctly.
39010
39011 2006-09-06  Bruno Haible  <bruno@clisp.org>
39012
39013         * lib/striconv.h: New file.
39014         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
39015         iconvstring.c.
39016         * lib/xstriconv.h: New file.
39017         * lib/xstriconv.c: New file.
39018
39019 2006-09-06  Bruno Haible  <bruno@clisp.org>
39020
39021         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
39022         lib_..._LDFLAGS.
39023
39024 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39025
39026         * lib/argz_.h: Sync from Libtool.
39027
39028         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
39029                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
39030
39031         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
39032
39033 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
39034
39035         * modules/trim: New file.
39036
39037 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
39038
39039         * lib/trim.h: New file.
39040         * lib/trim.c: New file.
39041
39042 2006-09-05  Bruno Haible  <bruno@clisp.org>
39043
39044         * MODULES.html.sh (String handling): Add trim.
39045
39046 2006-09-04  Karl Berry  <karl@gnu.org>
39047
39048         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
39049         until next release.
39050
39051 2006-09-03  Bruno Haible  <bruno@clisp.org>
39052
39053         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
39054         correctly.
39055
39056 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
39057
39058         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
39059         not gl_GETLOADAVG.  Omit unneeded semicolons.
39060         Problems reported by Ralf Wildenhues in
39061         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
39062         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
39063         at the end, which is the usual gnulib style.
39064
39065         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
39066         of doing all the work ourselves.
39067         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
39068         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
39069
39070 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
39071
39072         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
39073         Problem reported by Ralf Wildenhues in
39074         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
39075
39076         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
39077         HAVE_STRUCT_STATFS_F_FSTYPENAME.
39078
39079 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
39080
39081         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
39082         yesterday's patch by changing test -n to test -z.
39083
39084 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
39085
39086         * modules/getloadavg (Files): Add m4/getloadavg.m4.
39087         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
39088         the former is now obsolescent.
39089
39090         * modules/chdir-long (Depends-on): Add fcntl.
39091
39092 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
39093
39094         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
39095         obsolescent, and programs should use gnulib instead.
39096         * m4/getloadavg.m4: New file, with contents taken from Autoconf
39097         but with prefixes changed.
39098
39099 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
39100
39101         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
39102         or stdbool.h, because they might not exist while configuring.
39103
39104         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
39105         Don't include unistd.h or limits.h; not needed, since chdir-long.h
39106         does that for us.
39107         (O_DIRECTORY): Remove.
39108
39109 2006-08-31  Eric Blake  <ebb9@byu.net>
39110
39111         * gnulib-tool: Don't let emacs change spaces to TAB.
39112
39113 2006-08-31  Bruno Haible  <bruno@clisp.org>
39114
39115         * gnulib-tool: When calling func_import more than once, do it in a
39116         subshell.
39117         Reported by Eric Blake <ebb9@byu.net>.
39118
39119 2006-08-31  Bruno Haible  <bruno@clisp.org>
39120
39121         * gnulib-tool (nl): Remove variable.
39122         (sed_transform_lib_file): Use more robust test for config-h module.
39123         (func_import): Fix typo in 2006-08-25 patch.
39124
39125 2006-08-31  Bruno Haible  <bruno@clisp.org>
39126
39127         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
39128         specified, augment Makefile.am variables instead of assigning them.
39129
39130 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
39131
39132         Work around a bug in both the Linux and SunOS 64-bit kernels:
39133         nanosleep mishandles sleeps for longer than 2**31 seconds.
39134         Problem reported by Frank v Waveren in
39135         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
39136         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
39137         Check for nanosleep bug.
39138         (LIB_NANOSLEEP): Append clock_gettime library if needed.
39139
39140 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
39141
39142         Work around a bug in both the Linux and SunOS 64-bit kernels:
39143         nanosleep mishandles sleeps for longer than 2**31 seconds.
39144         Problem reported by Frank v Waveren in
39145         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
39146         * lib/nanosleep.c (BILLION): New constant.
39147         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
39148         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
39149         implementation.
39150
39151 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
39152
39153         * modules/nanosleep (Depends-on): Add gettime.
39154
39155 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
39156         and Simon Josefsson  <jas@extundo.com>
39157         and Oskar Liljeblad  <oskar@osk.mine.nu>
39158
39159         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
39160         * gnulib-tool (func_import): New license type 'unmodifiable license
39161         text'.
39162         * modules/fdl: Use it.  Longer description.
39163         * module/gpl, module/lgpl: New files.
39164
39165 2006-08-30  Jim Meyering  <jim@meyering.net>
39166
39167         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
39168         shadowing the parameter.
39169
39170 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39171
39172         Sync from Libtool:
39173
39174         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39175
39176         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
39177         sharing with gnulib.  Report by Eric Blake.
39178
39179 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
39180
39181         * modules/isapipe: New file.
39182         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
39183
39184 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
39185
39186         * modules/configmake (Makefile.am): Add a comment, and omit
39187         the CONFIGMAKE_ prefix from generated macro names.  Suggested
39188         by Bruno Haible.
39189
39190 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
39191
39192         * m4/isapipe.m4: New file.
39193
39194 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
39195
39196         * lib/isapipe.c, lib/isapipe.h: New files.
39197
39198 2006-08-29  Jim Meyering  <jim@meyering.net>
39199
39200         * modules/configmake (Makefile.am): Make configmake.h depend on
39201         Makefile.  Otherwise, a stale configmake.h could hang around.
39202
39203 2006-08-29  Eric Blake  <ebb9@byu.net>
39204
39205         * lib/error.c (error_at_line, print_errno_message): Match libc, after
39206         resolution of upstream bug 3044.
39207
39208 2006-08-29  Bruno Haible  <bruno@clisp.org>
39209
39210         * modules/localcharset (Depends-on): Add configmake.
39211         (Makefile.am): Remove setting of LIBDIR through DEFS.
39212
39213 2006-08-29  Bruno Haible  <bruno@clisp.org>
39214
39215         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
39216         defined.
39217
39218 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
39219
39220         * modules/fcntl: New file.
39221         * modules/chdir-safer (Depends-on): Add fcntl.
39222         * modules/fts: Likewise.
39223         * modules/mkdir-p: Likewise.
39224
39225         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
39226         This undoes the most recent change, since we're now addressing the
39227         problem in a different way.
39228
39229         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
39230         into output, since the output might be called Makefile.am even
39231         if $makefile_name is something different.
39232         (func_import): Use $makefile_am rather than
39233         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
39234         empty.
39235
39236         * modules/inttypes (Files): Add m4/inttypes-h.m4.
39237
39238 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
39239
39240         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
39241         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
39242         recent change to stdint.m4, since we're now addressing the problem in a
39243         different way.
39244
39245 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
39246
39247         * m4/fcntl_h.m4: New file.
39248
39249 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
39250
39251         * lib/fcntl_.h: New file.
39252         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
39253         the fcntl module.
39254         * lib/dirchownmod.c: Likewise.
39255         * lib/fts.c: Likewise.
39256
39257         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
39258         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
39259         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
39260         just before including <inttypes.h>, to avoid circular inclusion.
39261
39262 2006-08-28  Jim Meyering  <jim@meyering.net>
39263
39264         * doc/visibility.texi: Actually read and correct the grammar of the
39265         sentence affected by yesterday's change.
39266
39267 2006-08-28  Eric Blake  <ebb9@byu.net>
39268
39269         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
39270         needs wrapper.
39271
39272 2006-08-28  Eric Blake  <ebb9@byu.net>
39273
39274         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
39275
39276 2006-08-28  Eric Blake  <ebb9@byu.net>
39277
39278         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
39279
39280 2006-08-28  Bruno Haible  <bruno@clisp.org>
39281
39282         * modules/c-strstr: New file, from GNU gettext.
39283         * MODULES.html.sh (String handling): Add c-strstr.
39284
39285 2006-08-28  Bruno Haible  <bruno@clisp.org>
39286
39287         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
39288         macros.
39289         Reported by Eric Blake.
39290
39291 2006-08-28  Bruno Haible  <bruno@clisp.org>
39292
39293         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
39294         (VASNPRINTF): Return a string of length > INT_MAX without failing.
39295         * lib/vasprintf.c: Include errno.h, limits.h.
39296         (EOVERFLOW): New fallback definition.
39297         (vasprintf): Test here whether the string length is > INT_MAX.
39298         * lib/vsnprintf.c: Include errno.h, limits.h.
39299         (EOVERFLOW): New fallback definition.
39300         (vsnprintf): Fix bug when generated string was too long for the buffer.
39301         Test here whether the string length is > INT_MAX.
39302
39303 2006-08-28  Bruno Haible  <bruno@clisp.org>
39304
39305         * lib/inttypes_.h (SCNX*): Remove definitions.
39306         Reported by Eric Blake.
39307
39308 2006-08-28  Bruno Haible  <bruno@clisp.org>
39309
39310         * lib/c-strstr.h: New file, from GNU gettext.
39311         * lib/c-strstr.c: New file, from GNU gettext.
39312
39313 2006-08-28  Bruno Haible  <bruno@clisp.org>
39314
39315         * gnulib-tool: Reorder some statements.
39316
39317 2006-08-28  Bruno Haible  <bruno@clisp.org>
39318
39319         * gnulib-tool: New option --makefile-name.
39320         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
39321         $makefile_name.
39322         (func_import): Write $makefile_name to the cache file, and read it from
39323         there unless explicitly specified. Use $makefile_name as file name
39324         instead of Makefile.am. Adjust the recommendations accordingly.
39325
39326 2006-08-28  Bruno Haible  <bruno@clisp.org>
39327
39328         * gnulib-tool (func_verify_module): Check against misapplying patch.
39329
39330 2006-08-28  Bruno Haible  <bruno@clisp.org>
39331
39332         * gnulib-tool (func_relativize, func_relconcat): New functions.
39333         Give an error if --local-dir is given with --update.
39334         Remove trailing slashes from $local_gnulib_dir.
39335         (func_import): Store the relativized $local_gnulib_dir in
39336         gnulib-cache.m4, and read it from there if not specified explicitly.
39337
39338 2006-08-28  Bruno Haible  <bruno@clisp.org>
39339
39340         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
39341         is the current directory. Respect also $local_gnulib_dir.
39342
39343 2006-08-28  Bruno Haible  <bruno@clisp.org>
39344             Simon Josefsson  <jas@extundo.com>
39345
39346         BeOS portability.
39347         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
39348
39349 2006-08-27  Jim Meyering  <jim@meyering.net>
39350
39351         * doc/visibility.texi: Remove duplicate word: "pointer".
39352
39353 2006-08-26  Bruno Haible  <bruno@clisp.org>
39354
39355         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
39356         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
39357         (Makefile.am): Create inttypes.h from inttypes_.h.
39358         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
39359
39360         * modules/imaxabs: New file.
39361
39362         * modules/imaxdiv: New file.
39363
39364 2006-08-26  Bruno Haible  <bruno@clisp.org>
39365
39366         * m4/inttypes.m4: New file.
39367         * m4/_inttypes_h.m4: Remove file.
39368         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
39369         PRI_MACROS_BROKEN.
39370         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
39371
39372         * m4/imaxabs.m4: New file.
39373
39374         * m4/imaxdiv.m4: New file.
39375
39376 2006-08-26  Bruno Haible  <bruno@clisp.org>
39377
39378         * lib/inttypes_.h: New file.
39379         * lib/inttypes.h: Remove file.
39380         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
39381
39382         * lib/imaxabs.c: New file.
39383
39384         * lib/imaxdiv.c: New file.
39385
39386 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
39387
39388         New config-h module, so that "make" output needn't be cluttered
39389         by -DHAVE_CONFIG_H.
39390         * MODULES.html.sh (Support for building libraries and executables):
39391         Add config-h.
39392         * modules/config-h: New file.
39393         * gnulib-tool (nl, sed_transform_lib_file): New vars.
39394         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
39395         the config-h module is used.
39396
39397         New configmake module, so that "make" output needn't be cluttered
39398         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
39399         * MODULES.html.sh (Support for building libraries and executables):
39400         Add configmake.
39401         * modules/configmake: New file.
39402
39403 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
39404
39405         * m4/config-h.m4: New file.
39406
39407 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
39408
39409         * config/srclist.txt: Add elisp-comp.
39410
39411 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
39412
39413         * MODULES.html.sh (Support for building libraries and executables):
39414         Add elisp-comp.
39415         * build-aux/elisp-comp: New file.
39416         * modules/elisp-comp: New file.
39417
39418 2006-08-24  Bruno Haible  <bruno@clisp.org>
39419
39420         * gnulib-tool (func_create_testdir): Use non-default values of
39421         sourcebase and m4base.
39422
39423 2006-08-24  Bruno Haible  <bruno@clisp.org>
39424
39425         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
39426         HTML structure.
39427
39428 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
39429
39430         * modules/openat (Depends-on): Add lchown.
39431
39432 2006-08-23  Bruno Haible  <bruno@clisp.org>
39433
39434         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
39435         of gl_LOCK_EARLY instead of gl_LOCK.
39436
39437 2006-08-23  Bruno Haible  <bruno@clisp.org>
39438
39439         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
39440         on OSF/1 to no.
39441         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
39442
39443 2006-08-23  Bruno Haible  <bruno@clisp.org>
39444
39445         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
39446         as unusable.
39447
39448         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
39449         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
39450         (gl_LOCK): New macro.
39451
39452 2006-08-22  Simon Josefsson  <jas@extundo.com>
39453
39454         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
39455         to md5 module.
39456
39457 2006-08-22  Simon Josefsson  <jas@extundo.com>
39458
39459         * MODULES.html.sh: Add "Support for maintaining and release
39460         projects".
39461
39462         * build-aux/gnupload: New file, from coreutils.
39463
39464 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
39465
39466         Avoid the need for AC_LIBSOURCES in m4 macros.
39467         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
39468         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
39469         * modules/check-version (EXTRA_DIST): Add check-version.h.
39470         * modules/crc (EXTRA_DIST): Add crc.h.
39471         * modules/des (EXTRA_DIST): Add des.h.
39472         * modules/gc (EXTRA_DIST): Add gc.h.
39473         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
39474         * modules/getline (EXTRA_DIST): Add getline.h.
39475         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
39476         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
39477         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
39478         * modules/md2 (EXTRA_DIST): Add md2.h.
39479         * modules/md4 (EXTRA_DIST): Add md4.h.
39480         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
39481         * modules/read-file (EXTRA_DIST): Add read-file.h.
39482         * modules/readline (EXTRA_DIST): Add readline.h.
39483         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
39484         rijndael-api-fst.h.
39485
39486 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
39487
39488         * m4/rijndael.m4 (gl_ARCFOUR):
39489         * m4/arctwo.m4 (gl_ARCTWO):
39490         * m4/check-version.m4 (gl_CHECK_VERSION):
39491         * m4/crc.m4 (gl_CRC):
39492         * m4/des.m4 (gl_DES):
39493         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
39494         * m4/gc.m4 (gl_GC):
39495         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
39496         * m4/getline.m4 (gl_FUNC_GETLINE):
39497         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
39498         * m4/hmac-md5.m4 (gl_HMAC_MD5):
39499         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
39500         * m4/md2.m4 (gl_MD2):
39501         * m4/md4.m4 (gl_MD4):
39502         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
39503         * m4/read-file.m4 (gl_FUNC_READ_FILE):
39504         * m4/readline.m4 (gl_FUNC_READLINE):
39505         * m4/rijndael.m4 (gl_RIJNDAEL):
39506         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
39507         to get the necessary .h files and whatnot.
39508
39509 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
39510
39511         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
39512         gnulib rather than the other way around.
39513         * config/srclistvars.sh (COREUTILS): Remove.
39514
39515 2006-08-22  Jim Meyering  <jim@meyering.net>
39516
39517         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
39518
39519         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
39520
39521 2006-08-22  Eric Blake  <ebb9@byu.net>
39522
39523         * modules/regexprops-generic: New file.
39524         * MODULES.html.sh (Support for building documentation): List it.
39525
39526 2006-08-22  Eric Blake  <ebb9@byu.net>
39527
39528         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
39529         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
39530         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
39531         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
39532
39533 2006-08-22  Bruno Haible  <bruno@clisp.org>
39534
39535         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
39536         and lib_LTLIBRARIES like the other lib_* variables.
39537
39538 2006-08-22  Bruno Haible  <bruno@clisp.org>
39539
39540         * build-aux/x-to-1.in: New file, from GNU gettext.
39541
39542 2006-08-22  Bruno Haible  <bruno@clisp.org>
39543
39544         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
39545         <utmpx.h> exists.
39546
39547 2006-08-22  Bruno Haible  <bruno@clisp.org>
39548
39549         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
39550         <utmpx.h> exists.
39551
39552 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
39553
39554         BeOS portability.
39555         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
39556         exist.
39557         Problem reported by Bruno Haible.
39558
39559 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
39560
39561         Avoid the need for AC_LIBSOURCES in m4 macros.
39562         * modules/acl (EXTRA_DIST): Add acl.h.
39563         * modules/argmatch (Files): Add m4/argmatch.m4.
39564         (configure.ac): Add gl_ARGMATCH.
39565         (EXTRA_DIST): Renamed from lib_SOURCES, for
39566         consistency with the other modules.  Remove argmatch.c.
39567         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
39568         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
39569         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
39570         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
39571         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
39572         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
39573         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
39574         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
39575         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
39576         * modules/closeout (EXTRA_DIST): Add closeout.h.
39577         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
39578         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
39579         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
39580         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
39581         dirname.h; remove basename.c and stripslash.c.
39582         * modules/exclude (EXTRA_DIST): Add exclude.h.
39583         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
39584         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
39585         * modules/file-type (EXTRA_DIST): Add file-type.h.
39586         * modules/filemode (EXTRA_DIST): Add filemode.h.
39587         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
39588         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
39589         * modules/fpending (EXTRA_DIST): Add __fpending.h.
39590         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
39591         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
39592         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
39593         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
39594         * modules/getdate (EXTRA_DIST): Add getdate.c.
39595         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
39596         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
39597         * modules/getpass (EXTRA_DIST): Add getpass.h.
39598         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
39599         * modules/group-member (EXTRA_DIST): Add group-member.h.
39600         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
39601         * modules/hash (EXTRA_DIST): Add hash.h.
39602         * modules/human (EXTRA_DIST): Add human.h.
39603         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
39604         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
39605         * modules/lchown (EXTRA_DIST): Add lchown.h.
39606         * modules/long-options (EXTRA_DIST): Add long-options.h.
39607         * modules/lstat (EXTRA_DIST): Add lstat.h.
39608         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
39609         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
39610         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
39611         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
39612         * modules/memxor (EXTRA_DIST): Add memxor.h.
39613         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
39614         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
39615         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
39616         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
39617         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
39618         * modules/physmem (EXTRA_DIST): Add physmem.h.
39619         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
39620         * modules/posixver (EXTRA_DIST): Add posixver.h.
39621         * modules/quote (EXTRA_DIST): Add quote.h.
39622         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
39623         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
39624         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
39625         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
39626         regex_internal.h regexec.c.
39627         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
39628         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
39629         * modules/same (EXTRA_DIST): Add same.h.
39630         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
39631         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
39632         * modules/savedir (EXTRA_DIST): Add savedir.h.
39633         * modules/sha1 (EXTRA_DIST): Add sha1.h.
39634         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
39635         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
39636         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
39637         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
39638         * modules/strdup (EXTRA_DIST): Add strdup.h.
39639         * modules/strftime (EXTRA_DIST): Add strftime.h.
39640         * modules/strndup (EXTRA_DIST): Add strndup.h.
39641         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
39642         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
39643         * modules/time_r (EXTRA_DIST): Add time_r.h.
39644         * modules/timespec (EXTRA_DIST): Add timespec.h.
39645         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
39646         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
39647         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
39648         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
39649         * modules/userspec (EXTRA_DIST): Add userspec.h.
39650         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
39651         * modules/utimens (EXTRA_DIST): Add utimens.h.
39652         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
39653         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
39654         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
39655         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
39656         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
39657         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
39658         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
39659         * modules/yesno (EXTRA_DIST): Add yesno.h.
39660
39661 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
39662
39663         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
39664
39665         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
39666         * m4/dev-ino.m4, same-inode.m4: Remove.
39667
39668         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
39669         * m4/acl.m4 (AC_FUNC_ACL):
39670         * m4/backupfile.m4 (gl_BACKUPFILE):
39671         * m4/c-strtod.m4 (gl_C99_STRTOLD):
39672         * m4/canon-host.m4 (gl_CANON_HOST):
39673         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
39674         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
39675         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
39676         * m4/cloexec.m4 (gl_CLOEXEC):
39677         * m4/close-stream.m4 (gl_CLOSE_STREAM):
39678         * m4/closeout.m4 (gl_CLOSEOUT):
39679         * m4/dirfd.m4 (gl_FUNC_DIRFD):
39680         * m4/dirname.m4 (gl_DIRNAME):
39681         * m4/exclude.m4 (gl_EXCLUDE):
39682         * m4/exitfail.m4 (gl_EXITFAIL):
39683         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
39684         * m4/file-type.m4 (gl_FILE_TYPE):
39685         * m4/filemode.m4 (gl_FILEMODE):
39686         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
39687         * m4/fpending.m4 (gl_FUNC_FPENDING):
39688         * m4/fprintftime.m4 (gl_FPRINTFTIME):
39689         * m4/fts.m4 (gl_FUNC_FTS):
39690         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
39691         * m4/getdate.m4 (gl_GETDATE):
39692         * m4/gethrxtime.m4 (gl_GETHRXTIME):
39693         * m4/getpagesize.m4 (gl_GETPAGESIZE):
39694         * m4/getpass.m4 (gl_FUNC_GETPASS):
39695         * m4/gettime.m4 (gl_GETTIME):
39696         * m4/getugroups.m4 (gl_GETUGROUPS):
39697         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
39698         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
39699         * m4/hard-locale.m4 (gl_HARD_LOCALE):
39700         * m4/hash.m4 (gl_HASH):
39701         * m4/idcache.m4 (gl_IDCACHE):
39702         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
39703         * m4/lchown.m4 (gl_FUNC_LCHOWN):
39704         * m4/long-options.m4 (gl_LONG_OPTIONS):
39705         * m4/lstat.m4 (gl_FUNC_LSTAT):
39706         * m4/md5.m4 (gl_MD5):
39707         * m4/memcasecmp.m4 (gl_MEMCASECMP):
39708         * m4/memcoll.m4 (gl_MEMCOLL):
39709         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
39710         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
39711         * m4/memxor.m4 (gl_MEMXOR):
39712         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
39713         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
39714         * m4/modechange.m4 (gl_MODECHANGE):
39715         * m4/mountlist.m4 (gl_MOUNTLIST):
39716         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
39717         * m4/openat.m4 (gl_FUNC_OPENAT):
39718         * m4/pathmax.m4 (gl_PATHMAX):
39719         * m4/physmem.m4 (gl_PHYSMEM):
39720         * m4/posixtm.m4 (gl_POSIXTM):
39721         * m4/posixver.m4 (gl_POSIXVER):
39722         * m4/quote.m4 (gl_QUOTE):
39723         * m4/quotearg.m4 (gl_QUOTEARG):
39724         * m4/readtokens.m4 (gl_READTOKENS):
39725         * m4/readutmp.m4 (gl_READUTMP):
39726         * m4/regex.m4 (gl_REGEX):
39727         * m4/safe-read.m4 (gl_SAFE_READ):
39728         * m4/safe-write.m4 (gl_SAFE_WRITE):
39729         * m4/same.m4 (gl_SAME):
39730         * m4/save-cwd.m4 (gl_SAVE_CWD):
39731         * m4/savedir.m4 (gl_SAVEDIR):
39732         * m4/settime.m4 (gl_SETTIME):
39733         * m4/sha1.m4 (gl_SHA1):
39734         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
39735         * m4/stat-macros.m4 (gl_STAT_MACROS):
39736         * m4/stat-time.m4 (gl_STAT_TIME):
39737         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
39738         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
39739         * m4/strdup.m4 (gl_FUNC_STRDUP):
39740         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
39741         * m4/strndup.m4 (gl_FUNC_STRNDUP):
39742         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
39743         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
39744         * m4/time_r.m4 (gl_TIME_R):
39745         * m4/timespec.m4 (gl_TIMESPEC):
39746         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
39747         * m4/unlinkdir.m4 (gl_UNLINKDIR):
39748         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
39749         * m4/userspec.m4 (gl_USERSPEC):
39750         * m4/utimecmp.m4 (gl_UTIMECMP):
39751         * m4/utimens.m4 (gl_UTIMENS):
39752         * m4/xalloc.m4 (gl_XALLOC):
39753         * m4/xgetcwd.m4 (gl_XGETCWD):
39754         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
39755         * m4/xreadlink.m4 (gl_XREADLINK):
39756         * m4/xstrtod.m4 (gl_XSTRTOD):
39757         * m4/yesno.m4 (gl_YESNO):
39758         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
39759         to get the necessary .h files and whatnot.
39760
39761 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
39762             Bruno Haible  <bruno@clisp.org>
39763
39764         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
39765         /bin/sh understanding of '!' conditional negation.
39766
39767 2006-08-21  Jim Meyering  <jim@meyering.net>
39768
39769         * modules/openat (Depends-on): Really alphabetize.
39770
39771         * modules/acl (Depends-on): Add error and quote.
39772
39773         * check-module (find_included_lib_files): Add at-func.c to the
39774         ok-to-include-more-than-once white list.
39775
39776         * modules/openat (Depends-on): Add lstat.  Alphabetize.
39777
39778 2006-08-21  Bruno Haible  <bruno@clisp.org>
39779
39780         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
39781         Emit a pkgdata_DATA variable only if some snippets add contents to it.
39782         Reported by Martin Lambers <marlam@marlam.de>.
39783
39784 2006-08-21  Bruno Haible  <bruno@clisp.org>
39785
39786         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
39787         specify an installation location, don't emit a noinst_LIBRARIES or
39788         noinst_LTLIBRARIES assignment.
39789
39790 2006-08-21  Bruno Haible  <bruno@clisp.org>
39791
39792         BeOS portability.
39793         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
39794         BeOS has mbrtowc() but no <wctype.h>.
39795
39796 2006-08-21  Bruno Haible  <bruno@clisp.org>
39797
39798         BeOS portability.
39799         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
39800         exist.
39801
39802 2006-08-21  Bruno Haible  <bruno@clisp.org>
39803
39804         BeOS portability.
39805         * lib/mbchar.h: Include <wctype.h> only if it exists.
39806
39807 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
39808
39809         Remove files that are no longer needed by their respective modules.
39810         * m4/obstack.m4: Remove.
39811         * m4/strerror_r.m4: Remove.
39812         * m4/uint32_t.m4: Remove.
39813         * m4/uintptr_t.m4: Remove.
39814         * m4/ullong_max.m4: Remove.
39815         * m4/xstrtoimax.m4: Remove.
39816         * m4/xstrtoumax.m4: Remove.
39817
39818         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
39819         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
39820         dependencies now capture this.
39821
39822         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
39823         Do not use AC_LIBSOURCES, since gnulib modules now do this.
39824         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
39825         * m4/human.m4 (gl_HUMAN): Likewise.
39826         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
39827         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
39828
39829         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
39830
39831         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
39832         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
39833         stdint.
39834         * m4/human.m4 (gl_HUMAN): Likewise.
39835         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
39836         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
39837         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
39838         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
39839         * m4/xstrtol (gl_XSTRTOL): Likewise.
39840
39841         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
39842         AC_TYPE_LONG_LONG_INT.
39843         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
39844         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
39845         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
39846         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
39847
39848         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
39849         on stdbool.
39850
39851         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
39852         (gl_PREREQ_XSTRTOUL): Remove.
39853
39854         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
39855
39856         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
39857         mode.
39858
39859 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
39860
39861         Add and change modules to make it easier for coreutils to use
39862         gnulib-tool.
39863         * modules/backupfile (Files): Remove m4/d-ino.m4.
39864         (Depends-on): Add d-ino.
39865         * modules/cycle-check (Depends-on): Add stdint.
39866         (lib_SOURCES): Add cycle-check.h.
39867         * modules/d-ino: New module.
39868         * modules/d-type: New module.
39869         * modules/error (Files): Remove m4/strerror_r.m4.
39870         * modules/filemode (Files): Add m4/st_dm_mode.m4.
39871         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
39872         m4/inttypes_h.m4, m4/uintmax_t.m4.
39873         (Depends-on): Add stdint.
39874         (lib_SOURCES): Add fsusage.h.
39875         * modules/getcwd (Files): Remove d-ino.m4.
39876         (Depends-on): Add d-ino.
39877         * modules/getndelim2 (Depends-on): Add stdint.
39878         * modules/glob (Files): Remove m4/d-type.m4.
39879         (Depends-on): Add d-type.
39880         * modules/host-os: New module.
39881         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
39882         m4/inttypes_h.m4, m4/uintmax_t.m4.
39883         * Depends-on: Add stdint.
39884         (lib_SOURCES): Add human.h.
39885         * modules/inttostr (Files): Remove m4/intmax_t.m4,
39886         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
39887         m4/uintmax_t.m4, m4/ulonglong.m4.
39888         (Depends-on): Add stdint.
39889         (EXTRA_DIST): Add inttostr.h.
39890         * modules/lchmod: New module.
39891         * modules/link-follow: New module.
39892         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
39893         (Depends-on): Add lchmod.
39894         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
39895         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
39896         (Depends-on): Add stdint.
39897         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
39898         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
39899         (Depends-on): Add stdint.
39900         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
39901         * modules/perl: New module.
39902         * modules/regex (Depends-on): Add stdint.
39903         * modules/rmdir-errno: New module.
39904         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
39905         m4/intmax_t.m4.
39906         (Depends-on): Add stdint.
39907         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
39908         m4/uintmax_t.m4.
39909         (Depends-on): Add stdint.
39910         * modules/unlink-busy: New module.
39911         * modules/utimecmp (Depends-on): Add stdint.
39912         * modules/uptime: New module.
39913         * modules/winsz-ioctl: New module.
39914         * modules/winsz-termios: New module.
39915         * modules/xnanosleep (Depends-on): Add nanosleep.
39916         * modules/ullong_max: Remove.
39917         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
39918         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
39919         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
39920         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
39921         (Depends-on): Add inttypes.
39922         (lib_SOURCES): Add xstrtol.h.
39923         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
39924         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
39925         * MODULES.html.sh: Move 'assert' into the assert section.
39926         Move 'dummy' into the linking section.
39927         Remove ullong_max.
39928         Add section for compatibility checks for POSIX:2001 functions,
39929         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
39930         winsz-ioctl, and winsz-termios into it.
39931         Add lchmod.
39932         Add top-level Misc section and put host-os, perl, and uptime
39933         into it.
39934
39935 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
39936
39937         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
39938         now assume the stdint module.  Do not include inttypes.h.
39939         * lib/fsusage.h: Likewise.
39940         * lib/getndelim2.c: Likewise.
39941         * lib/human.h: Likewise.
39942         * lib/inttostr.h: Likewise.
39943         * lib/obstack.c: Likewise.
39944         * lib/regex_internal.h: Likewise.
39945         * lib/tempname.c: Likewise.
39946         * lib/utimecmp.c: Likewise.
39947         * lib/xstrtol.h: Likewise.
39948
39949         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
39950
39951         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
39952         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
39953         * lib/xtime.h: Likewise.
39954
39955 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
39956
39957         * modules/openat (Files): Add lib/fchmodat.c.
39958         Fixes problem reported by Jay Youngman.
39959
39960 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
39961
39962         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
39963         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
39964
39965 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
39966             Bruno Haible  <bruno@clisp.org>
39967
39968         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
39969         and is a script that invokes bison. Tighten the code. Add comments.
39970
39971 2006-08-18  Jim Meyering  <jim@meyering.net>
39972
39973         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
39974         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
39975         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
39976         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
39977
39978 2006-08-18  Bruno Haible  <bruno@clisp.org>
39979
39980         * modules/bison-i18n: New file.
39981         * MODULES.html.sh (Internationalization functions): Add it.
39982
39983 2006-08-18  Bruno Haible  <bruno@clisp.org>
39984
39985         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
39986         sys/statvfs.h. When getmntinfo was found, check its declaration and
39987         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
39988
39989 2006-08-18  Bruno Haible  <bruno@clisp.org>
39990
39991         * m4/bison-i18n.m4: New file, from bison.
39992
39993 2006-08-18  Bruno Haible  <bruno@clisp.org>
39994
39995         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
39996         (ME_DUMMY): Treat "kernfs" as a dummy.
39997         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
39998
39999 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
40000
40001         Update from coreutils.
40002
40003         2006-08-15  Jim Meyering  <jim@meyering.net>
40004
40005         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
40006
40007         2006-01-17  Jim Meyering  <jim@meyering.net>
40008
40009         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
40010
40011         2006-01-11  Jim Meyering  <jim@meyering.net>
40012
40013         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
40014         Check for the lchmod function.
40015
40016 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
40017
40018         Update from coreutils.
40019
40020         * lib/__fpending.h: Add copyright notice.
40021         * lib/fprintftime.h: Likewise.
40022         * lib/savedir.c: Use (C) in copyright notice.
40023         * lib/savedir.h: Likewise.
40024
40025         2006-08-15  Jim Meyering  <jim@meyering.net>
40026
40027         * lib/at-func.c: New file, with the logic of all emulated at-functions.
40028         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
40029         in support of the EXPECTED_ERRNO macro.
40030         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
40031         definitions.  Instead, define the appropriate symbols and include
40032         "at-func.c".
40033         * lib/mkdirat.c (mkdirat): Likewise.
40034         * lib/fchmodat.c (fchmodat): Likewise.
40035         (ENOSYS): Remove definition.
40036         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
40037         it.  Don't include "unistd--.h" -- it wasn't ever used.
40038
40039         2006-01-17  Jim Meyering  <jim@meyering.net>
40040
40041         Rewrite fts.c not to change the current working directory,
40042         by using openat, fstatat, fdopendir, etc..
40043
40044         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
40045         (HAVE_OPENAT_SUPPORT): Define.
40046         [_LIBC] (fchdir): Don't undef or define; no longer used.
40047         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
40048         Now, this `function' always succeeds, and consumes its file descriptor
40049         parameter -- so callers must not close such FDs.  Update callers.
40050         (diropen_fd, opendirat, cwd_advance_fd): New functions.
40051         (diropen): Add parameter, SP.  Adjust all callers.
40052         Implement using diropen_fd, rather than open.
40053         (fts_open): Initialize new member, fts_cwd_fd.
40054         Remove fts_rft-setting code.
40055         (fts_close): Close fts_cwd_fd, if necessary.
40056         (__opendir2): Define in terms of opendir or opendirat,
40057         depending on whether the FST_NOCHDIR flag is set.
40058         (fts_build): Since fts_safe_changedir consumes its FD, and since
40059         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
40060         and close the dup'd file descriptor upon failure.
40061         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
40062         (fts_safe_changedir): Tweak semantics to reflect that this function
40063         now calls cwd_advance_fd and hence consumes its FD argument.
40064         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
40065         [struct FTS] (fts_rft): Remove now-unused member.
40066         [struct FTS] (fts_cycle.state): Improve comment.
40067
40068         * lib/openat.c (openat_needs_fchdir): New function.
40069         * lib/openat.h (openat_needs_fchdir): Declare it.
40070
40071 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
40072
40073         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
40074         Problem and fix reported by Pádraig Brady in
40075         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
40076
40077 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
40078
40079         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
40080
40081 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
40082
40083         * lib/memcoll.c (memcoll): Optimize for the common case where the
40084         arguments are bytewise equal.
40085
40086 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
40087
40088         * doc/regexprops-generic.texi: Add a copyright notice.
40089
40090 2006-08-15  Bruno Haible  <bruno@clisp.org>
40091
40092         * modules/tmpdir (License): Change to LGPL.
40093
40094 2006-08-15  Bruno Haible  <bruno@clisp.org>
40095
40096         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
40097         module.
40098
40099 2006-08-14  Simon Josefsson  <jas@extundo.com>
40100
40101         * config/srclist.txt: Add gnupload.
40102
40103 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
40104
40105         Change copyright notice from LGPL 2 to GPL 2, since that's the
40106         standard form used in the gnulib repository.
40107         * tests/test-lock.c: Likewise.
40108         * tests/test-stdint.c: Likewise.
40109         * tests/test-tls.c: Likewise.
40110
40111         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
40112         prelude-manager.  User shorter URLs for GNU projects, without '?'.
40113         Add copyright notice.
40114
40115         * check-module: Add copyright notice.  Output a copyright
40116         notice if "--version" is specified.
40117         * modules/COPYING: New file.
40118         * tests/test-getaddrinfo.c: Add copyright notice.
40119         * tests/test-verify.c: Likewise.
40120
40121 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
40122
40123         Change copyright notice from LGPL 2 to GPL 2, since that's the
40124         standard form used in the gnulib repository.
40125         * lib/lock.c: LGPL -> GPL.
40126         * lib/lock.h: Likewise.
40127         * lib/strnlen1.c: Likewise.
40128         * lib/strnlen1.h: Likewise.
40129         * lib/tls.c: Likewise.
40130         * lib/tls.h: Likewise.
40131         * lib/tmpdir.c: Likewise.
40132
40133         * lib/TODO: Remove; this belongs only in coreutils.
40134
40135 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
40136
40137         Add copyright notices to long-enough files that lack them, since
40138         otherwise the files aren't clearly free.  Use the same notice that
40139         getdate.texi already uses.
40140         * doc/alloca-opt.texi: Add copyright notice.
40141         * doc/alloca.texi: Likewise.
40142         * doc/ctime.texi: Likewise.
40143         * doc/functions.texi: Likewise.
40144         * doc/gcd.texi: Likewise.
40145         * doc/gnulib-tool.texi: Likewise.
40146         * doc/inet_ntoa.texi: Likewise.
40147         * doc/visibility.texi: Likewise.
40148
40149         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
40150         * doc/quote.texi: Add copyright notice.
40151
40152         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
40153         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
40154         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
40155         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
40156         is now obsolete, and give a pointer to the Sun list.
40157         Add copyright notice.
40158
40159 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
40160
40161         * config/srclistvars.sh: Add copyright notice.
40162
40163 2006-08-14  Eric Blake  <ebb9@byu.net>
40164
40165         Import the following change from libc:
40166
40167         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
40168
40169         Upstream bug 2997.
40170         * lib/misc/error.c: Add space between program name and message if file
40171         name is missing.
40172
40173 2006-08-12  Karl Berry  <karl@gnu.org>
40174
40175         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
40176         remove, these originate in gnulib now.
40177
40178 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40179
40180         * doc/Makefile (standards.info standards.html standards.dvi):
40181         Also depend on make-stds.texi.
40182
40183 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
40184
40185         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
40186         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
40187
40188         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
40189         in wchar_t.  Problem reported by Eric Blake.
40190
40191         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
40192         LEN is smaller than SIZE.  Suggested by Bruno Haible.
40193         Also, help the compiler to keep LEN in a register.
40194
40195 2006-08-11  Eric Blake  <ebb9@byu.net>
40196
40197         * users.txt: Sort.  Add tar.
40198
40199 2006-08-11  Bruno Haible  <bruno@clisp.org>
40200
40201         * users.txt: New file.
40202
40203 2006-08-11  Bruno Haible  <bruno@clisp.org>
40204
40205         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
40206         before <wchar.h>. Needed for OSF/1 and BSD/OS.
40207
40208 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
40209
40210         * modules/snprintf (Depends-on): Remove minmax.
40211         (Maintainer): Add self and Bruno.
40212
40213 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
40214
40215         * lib/.cppi-disable: Add snprintf.h, socket_.h.
40216         * lib/snprintf.c: Include <errno.h> and <limits.h>.
40217         (EOVERFLOW): Define if the system does not.
40218         Do not include "minmax.h"; it wasn't used.
40219         (snprintf): Don't assume size_t promotes to an unsigned type.
40220         Fix bug when generated string was too long for the buffer: the
40221         buffer's contents are supposed to be the initial prefix of the
40222         output.  Don't assume vasnprintf returns EOVERFLOW if the size
40223         exceeds INT_MAX; do the check ourselves.
40224
40225         Import the following changes from libc:
40226
40227         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
40228
40229         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
40230         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
40231         set wc to the byte which couldn't be converted.
40232         (re_string_reconstruct): Don't clear valid_raw_len before calling
40233         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
40234         tip_context using re_string_context_at.
40235
40236         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
40237
40238         * lib/posix/regex.h: g++ still cannot handled [restrict].
40239
40240         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
40241
40242         * lib/posix/regex.h: Remove special handling for VMS.
40243
40244 2006-08-10  Jim Meyering  <jim@meyering.net>
40245
40246         * modules/same-inode: New module.
40247         * modules/dev-ino: New module.
40248         * modules/cycle-check: Depend on these modules, rather than simply
40249         including their .h files.
40250         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
40251         required via m4/cycle-check.m4.
40252         * modules/same: Depend on new same-inode module, rather than
40253         including same-inode.h.
40254         * modules/chdir-safer: New file.
40255
40256         * modules/chown (Depends-on): Add stat-macros.
40257
40258 2006-08-10  Jim Meyering  <jim@meyering.net>
40259
40260         * m4/cycle-check.m4: New file.
40261         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
40262         * m4/dev-ino.m4, m4/same-inode.m4: New files.
40263
40264 2006-08-10  Eric Blake  <ebb9@byu.net>
40265
40266         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
40267         in from original proposal.
40268
40269 2006-08-10  Eric Blake  <ebb9@byu.net>
40270         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
40271
40272         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
40273         namespace.
40274
40275 2006-08-10  Bruno Haible  <bruno@clisp.org>
40276
40277         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
40278         as well.
40279
40280 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
40281
40282         Sync from coreutils.
40283
40284         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
40285
40286         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
40287         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
40288
40289 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
40290
40291         * modules/restrict: Remove; no longer needed now that we assume
40292         Autoconf 2.59 or later.
40293         * MODULES.html.sh: Remove 'restrict'.
40294         * modules/argp (Depends-on): Remove 'restrict'.
40295         * modules/base64 (Depends-on): Likewise.
40296         * modules/gc (Depends-on): Likewise.
40297         * modules/getaddrinfo (Depends-on): Likewise.
40298         * modules/glob (Depends-on): Likewise.
40299         * modules/inet_ntop (Depends-on): Likewise.
40300         * modules/inet_pton (Depends-on): Likewise.
40301         * modules/memxor (Depends-on): Likewise.
40302         * modules/regex (Depends-on): Likewise.
40303         * modules/strtok_r (Depends-on): Likewise.
40304         * modules/time_r (Depends-on): Likewise.
40305
40306 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
40307
40308         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
40309         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
40310         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
40311         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
40312         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
40313         * m4/memxor.m4 (gl_MEMXOR): Likewise.
40314         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
40315         gl_C_RESTRICT replaced by AC_C_RESTRICT.
40316
40317         Merge from coreutils.
40318         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
40319         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
40320         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
40321         * m4/time_r.m4 (gl_TIME_R): Likewise.
40322
40323 2006-08-09  Karl Berry  <karl@gnu.org>
40324
40325         * config/srclist.txt: no more gettext-tools, per Bruno.
40326
40327 2006-08-08  Eric Blake  <ebb9@byu.net>
40328
40329         * modules/verror: New module.
40330         * MODULES.html.sh: Document it.
40331
40332 2006-08-08  Eric Blake  <ebb9@byu.net>
40333
40334         * lib/verror.h, lib/verror.c: New files.
40335
40336 2006-08-08  Eric Blake  <ebb9@byu.net>
40337
40338         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
40339         verror_at_line output complies with GNU Coding Standards even when
40340         file is NULL.
40341
40342 2006-08-07  Bruno Haible  <bruno@clisp.org>
40343
40344         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
40345         versions of AIX.
40346         Reported by Ralf Wildenhues.
40347
40348 2006-08-07  Bruno Haible  <bruno@clisp.org>
40349
40350         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
40351         in an AC_DEFUN. Needed so that the autoconf snippets can use
40352         AC_REQUIRE.
40353
40354 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40355
40356         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
40357         Initialize pkgdata_DATA.
40358         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
40359         overriding it.
40360
40361 2006-08-06  Eric Blake  <ebb9@byu.net>
40362
40363         * lib/error.h: Fold in some upstream changes from glibc.
40364         * lib/error.c: Likewise.
40365
40366 2006-08-04  Bruno Haible  <bruno@clisp.org>
40367
40368         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
40369         Make the mostlyclean-local rule depend on mostlyclean-generic.
40370         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
40371
40372 2006-07-31  Bruno Haible  <bruno@clisp.org>
40373
40374         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
40375         <stdlib.h>, <string.h>.
40376
40377 2006-07-30  Bruno Haible  <bruno@clisp.org>
40378
40379         * modules/readlink (License): Change to LGPL.
40380
40381 2006-07-30  Bruno Haible  <bruno@clisp.org>
40382
40383         * modules/javaversion (Makefile.am): Distribute javaversion.java and
40384         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
40385         set PKGDATADIR to point to it.
40386
40387 2006-07-30  Bruno Haible  <bruno@clisp.org>
40388
40389         * modules/csharpexec (configure.ac): Comment out macro invocation.
40390         * modules/javaexec (configure.ac): Likewise.
40391         * modules/javacomp-script (configure.ac): Likewise.
40392
40393         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
40394
40395 2006-07-30  Bruno Haible  <bruno@clisp.org>
40396
40397         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
40398         linked-list.
40399
40400 2006-07-30  Bruno Haible  <bruno@clisp.org>
40401
40402         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
40403
40404 2006-07-30  Bruno Haible  <bruno@clisp.org>
40405
40406         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
40407         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
40408         get removed.
40409
40410 2006-07-29  Bruno Haible  <bruno@clisp.org>
40411
40412         Make it possible for gnulib-tool to work with locally modified or
40413         augmented gnulib repositories.
40414         * gnulib-tool (func_usage): Document --local-dir option.
40415         (local_gnulib_dir): New variable.
40416         Handle --local-dir option.
40417         (func_lookup_file): New function.
40418         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
40419         (func_get_description, func_get_filelist, func_get_description,
40420         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
40421         func_get_automake_snippet, func_get_include_directive,
40422         func_get_license, func_get_maintainer): Use func_lookup_file.
40423         (func_import, func_create_testdir): Use func_lookup_file.
40424
40425 2006-07-29  Bruno Haible  <bruno@clisp.org>
40426
40427         * modules/setenv (Depends-on): Add unistd.
40428
40429 2006-07-29  Bruno Haible  <bruno@clisp.org>
40430
40431         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
40432
40433 2006-07-29  Bruno Haible  <bruno@clisp.org>
40434
40435         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
40436
40437 2006-07-29  Bruno Haible  <bruno@clisp.org>
40438
40439         * gnulib-tool (import, update): If there is no Makefile.am, look at
40440         aclocal.m4, instead of bailing out.
40441
40442 2006-07-29  Bruno Haible  <bruno@clisp.org>
40443
40444         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
40445         Categorize the options by when they are useful.
40446
40447 2006-07-29  Bruno Haible  <bruno@clisp.org>
40448
40449         * gnulib-tool (func_usage): Document option --no-libtool.
40450         Handle option --no-libtool.
40451         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
40452         for changed semantics of $libtool variable.
40453         (func_import): Likewise. If libtool is not used, show this through
40454         an option --no-libtool.
40455         (func_create_testdir): Update.
40456
40457 2006-07-29  Bruno Haible  <bruno@clisp.org>
40458
40459         * gnulib-tool (func_import): Extend error message about missing
40460         --doc-base.
40461
40462 2006-07-29  Bruno Haible  <bruno@clisp.org>
40463
40464         * gnulib-tool (func_import): Don't create the $docbase directory if
40465         there is no file to store there.
40466
40467 2006-07-29  Bruno Haible  <bruno@clisp.org>
40468
40469         * gnulib-tool (autoconf_minversion): If a --dir option is given and
40470         relevant, look for configure.ac there, not in the current directory.
40471         Also use a simple search for AC_PREREQ, not "autoconf --trace".
40472
40473 2006-07-29  Bruno Haible  <bruno@clisp.org>
40474
40475         * gnulib-tool (SORT): New variable.
40476         (func_usage): Undocument --assume-autoconf option.
40477         Remove --assume-autoconf option handling.
40478         (autoconf_minversion): Determine from the contents of configure.ac.
40479         (func_import): Remove autoconf_minversion handling.
40480         Suggested by Eric Blake.
40481
40482 2006-07-29  Bruno Haible  <bruno@clisp.org>
40483
40484         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
40485
40486 2006-07-29  Bruno Haible  <bruno@clisp.org>
40487
40488         * config/srclist.txt (*setenv.[ch]): Remove rules.
40489
40490 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40491
40492         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
40493
40494 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40495
40496         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
40497         arpa/inet.h.
40498
40499 2006-07-28  Simon Josefsson  <jas@extundo.com>
40500
40501         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
40502         * modules/inet_pton (Depends-on): Likewise.
40503
40504 2006-07-28  Simon Josefsson  <jas@extundo.com>
40505
40506         * m4/netinet_in_h.m4: New file.
40507
40508 2006-07-28  Simon Josefsson  <jas@extundo.com>
40509
40510         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
40511         #include's.
40512
40513 2006-07-28  Simon Josefsson  <jas@extundo.com>
40514
40515         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
40516         #include's.
40517
40518 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
40519
40520         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
40521         setgid on directories only if they set these bits.
40522         * lib/modechange.h: Remove obsolete comment about masks.
40523
40524 2006-07-28  Eric Blake  <ebb9@byu.net>
40525
40526         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
40527         macro expansion.
40528
40529 2006-07-28  Bruno Haible  <bruno@clisp.org>
40530
40531         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
40532
40533 2006-07-28  Bruno Haible  <bruno@clisp.org>
40534
40535         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
40536
40537 2006-07-28  Bruno Haible  <bruno@clisp.org>
40538
40539         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
40540         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
40541         Define fallbacks.
40542         Avoids link error on FreeBSD 4.x.
40543         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
40544
40545         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
40546         encoding.
40547         * lib/mbswidth.c (iswcntrl): Likewise.
40548
40549 2006-07-27  Bruno Haible  <bruno@clisp.org>
40550
40551         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
40552         test.
40553
40554 2006-07-27  Bruno Haible  <bruno@clisp.org>
40555
40556         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
40557         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
40558         defined.
40559
40560 2006-07-26  Eric Blake  <ebb9@byu.net>
40561
40562         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
40563
40564 2006-07-26  Eric Blake  <ebb9@byu.net>
40565
40566         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
40567         like mingw that lack mkstemp.
40568         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
40569         avoid compilation warning on mingw.
40570
40571 2006-07-26  Bruno Haible  <bruno@clisp.org>
40572
40573         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
40574         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
40575         INT_FAST*_MIN, INTPTR_MIN.
40576
40577 2006-07-25  Bruno Haible  <bruno@clisp.org>
40578
40579         * modules/version-etc (Depends-on): Add stdarg.
40580
40581 2006-07-25  Bruno Haible  <bruno@clisp.org>
40582
40583         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
40584         complex commands.
40585
40586 2006-07-25  Bruno Haible  <bruno@clisp.org>
40587
40588         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
40589         defined in <stdarg.h> or config.h.
40590
40591 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
40592
40593         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
40594         (gl_STDIO_SAFER): Remove.
40595
40596 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
40597
40598         * MODULES.html.sh (File stream based Input/Output):
40599         Add fopen-safer, tmpfile-safer; remove stdio-safer.
40600         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
40601         * modules/fopen-safer, modules/tmpfile-safer: New files.
40602         * modules/stdio-safer: Remove.
40603
40604 2006-07-24  Bruno Haible  <bruno@clisp.org>
40605
40606         * modules/tmpdir: New file.
40607         * MODULES.html.sh (File system functions): Add it.
40608
40609 2006-07-24  Bruno Haible  <bruno@clisp.org>
40610
40611         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
40612         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
40613
40614 2006-07-24  Bruno Haible  <bruno@clisp.org>
40615
40616         * modules/clean-temp: New file.
40617
40618 2006-07-24  Bruno Haible  <bruno@clisp.org>
40619
40620         * m4/tmpdir.m4: New file, from GNU gettext.
40621
40622 2006-07-24  Bruno Haible  <bruno@clisp.org>
40623
40624         * lib/tmpdir.h: New file, from GNU gettext.
40625         * lib/tmpdir.c: New file, from GNU gettext.
40626
40627 2006-07-24  Bruno Haible  <bruno@clisp.org>
40628
40629         * lib/clean-temp.h: New file, from GNU gettext.
40630         * lib/clean-temp.c: New file, from GNU gettext.
40631
40632 2006-07-23  Eric Blake  <ebb9@byu.net>
40633
40634         * modules/stdio-safer (Files): Add tmpfile-safer.c.
40635         (Depends-on): Add binary-io.
40636
40637 2006-07-23  Eric Blake  <ebb9@byu.net>
40638
40639         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
40640
40641 2006-07-23  Eric Blake  <ebb9@byu.net>
40642
40643         * lib/tmpfile-safer.c: New file.
40644         * lib/stdio-safer.h (fopen_safer): Add prototype.
40645         * lib/stdio--.h (tmpfile): Make safer.
40646
40647 2006-07-23  Bruno Haible  <bruno@clisp.org>
40648
40649         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
40650         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
40651         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
40652         gl_linked_remove_at): Use it.
40653
40654 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40655         and Simon Josefsson <jas@extundo.com>
40656
40657         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
40658
40659         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
40660
40661 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
40662
40663         * modules/close-stream: New file.
40664         * modules/closeout (Description): Make it clear that it exits
40665         with a diagnostic on error.
40666         (Depends-on): Add close-stream.  Remove fpending, stdbool.
40667         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
40668
40669 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
40670
40671         * m4/close-stream.m4: New file.
40672
40673 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
40674
40675         * lib/close-stream.c, lib/close-stream.h: New files.
40676
40677 2006-07-22  Bruno Haible  <bruno@clisp.org>
40678
40679         Merge from GNU gettext 0.15.
40680
40681         2006-05-01  Bruno Haible  <bruno@clisp.org>
40682
40683                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
40684
40685         2006-07-22  Bruno Haible  <bruno@clisp.org>
40686
40687                 * modules/javaversion: New file.
40688                 * MODULES.html.sh (Java): Add javaversion.
40689
40690         2006-03-12  Bruno Haible  <bruno@clisp.org>
40691
40692                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
40693
40694         2005-12-04  Bruno Haible  <bruno@clisp.org>
40695
40696                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
40697                 (untested).
40698
40699         2006-06-21  Bruno Haible  <bruno@clisp.org>
40700
40701                 Avoid warnings from recent versions of mcs.
40702                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
40703                 -o, -L, -r any more. Use options documented since mcs-1.0
40704                 instead. Similarly for -g.
40705
40706         2005-12-04  Bruno Haible  <bruno@clisp.org>
40707
40708                 * build-aux/csharpcomp.sh.in: Suffix for resources is
40709                 .resources, not .resource.
40710
40711         2005-07-09  Bruno Haible  <bruno@clisp.org>
40712
40713                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
40714                 add a .dll suffix.
40715                 Reported by Mark Junker <mjscod@gmx.de>.
40716
40717         2006-07-22  Bruno Haible  <bruno@clisp.org>
40718
40719                 * modules/gettext: Upgrade to gettext-0.15.
40720                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
40721                 m4/visibility.m4.
40722                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
40723
40724 2006-07-22  Bruno Haible  <bruno@clisp.org>
40725
40726         Merge from GNU gettext 0.15.
40727
40728         2006-03-25  Bruno Haible  <bruno@clisp.org>
40729
40730                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
40731
40732         2006-07-21  Bruno Haible  <bruno@clisp.org>
40733
40734                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
40735                 "1.1".
40736
40737         2006-05-09  Bruno Haible  <bruno@clisp.org>
40738
40739                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
40740                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
40741                 for the conftestver execution.
40742
40743         2006-05-01  Bruno Haible  <bruno@clisp.org>
40744
40745                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
40746                 optional target-version argument. Verify that the compiler
40747                 groks source of the specified source-version, or add -source
40748                 option as necessary. Verify that the compiler produces
40749                 bytecode in the specified target-version, or add -target and
40750                 -source options as necessary. Make the result of the test
40751                 available as variable CONF_JAVAC. Also log error output in
40752                 config.log.
40753
40754         2006-03-11  Bruno Haible  <bruno@clisp.org>
40755
40756                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
40757
40758         2006-05-09  Bruno Haible  <bruno@clisp.org>
40759
40760                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
40761                 CLASSPATH_SEPARATOR to a semicolon.
40762
40763         2006-03-12  Bruno Haible  <bruno@clisp.org>
40764
40765                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
40766                 available as variable CONF_JAVA, for subsequent autoconf
40767                 tests. Also log error output in config.log.
40768
40769         2006-07-19  Bruno Haible  <bruno@clisp.org>
40770
40771                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
40772                 that getline works on glibc2 systems. Needed to avoid trouble
40773                 in relocatable.c.
40774                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
40775
40776         2005-12-04  Bruno Haible  <bruno@clisp.org>
40777
40778                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
40779                 launcher (untested).
40780
40781         2005-12-04  Bruno Haible  <bruno@clisp.org>
40782
40783                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
40784
40785         2006-07-22  Bruno Haible  <bruno@clisp.org>
40786
40787                 * gettext.m4: Update from GNU gettext-0.15.
40788                 * nls.m4: Likewise.
40789                 * po.m4: Likewise.
40790                 * inttypes-pri.m4: Likewise.
40791                 * inttypes-h.m4: Renamed from inttypes.m4.
40792                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
40793
40794 2006-07-22  Bruno Haible  <bruno@clisp.org>
40795
40796         Merge from GNU gettext 0.15.
40797
40798         2005-07-05  Bruno Haible  <bruno@clisp.org>
40799
40800                 * printf-args.c (printf_fetchargs): Work around broken
40801                 definition of wint_t on mingw.
40802
40803         2005-02-12  Bruno Haible  <bruno@clisp.org>
40804
40805                 * xallocsa.h: Add extern "C" for C++.
40806
40807         2006-05-17  Bruno Haible  <bruno@clisp.org>
40808
40809                 Cygwin portability.
40810                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
40811
40812         2006-04-30  Bruno Haible  <bruno@clisp.org>
40813
40814                 * progreloc.c: Include <mach-o/dyld.h> if available.
40815                 (find_executable): Use _NSGetExecutablePath when possible.
40816
40817         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
40818
40819                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
40820                 function.
40821
40822         2005-12-29  Bruno Haible  <bruno@clisp.org>
40823
40824                 * progreloc.c (set_program_name_and_installdir): Fix
40825                 compilation error.
40826
40827         2005-12-04  Bruno Haible  <bruno@clisp.org>
40828
40829                 Cygwin portability.
40830                 * progreloc.c: Include <windows.h> also on Cygwin.
40831                 (find_executable): Add support for Cygwin.
40832                 (set_program_name_and_installdir): Handle also platforms with
40833                 nonempty EXEEXT.
40834
40835         2006-07-11  Bruno Haible  <bruno@clisp.org>
40836
40837                 * javacomp.c: Fix a comment.
40838                 Reported by Jim Meyering.
40839
40840         2006-04-30  Bruno Haible  <bruno@clisp.org>
40841
40842                 * javacomp.h (compile_java_class): Add source_version,
40843                 target_version arguments.
40844                 * javacomp.c: Rewritten to choose only a compiler that
40845                 respects the specified source_version and target_version.
40846
40847         2006-06-27  Bruno Haible  <bruno@clisp.org>
40848
40849                 Assume correct S_ISDIR macro.
40850                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
40851
40852         2006-07-22  Bruno Haible  <bruno@clisp.org>
40853
40854                 * javaversion.h: New file, from GNU gettext.
40855                 * javaversion.c: New file, from GNU gettext.
40856                 * javaversion.java: New file, from GNU gettext.
40857                 * javaversion.class: New file, from GNU gettext.
40858
40859         2006-05-17  Bruno Haible  <bruno@clisp.org>
40860
40861                 Cygwin portability.
40862                 * javaexec.c (execute_java_class): Test for jview program
40863                 also on Cygwin.
40864
40865         2006-04-09  Bruno Haible  <bruno@clisp.org>
40866
40867                 * fatal-signal.c: Don't include string.h.
40868                 (at_fatal_signal): Use a copying loop instead of memcpy.
40869
40870         2005-12-04  Bruno Haible  <bruno@clisp.org>
40871
40872                 * csharpexec.c: Add support for 'clix' launcher (untested).
40873                 (execute_csharp_using_sscli): New function.
40874                 (execute_csharp_program): Call it.
40875
40876         2006-06-21  Bruno Haible  <bruno@clisp.org>
40877
40878                 Avoid warnings from recent versions of mcs.
40879                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
40880                 -o, -L, -r any more. Use options documented since mcs-1.0
40881                 instead. Similarly for -g.
40882
40883         2005-07-09  Bruno Haible  <bruno@clisp.org>
40884
40885                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
40886                 add a .dll suffix.
40887                 Reported by Mark Junker <mjscod@gmx.de>.
40888
40889         2006-06-17  Bruno Haible  <bruno@clisp.org>
40890
40891                 * config.charset: Update for NetBSD 3.0.
40892
40893         2006-05-17  Bruno Haible  <bruno@clisp.org>
40894
40895                 Cygwin portability.
40896                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
40897
40898         2006-05-16  Bruno Haible  <bruno@clisp.org>
40899
40900                 * localcharset.c [CYGWIN]: Include <windows.h>.
40901                 (get_charset_aliases): For Cygwin, return the same CPxxx
40902                 aliases list as under WIN32.
40903                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
40904                 the environment variables. Fall back to GetACP().
40905
40906         2006-04-05  Bruno Haible  <bruno@clisp.org>
40907
40908                 * config.charset: Update Juan Manuel Guerrero's address.
40909
40910         2005-02-12  Bruno Haible  <bruno@clisp.org>
40911
40912                 * allocsa.h: Add extern "C" for C++.
40913
40914         2005-02-10  Bruno Haible  <bruno@clisp.org>
40915
40916                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
40917                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
40918
40919         2006-07-22  Bruno Haible  <bruno@clisp.org>
40920
40921                 * gettext.h: Update to GNU gettext-0.15.
40922
40923 2006-07-22  Bruno Haible  <bruno@clisp.org>
40924
40925         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
40926         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
40927         lib-prefix.m4, longdouble.m4, ssize_t.m4.
40928
40929 2006-07-21  Eric Blake  <ebb9@byu.net>
40930
40931         * modules/stdlib-safer: New file.
40932         * MODULES.html.sh (File stream based Input/Output): Add
40933         stdlib-safer.
40934
40935 2006-07-21  Eric Blake  <ebb9@byu.net>
40936
40937         * lib/stdlib-safer.h: New file from coreutils, required by
40938         stdlib--.h.
40939
40940 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
40941
40942         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
40943
40944 2006-07-20  Bruno Haible  <bruno@clisp.org>
40945
40946         * gnulib-tool: Recognize new option --assume-autoconf.
40947         (autoconf_minversion): New variable.
40948         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
40949
40950 2006-07-20  Bruno Haible  <bruno@clisp.org>
40951
40952         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
40953
40954 2006-07-19  Derek R. Price  <derek@ximbiot.com>
40955
40956         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
40957         Reindent and repaginate.
40958
40959 2006-07-19  Derek Price  <derek@ximbiot.com>
40960
40961         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
40962         Correct grammar.
40963
40964 2006-07-17  Bruno Haible  <bruno@clisp.org>
40965
40966         * modules/list: New file.
40967         * modules/array-list: New file.
40968         * modules/carray-list, modules/carray-list-tests: New files.
40969         * modules/linked-list, modules/linked-list-tests: New files.
40970         * modules/avltree-list, modules/avltree-list-tests: New files.
40971         * modules/rbtree-list, modules/rbtree-list-tests: New files.
40972         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
40973         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
40974         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
40975         * modules/oset: New file.
40976         * modules/array-oset: New file.
40977         * modules/avltree-oset, modules/avltree-oset-tests: New files.
40978         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
40979         * tests/test-carray_list.c: New file.
40980         * tests/test-linked_list.c: New file.
40981         * tests/test-avltree_list.c: New file.
40982         * tests/test-rbtree_list.c: New file.
40983         * tests/test-linkedhash_list.c: New file.
40984         * tests/test-avltreehash_list.c: New file.
40985         * tests/test-rbtreehash_list.c: New file.
40986         * tests/test-avltree_oset.c: New file.
40987         * tests/test-rbtree_oset.c: New file.
40988         * MODULES.html.sh (Container data structures): New section.
40989
40990 2006-07-17  Bruno Haible  <bruno@clisp.org>
40991
40992         * m4/gl_list.m4: New file.
40993
40994 2006-07-17  Bruno Haible  <bruno@clisp.org>
40995
40996         * lib/gl_list.h: New file.
40997         * lib/gl_list.c: New file.
40998         * lib/gl_array_list.h: New file.
40999         * lib/gl_array_list.c: New file.
41000         * lib/gl_carray_list.h: New file.
41001         * lib/gl_carray_list.c: New file.
41002         * lib/gl_linked_list.h: New file.
41003         * lib/gl_linked_list.c: New file.
41004         * lib/gl_anylinked_list1.h: New file.
41005         * lib/gl_anylinked_list2.h: New file.
41006         * lib/gl_avltree_list.h: New file.
41007         * lib/gl_avltree_list.c: New file.
41008         * lib/gl_anyavltree_list1.h: New file.
41009         * lib/gl_anyavltree_list2.h: New file.
41010         * lib/gl_rbtree_list.h: New file.
41011         * lib/gl_rbtree_list.c: New file.
41012         * lib/gl_anyrbtree_list1.h: New file.
41013         * lib/gl_anyrbtree_list2.h: New file.
41014         * lib/gl_anytree_list1.h: New file.
41015         * lib/gl_anytree_list2.h: New file.
41016         * lib/gl_linkedhash_list.h: New file.
41017         * lib/gl_linkedhash_list.c: New file.
41018         * lib/gl_anyhash_list1.h: New file.
41019         * lib/gl_anyhash_list2.h: New file.
41020         * lib/gl_avltreehash_list.h: New file.
41021         * lib/gl_avltreehash_list.c: New file.
41022         * lib/gl_rbtreehash_list.h: New file.
41023         * lib/gl_rbtreehash_list.c: New file.
41024         * lib/gl_anytreehash_list1.h: New file.
41025         * lib/gl_anytreehash_list2.h: New file.
41026
41027         * lib/gl_oset.h: New file.
41028         * lib/gl_oset.c: New file.
41029         * lib/gl_array_oset.h: New file.
41030         * lib/gl_array_oset.c: New file.
41031         * lib/gl_avltree_oset.h: New file.
41032         * lib/gl_avltree_oset.c: New file.
41033         * lib/gl_rbtree_oset.h: New file.
41034         * lib/gl_rbtree_oset.c: New file.
41035         * lib/gl_anytree_oset.h: New file.
41036
41037 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
41038
41039         * m4/mkancesdirs.m4: New file.
41040         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
41041         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
41042         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
41043         it.
41044
41045 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
41046
41047         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
41048         * lib/mkancesdirs.h: New files.
41049         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
41050         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
41051         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
41052         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
41053         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
41054         callers changed.  Revamp internals significantly, by not
41055         attempting to create directories that are temporarily more
41056         permissive than the final results.  Do not attempt to use
41057         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
41058         This removes some race conditions, fixes some bugs, and simplifies
41059         things.  Use new dirchownmod function to do owner and mode changes.
41060         * lib/mkdir-p.h: Likewise.
41061         * lib/modechange.c (octal_to_mode): New function.
41062         (struct mode_change): New member mentioned.
41063         (make_node_op_equals): New arg mentioned.  All callers changed.
41064         (mode_compile): Keep track of which mode bits the user has explicitly
41065         mentioned.
41066         (mode_adjust): New arg DIR, so that we implement the X op correctly.
41067         New arg PMODE_BITS, to keep track of which mode bits the user
41068         mentioned; it treats S_ISUID and S_ISGID speciall.
41069         All callers changed.
41070         * lib/modechange.h: Likewise.
41071
41072 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
41073
41074         * MODULES.html.sh: Add mkancestors.
41075         * modules/mkancesdirs: New module.
41076         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
41077         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
41078         The chdir-safer and afs files are now orphans; I'll remove them
41079         unless someone speaks up.
41080         Add lib/dirchownmod.c, lib/dirchownmod.h.
41081         (Depends-on): Remove alloca, chown, save-cwd, dirname.
41082         Add lchown, mkancesdirs.
41083         (Maintainer): Add self.
41084
41085 2006-07-15  Karl Berry  <karl@gnu.org>
41086
41087         * gnulib-tool: help message wording/arrangement.
41088
41089 2006-07-14  Simon Josefsson  <jas@extundo.com>
41090
41091         * doc/gnulib.texi (Libtool and Windows): New section.
41092
41093 2006-07-12  Simon Josefsson  <jas@extundo.com>
41094
41095         * modules/gendocs (License): Fix license, approved by Karl.
41096
41097 2006-07-12  Eric Blake  <ebb9@byu.net>
41098
41099         * MODULES.html.sh: Add gendocs.
41100
41101 2006-07-11  Eric Blake  <ebb9@byu.net>
41102
41103         * modules/fdl: New module, to install doc/fdl.texi.
41104         * MODULES.html.sh: Add new section for documentation modules.
41105         * gnulib-tool: Avoid space-tab.
41106         (--doc-base): New option, to manage files from doc.
41107
41108 2006-07-11  Eric Blake  <ebb9@byu.net>
41109
41110         * m4/absolute-header.m4: Fix comments to match recent change.
41111
41112 2006-07-11  Eric Blake  <ebb9@byu.net>
41113
41114         * gnulib-tool: List --doc-base before --tests-base.
41115
41116 2006-07-11  Derek R. Price  <derek@ximbiot.com>
41117
41118         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
41119
41120 2006-07-11  Bruno Haible  <bruno@clisp.org>
41121
41122         * README: Mention where to put documentation.
41123
41124 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41125
41126         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
41127
41128 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
41129
41130         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
41131         to stdint.m4.
41132
41133 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
41134
41135         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
41136         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
41137         "no/such/file/stdint.h" when there is no such file, so that
41138         the resulting C code can be parsed by dodgy compilers.
41139         Problems reported by Bob Proulx.
41140
41141 2006-07-10  Derek R. Price  <derek@ximbiot.com>
41142
41143         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
41144         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
41145         macros into the GNU _D_EXACT_NAMLEN.
41146         * lib/savedir.c:  Likewise.
41147         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
41148
41149 2006-07-10  Derek R. Price  <derek@ximbiot.com>
41150         and Paul Eggert  <eggert@cs.ucla.edu>
41151
41152         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
41153         * m4/savedir.m4:
41154         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
41155         macros into the GNU _D_EXACT_NAMLEN.
41156
41157 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
41158
41159         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
41160         around the absolute name, to work around a problem with the HP-UX
41161         11.23 native C compiler, reported by Bob Proulx.
41162
41163 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
41164
41165         * doc/maintain.texi, make-stds.texi: Sync from
41166         <http://savannah.gnu.org/projects/gnustandards>.
41167
41168 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
41169
41170         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
41171
41172 2006-07-09  Jim Meyering  <jim@meyering.net>
41173
41174         * m4/glob.m4: Remove a doubled word in a comment.
41175
41176 2006-07-09  Jim Meyering  <jim@meyering.net>
41177
41178         * lib/argp-pv.c: Remove a doubled word in a comment.
41179         * lib/check-version.c (check_version): Likewise.
41180         * lib/javacomp.c (compile_java_class): Likewise.
41181
41182 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
41183
41184         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
41185         for the benefit of people using Autoconf 2.60.  If you want to
41186         support older Autoconf versions you can copy m4/onceonly_2_57.m4
41187         (or m4/onceonly.m4, if pre-2.57) manually.
41188
41189 2006-07-08  Jim Meyering  <jim@meyering.net>
41190
41191         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
41192         comment.
41193         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
41194         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
41195         comment.
41196
41197 2006-07-08  Jim Meyering  <jim@meyering.net>
41198
41199         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
41200
41201 2006-07-07  Simon Josefsson  <jas@extundo.com>
41202
41203         * tests/test-crc.c: Change expected crc value, the test vector
41204         were probably computed using the old broken crc.c?
41205
41206 2006-07-06  Simon Josefsson  <jas@extundo.com>
41207
41208         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
41209         now the canonical place for the M4 file).
41210
41211         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
41212         from the sys_socket dependency now.
41213
41214         * modules/inet_pton (Files): Ditto.
41215
41216         * modules/inet_ntop (Files): Ditto.
41217
41218 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
41219
41220         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
41221         not gl_PREREQ_GETUSERSHELL.
41222
41223 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41224
41225         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
41226         with only one argument, for Autoconf 2.60.
41227         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
41228         expand to nothing, so add a shell command to avoid syntax error.
41229         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
41230
41231 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41232
41233         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
41234
41235 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
41236
41237         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
41238         no longer needed.  Check for isblank decl.
41239         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
41240         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
41241         of existence.
41242
41243 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
41244
41245         * lib/getloadavg.c: Use __VMS, not VMS.
41246         * lib/getopt.c: Likewise.
41247         * lib/getpagesize.h: Likewise.
41248         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
41249         and probably does not work.
41250
41251 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
41252
41253         * lib/.cppi-disable: Add wcwidth.
41254         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
41255         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
41256         (ISGRAPH): Remove.  All uses changed to isgraph.
41257         (FOLD) [!defined _LIBC]: Remove special case.
41258         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
41259         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
41260         HAVE_ISBLANK.
41261         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
41262         case.
41263
41264 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
41265
41266         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
41267         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
41268         brackets.  Other minor changes to suppress some compiler
41269         warnings.
41270
41271 2006-07-06  Derek R. Price  <derek@ximbiot.com>
41272         and Paul Eggert  <eggert@cs.ucla.edu>
41273
41274         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
41275         of invoking obsolescent AC_HEADER_DIRENT macro.
41276         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
41277         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
41278         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
41279         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
41280         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
41281         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
41282         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
41283         * m4/readdir.m4: Remove; no longer needed.
41284
41285 2006-07-06  Derek R. Price  <derek@ximbiot.com>
41286         and Paul Eggert  <eggert@cs.ucla.edu>
41287
41288         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
41289         Don't worry about this obsolete case any more.
41290         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
41291         directories.
41292         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
41293         worry about this obsolete case any more.
41294         * lib/fts.c: Likewise.
41295         * lib/getcwd.c: Likewise.
41296         * lib/glob.h: Likewise.
41297         * lib/savedir.c: Likewise.
41298
41299 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
41300
41301         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
41302         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
41303         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
41304         needed.
41305         All uses removed.
41306         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
41307         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
41308         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
41309         needed.
41310         * m4/getdate.m4 (gl_GETDATE): Likewise.
41311         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
41312         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
41313         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
41314         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
41315         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
41316         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
41317         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
41318         needed.
41319
41320 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
41321
41322         * lib/memcasecmp.c: Include <limits.h>.
41323         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
41324         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
41325         Don't assume isdigit succeeds only on '0' through '9'.
41326
41327 2006-07-05  Eric Blake  <ebb9@byu.net>
41328
41329         * modules/getaddrinfo (Depends-on): Add snprintf.
41330
41331 2006-07-05  Eric Blake  <ebb9@byu.net>
41332
41333         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
41334         to avoid 'header present but could not be compiled' on cygwin.
41335
41336 2006-07-05  Eric Blake  <ebb9@byu.net>
41337
41338         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
41339         missing from netdb.h.
41340         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
41341
41342 2006-07-05  Derek R. Price  <derek@ximbiot.com>
41343
41344         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
41345         no longer needed.
41346         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
41347         * m4/getdate.m4 (gl_GETDATE): Likewise.
41348         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
41349         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
41350         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
41351         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
41352         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
41353
41354 2006-07-05  Derek R. Price  <derek@ximbiot.com>
41355
41356         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
41357         All uses of is_space replaced by isspace.
41358         * lib/exit.h: Don't talk about STDC_HEADERS.
41359         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
41360         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
41361         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
41362         replaced by isprint etc.
41363         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
41364         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
41365         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
41366         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
41367         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
41368         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
41369
41370 2006-07-05  Bruno Haible  <bruno@clisp.org>
41371
41372         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
41373         the function exists, before testing against AIX.
41374         Reported by Martin Lambers <marlam@marlam.de>.
41375
41376 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
41377
41378         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
41379         From Mark D. Baushke.
41380
41381 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
41382
41383         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
41384         to the absolute name, not just one, to bypass Sun C 5.8's
41385         "warning: #include of /usr/include/... may be non-portable".
41386
41387 2006-07-04  Eric Blake  <ebb9@byu.net>
41388
41389         * modules/dirname-tests: New test module.
41390         * tests/test-dirname.c: New file, replacing dirname.c
41391         TEST_DIRNAME section that was recently deleted.
41392
41393 2006-07-04  Bruno Haible  <bruno@clisp.org>
41394
41395         Assume ANSI C header files and <ctype.h> functions.
41396         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
41397         (mbsnwidth): Use isprint, iscntrl instead.
41398
41399 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
41400
41401         Merge from coreutils.
41402         * MODULES.html.sh: Add xstrtold.
41403         * modules/xstrtold: New file.
41404         * modules/cycle-check (Files): Add lib/same-inode.h.
41405         * modules/dirname (Files): Add m4/double-slash-root.m4.
41406         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
41407         * modules/mkdir-p (Files): Add lib/same-inode.h.
41408         * modules/same (Files): Add lib/same-inode.h.
41409
41410 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
41411
41412         * m4/absolute-header.m4: Renamed from full-header-path.m4.
41413         This is to keep the terminology clean; POSIX talks about
41414         "absolute pathnames", not "full pathnames", but the GNU
41415         Coding Standards say to use "path" for something else;
41416         so use "absolute" to keep both sides happy.
41417         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
41418         Set gl_absolute_header, not gl_full_header_path.
41419         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
41420         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
41421         All uses changed.
41422
41423         Merge from coreutils.
41424
41425         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
41426
41427         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
41428         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
41429         want to require the building of c-strtod.o.
41430         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
41431         needs -lm directly.
41432         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
41433
41434         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
41435
41436         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
41437         --as-needed option if available.  Problem reported by Albert Chin in
41438         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
41439         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
41440         cc merely issues a bunch of annoying warnings for --as-needed
41441         (this problem was reported by Bob Proulx).  Also, try linking with
41442         -lm to detect a bug in binutils 2.16 (this problem was reported
41443         by Ralf Wildenhues).
41444
41445         2006-06-18  Jim Meyering  <jim@meyering.net>
41446
41447         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
41448         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
41449         macro.
41450         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
41451         also check for glibc-2.4's abort-inducing bug.
41452
41453         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
41454         Low-probability clean-up should be to use rmdir to get rid of
41455         the just-created directory, not unlink.
41456
41457         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
41458         configure fail, and request a bug report to inform us about it.
41459         Add a comment that, barring reports to the contrary, in 2007 we'll
41460         assume ftruncate is universally available.
41461
41462         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
41463
41464         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
41465
41466         2006-03-12  Jim Meyering  <jim@meyering.net>
41467
41468         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
41469         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
41470         * m4/same.m4 (gl_SAME): Likewise.
41471         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
41472
41473         2006-03-11  Eric Blake  <ebb9@byu.net>
41474
41475         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
41476         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
41477         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
41478         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
41479
41480 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
41481
41482         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
41483         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
41484         reported by Mark D. Baushke, one in
41485         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
41486
41487         Merge from coreutils.
41488
41489         * lib/.cppi-disable: Add stdint_.h.
41490         * lib/.cvsignore: Add stdint.h.
41491
41492         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
41493
41494         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
41495         both double and long double versions.
41496         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
41497         * lib/xstrtold.c: New file.
41498         * lib/xstrtod.h (xstrtold): New decl.
41499
41500         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
41501
41502         * lib/filemode.c (setst): Remove.
41503         (strmode): Rewrite to avoid setst.  This makes the code shorter,
41504         (arguably) clearer, and the generated code is a bit smaller on my
41505         Debian GNU/Linux stable x86 host.
41506
41507         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
41508
41509         * lib/filemode.c: Include "filemode.h" first, to test the interface.
41510         Assume that filemode.h includes sys/types.h and sys/stat.h.
41511         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
41512         (ftypelet): Reorder to put common cases first, for efficiency.
41513         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
41514         to do 'M'.
41515         (strmode): Renamed from mode_string, and now stores 12 bytes instead
41516         of 10, for compatibility with FreeBSD.  All callers changed.
41517         (filemodestring): Now stores 12 bytes instead of 10, and sets file
41518         types that can't be deduced solely from st_mode.  First arg is now a
41519         const pointer.
41520         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
41521         (strmode): Renamed from mode_string.
41522         (filemodestring): New decl.
41523         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
41524         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
41525         needed.
41526         (S_ISPORT, S_ISWHT): New macros, if not already defined.
41527
41528         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
41529
41530         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
41531         fsusage.h now does that.  Include fsusage.h first, to test interface.
41532         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
41533         at most one method (the old code could have generated decls that
41534         didn't conform to C89, not that this was ever exercised).
41535         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
41536
41537         2006-03-19  Jim Meyering  <jim@meyering.net>
41538
41539         Work even in a chroot where d_ino values for entries in "/"
41540         don't match the stat.st_ino values for the same names.
41541         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
41542         number, iterate through all entries again, using lstat instead.
41543         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
41544         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
41545
41546         * lib/getcwd.c (__getcwd): Clarify a comment.
41547         Use memcpy in place of a call to strcpy.
41548
41549         2006-03-12  Jim Meyering  <jim@meyering.net>
41550
41551         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
41552         matches that of the current directory (which we're about to chdir ".."
41553         out of), then save the dev-ino of the parent, instead.
41554
41555         * lib/same-inode.h (SAME_INODE): New file/macro.
41556         * lib/chdir-safer.c (SAME_INODE): Remove definition.
41557         Include "same-inode.h", instead.
41558         * lib/same.c: Likewise.
41559         * lib/cycle-check.h: Include "same-inode.h".
41560         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
41561         * lib/cycle-check.c (SAME_INODE): Remove definition.
41562         * lib/root-dev-ino.h: Include "same-inode.h".
41563
41564         2006-03-11  Eric Blake  <ebb9@byu.net>
41565
41566         * lib/same.c (same_name): s/base_name/last_component/
41567         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
41568         * lib/filenamecat.c (file_name_concat): Likewise.
41569
41570         2006-03-11  Eric Blake  <ebb9@byu.net>,
41571                     Paul Eggert  <eggert@cs.ucla.edu>
41572
41573         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
41574         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
41575         drive prefix.
41576         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
41577         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
41578         (last_component): New method.
41579         * lib/dirname.c (dir_len): Determine when drive letters need a
41580         subsequent slash.  Preserve // when it is special.
41581         (dir_name): Don't append dot when drive letter is absolute.
41582         [TEST_DIRNAME]: Move into a full-blown gnulib test.
41583         * lib/basename.c (base_name): New semantics - malloc the result.
41584         Preserve // when it is special.  Preserve relative files that look
41585         like drive letters.
41586         (base_len): Preserve // when it is special.
41587         (last_component): New method, similar to old base_name semantics.
41588         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
41589         base_name.  Strip redundant slashes from ///.
41590
41591 2006-07-03  Jim Meyering  <jim@meyering.net>
41592
41593         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
41594         macro is used before the first cycle_check call.
41595
41596 2006-07-03  Eric Blake  <ebb9@byu.net>
41597
41598         * modules/dirname (Depends-on): Add xstrndup.
41599
41600 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
41601
41602         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
41603         test cases, so that config.log is a bit easier to follow.
41604
41605 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
41606
41607         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
41608         both are 64 bits, since this seems to be the tradition, and this
41609         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
41610         we ever run into a host that prefers long long to long in this
41611         case, we'll need another configure-time test.  Problem reported by
41612         Jim Meyering.
41613
41614 2006-07-02  Eric Blake  <ebb9@byu.net>
41615
41616         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
41617
41618 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
41619
41620         * modules/inttypes (Depends-on): No longer depends on stdint.
41621         * modules/stdint (Description): Say more about assumptions.
41622         Say that the fast types might differ.  Say macros are used.
41623         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
41624         (Makefile.am): Revise list of substituted symbols to match
41625         new stdint.m4.
41626         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
41627         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
41628         * tests/test-stdint.c (verify_same_types)
41629         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
41630         the code conforms to C99/C89.
41631         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
41632         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
41633
41634 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
41635
41636         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
41637         but fix a bug, by requiring at least 64 bits.
41638         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
41639         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
41640         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
41641         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
41642
41643         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
41644         changes.  Make 2.59 a prerequisite.  Check and substitute for
41645         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
41646         inttypes.h.  Do not use special include files; just use the
41647         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
41648         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
41649         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
41650         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
41651         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
41652         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
41653         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
41654         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
41655         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
41656         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
41657         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
41658         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
41659         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
41660         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
41661         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
41662         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
41663         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
41664         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
41665         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
41666         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
41667         WINT_MAX.  Check for C99 conformance more strictly, by detecting
41668         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
41669         not check for things that C99 does not require, e.g., int8_t.  If
41670         a test isn't needed unless <stdint.h> isn't working, and is
41671         unlikely to be needed for any other reason, then don't do it
41672         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
41673         size_t, since we assume C89 freestanding at least.  Do not check
41674         for sig_atomic_t, wchar_t, or wint_t, since the code now does
41675         the right thing even if the types are not defined.  Instead use:
41676         (gl_STDINT_TYPE_PROPERTIES): New macro.
41677         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
41678         testing whether <sys/types.h> clashes, as Autoconf does this for
41679         us now.  All uses removed.
41680         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
41681         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
41682         (gl_CHECK_TYPE_SAME):
41683         Remove; no longer needed.
41684         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
41685         exists, since we'll return 0 anyway in that case.
41686         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
41687
41688 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
41689
41690         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
41691         possible collision with system files.
41692         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
41693         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
41694         WCHAR_MIN and WCHAR_MAX in this case.
41695         (<stddef.h>): Do not include; no longer needed.
41696         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
41697         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
41698         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
41699         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
41700         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
41701         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
41702         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
41703         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
41704         !defined(__c99))]: Include in this case too, since it's harmless
41705         now.
41706         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
41707         dangerous to do so.
41708         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
41709         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
41710         (_STDINT_MIN, _STDINT_MAX): New macros.
41711         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
41712         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
41713         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
41714         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
41715         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
41716         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
41717         macros, not typedefs; this simplifies things quite a bit.
41718         Use long int for all types narrower than int64_t.
41719         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
41720         Define in terms of long long int or int64_t or long int,
41721         not int64_t or int32_t.  This saves some compile-time testing.
41722         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
41723         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
41724         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
41725         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
41726         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
41727         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
41728         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
41729         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
41730         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
41731         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
41732         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
41733         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
41734         undef any previous version and define our own version, for
41735         simplicity and consistency with the new macros for types.
41736         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
41737         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
41738         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
41739         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
41740         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
41741         @WINT_T_SUFFIX@ to keep things simple here.
41742         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
41743         Simplify by assuming typical 8/16/32/64 host, since we're
41744         already doing that elsewhere anyway.
41745         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
41746         and assume long long int is 64 bits if available.  This
41747         speeds up 'configure'.
41748
41749 2006-07-01  Eric Blake  <ebb9@byu.net>
41750
41751         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
41752         Reported by Andreas Buening.
41753
41754 2006-07-01  Eric Blake  <ebb9@byu.net>
41755
41756         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
41757
41758 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
41759
41760         * lib/getaddrinfo.c: fixed typo
41761
41762 2006-06-29  Jim Meyering  <jim@meyering.net>
41763
41764         * modules/strftime (Maintainer): Add my name, since with the
41765         FPRINTFTIME changes strftime.c has forked from glibc.
41766
41767 2006-06-29  Eric Blake  <ebb9@byu.net>
41768
41769         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
41770
41771 2006-06-29  Eric Blake  <ebb9@byu.net>
41772
41773         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
41774
41775 2006-06-29  Eric Blake  <ebb9@byu.net>
41776
41777         * lib/stat_.h: New file.
41778
41779 2006-06-29  Eric Blake  <ebb9@byu.net>
41780
41781         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
41782         unused static function.
41783
41784 2006-06-29  Eric Blake  <ebb9@byu.net>
41785
41786         * doc/functions.texi (Function Portability): Document missing lstat
41787         on mingw.
41788
41789 2006-06-29  Eric Blake  <ebb9@byu.net>
41790
41791         * MODULES.html.sh: Add sys_stat.
41792         * modules/sys_stat: New module.
41793         * modules/mkstemp (Depends-on): Add sys_stat.
41794
41795 2006-06-29  Derek R. Price  <derek@ximbiot.com>
41796
41797         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
41798
41799 2006-06-29  Derek R. Price  <derek@ximbiot.com>
41800
41801         * m4/c-bs-a.m4: Removed.
41802
41803 2006-06-29  Derek R. Price  <derek@ximbiot.com>
41804
41805         * lib/strftime.c: Assume strftime() exists.
41806
41807 2006-06-29  Derek Price  <derek@ximbiot.com>
41808
41809         * modules/c-bs-a: Removed - \a is C89.
41810         * MODULES.html.sh: Remove c-bs-a.
41811
41812 2006-06-29  Bruno Haible  <bruno@clisp.org>
41813
41814         * modules/wcwidth (License): Change to LGPL.
41815
41816 2006-06-28  Simon Josefsson  <jas@extundo.com>
41817
41818         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
41819         on _WIN32.
41820
41821         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
41822         getnameinfo.
41823
41824 2006-06-28  Simon Josefsson  <jas@extundo.com>
41825
41826         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
41827
41828 2006-06-28  Simon Josefsson  <jas@extundo.com>
41829
41830         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
41831         functions there.  It will succeed on Windows XP, but on Windows
41832         2000 and (presumably) earlier, it will fail, and use the internal
41833         re-implementation.
41834         (use_win32_p): New function.
41835         (getaddrinfo): Use strtoul on servname, to support numeric ports.
41836         Support AI_NUMERICSERV to disable getservbyname.
41837         (getnameinfo): New function, only supports
41838         NI_NUMERICHOST|NI_NUMERICSERV for now.
41839
41840         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
41841         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
41842         getnameinfo.
41843
41844 2006-06-28  Eric Blake  <ebb9@byu.net>
41845
41846         * modules/wcwidth: New file.
41847         * modules/mbchar (Depends-on): Add wcwidth.
41848         * modules/mbswidth (Depends-on): Add wcwidth.
41849         * MODULES.html.sh: Add wcwidth.
41850
41851 2006-06-28  Eric Blake  <ebb9@byu.net>
41852
41853         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
41854         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
41855
41856 2006-06-28  Eric Blake  <ebb9@byu.net>
41857
41858         * lib/xvasprintf.h: Fix comments.
41859
41860 2006-06-28  Eric Blake  <ebb9@byu.net>
41861
41862         * lib/mbchar.h (wcwidth): Include wcwidth.h.
41863         * lib/mbswidth.c (wcwidth): Move from here...
41864         * lib/wcwidth.h: ...to this new file.
41865
41866 2006-06-28  Derek R. Price  <derek@ximbiot.com>
41867
41868         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
41869
41870         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
41871         it's obsolete.
41872         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
41873
41874 2006-06-28  Derek R. Price  <derek@ximbiot.com>
41875
41876         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
41877         Autoconf 2.60 says this stuff was obsolete.
41878
41879 2006-06-28  Bruno Haible  <bruno@clisp.org>
41880
41881         * modules/wcwidth (Files): Add m4/wchar_t.m4.
41882
41883 2006-06-28  Bruno Haible  <bruno@clisp.org>
41884
41885         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
41886         gt_TYPE_WCHAR_T.
41887
41888 2006-06-28  Bruno Haible  <bruno@clisp.org>
41889
41890         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
41891         declaration for wcwidth.
41892         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
41893
41894 2006-06-28  Bruno Haible  <bruno@clisp.org>
41895
41896         * lib/mkdtemp.c [MINGW]: Include <io.h>.
41897         (mkdir): Define using _mkdir.
41898
41899 2006-06-28  Bruno Haible  <bruno@clisp.org>
41900
41901         * lib/getaddrinfo.h: Fix POSIX URL.
41902         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
41903         _WIN32.
41904         (use_win32_p): Make static.
41905         (getaddrinfo): Reject service name if it is empty or does not consist
41906         solely of decimal digits, or if its value is > 65535.
41907         (getnameinfo): Remove useless casts.
41908
41909 2006-06-27  Simon Josefsson  <jas@extundo.com>
41910
41911         * modules/sys_select: New file, suggested by Bruno Haible, Paul
41912         Eggert and Martin Lambers.
41913
41914 2006-06-27  Simon Josefsson  <jas@extundo.com>
41915
41916         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
41917         Eggert and Martin Lambers.
41918
41919 2006-06-27  Bruno Haible  <bruno@clisp.org>
41920
41921         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
41922         result to 0, not to empty.
41923         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
41924
41925 2006-06-27  Bruno Haible  <bruno@clisp.org>
41926
41927         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
41928
41929 2006-06-26  Simon Josefsson  <jas@extundo.com>
41930
41931         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
41932         present.
41933
41934 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
41935
41936         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
41937         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
41938         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
41939
41940 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
41941
41942         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
41943
41944 2006-06-26  Bruno Haible  <bruno@clisp.org>
41945
41946         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
41947
41948 2006-06-26  Bruno Haible  <bruno@clisp.org>
41949
41950         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
41951
41952 2006-06-26  Bruno Haible  <bruno@clisp.org>
41953
41954         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
41955         SGI C compiler in pre-C99 mode.
41956         Suggested by Mark D. Baushke and Larry Jones.
41957
41958 2006-06-26  Bruno Haible  <bruno@clisp.org>
41959
41960         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
41961         WCHAR_MAX.
41962         Reported by Mark D. Baushke and Larry Jones.
41963
41964 2006-06-26  Bruno Haible  <bruno@clisp.org>
41965
41966         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
41967         in pre-C99 mode.
41968         Suggested by Mark D. Baushke and Larry Jones.
41969
41970 2006-06-23  Simon Josefsson  <jas@extundo.com>
41971             Bruno Haible  <bruno@clisp.org>
41972
41973         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
41974         Emit mostlyclean-local rule.
41975         (func_emit_tests_Makefile_am): Likewise.
41976         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
41977
41978 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
41979
41980         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
41981
41982 2006-06-23  Bruno Haible  <bruno@clisp.org>
41983
41984         * tests/test-stdint.c: Update to match ISO C 99 Technical
41985         Corrigendum 1.
41986
41987 2006-06-23  Bruno Haible  <bruno@clisp.org>
41988
41989         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
41990
41991 2006-06-23  Bruno Haible  <bruno@clisp.org>
41992
41993         * lib/stdint_.h: Treat IRIX like OpenBSD.
41994
41995 2006-06-23  Bruno Haible  <bruno@clisp.org>
41996
41997         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
41998         ISO C 99 Technical Corrigendum 1.
41999
42000 2006-06-22  Simon Josefsson  <jas@extundo.com>
42001
42002         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
42003         MinGW.
42004
42005 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
42006
42007         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
42008         needed.  Some compiler complained about some of them.  Problem reported
42009         by Larry Jones in
42010         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
42011
42012 2006-06-21  Simon Josefsson  <jas@extundo.com>
42013
42014         * tests/test-getaddrinfo.c: New file.
42015
42016         * modules/getaddrinfo-tests: New file.
42017
42018         * MODULES.html.sh: Add inet_pton.
42019
42020         * modules/inet_pton: New file.
42021
42022 2006-06-21  Simon Josefsson  <jas@extundo.com>
42023
42024         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
42025         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
42026         of using the (limited) gnulib implementation on Windows XP.
42027
42028         * m4/inet_pton.m4: New file.
42029
42030 2006-06-21  Simon Josefsson  <jas@extundo.com>
42031
42032         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
42033         variable.
42034
42035         * lib/socket_.h: Don't define WINVER.
42036
42037         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
42038         slightly modified to work in gnulib.
42039
42040 2006-06-21  Simon Josefsson  <jas@extundo.com>
42041
42042         * doc/gnulib.texi (Windows sockets): Add.
42043
42044 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
42045
42046         * lib/read-file.c (fread_file): Start with buffer allocation of
42047         0 bytes rather than 1 byte; this simplifies the code.
42048         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
42049         code to free buffer and save/restore errno.
42050         (internal_read_file): Remove unused local.
42051
42052 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
42053
42054         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
42055         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
42056         Problem reported by Denis Excoffier in
42057         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
42058
42059 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42060
42061         * modules/sys_socket, modules/socklen: Include sys/types since
42062         FreeBSD 4.x's sys/socket.h needs it.
42063
42064 2006-06-19  Simon Josefsson  <jas@extundo.com>
42065
42066         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
42067
42068 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
42069
42070         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
42071
42072 2006-06-19  Bruno Haible  <bruno@clisp.org>
42073
42074         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
42075         and FULL_PATH_INTTYPES_H in angle brackets.
42076         Reported by Mark D. Baushke <mdb@gnu.org>.
42077
42078 2006-06-17  Eric Blake  <ebb9@byu.net>
42079
42080         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
42081         errno.
42082
42083 2006-06-17  Bruno Haible  <bruno@clisp.org>
42084
42085         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
42086         <sys/inttypes.h>.
42087
42088 2006-06-17  Bruno Haible  <bruno@clisp.org>
42089
42090         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
42091         whether errno is declared. Assume <errno.h> declares errno.
42092
42093 2006-06-17  Bruno Haible  <bruno@clisp.org>
42094
42095         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
42096
42097 2006-06-17  Bruno Haible  <bruno@clisp.org>
42098
42099         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
42100         problem on Solaris 2.5.1.
42101
42102 2006-06-16  Eric Blake  <ebb9@byu.net>
42103
42104         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
42105         * lib/unicodeio.c [!defined errno]: Likewise.
42106         * lib/strtol.c [!defined errno]: Likewise.
42107         * lib/strtod.c [!defined errno]: Likewise.
42108
42109 2006-06-15  Eric Blake  <ebb9@byu.net>
42110
42111         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
42112
42113 2006-06-15  Eric Blake  <ebb9@byu.net>
42114
42115         * config/srclist.txt (ssize_t.m4): Lose sync.
42116
42117 2006-06-15  Bruno Haible  <bruno@clisp.org>
42118
42119         * modules/stdint (Files): Include m4/full-header-path.m4,
42120         m4/size_max.m4, m4/wchar_t.m4.
42121         (Makefile.am): Many more substitutions.
42122         * modules/stdint-tests: New file.
42123         * tests/test-stdint.c: New file.
42124
42125 2006-06-15  Bruno Haible  <bruno@clisp.org>
42126
42127         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
42128         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
42129         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
42130         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
42131         gl_CHECK_TYPE_SAME): New macros.
42132
42133 2006-06-15  Bruno Haible  <bruno@clisp.org>
42134
42135         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
42136
42137 2006-06-15  Bruno Haible  <bruno@clisp.org>
42138
42139         * lib/stdint_.h: Rewritten to be fully auto-configured.
42140         Fixes bug on HP-UX/IA64.
42141
42142 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
42143
42144         * lib/getdate.y (__attribute__): Don't define if already defined.
42145         Problem reported by Larry Jones.
42146         * lib/utimens.c (__attribute__): Likewise.
42147
42148 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
42149
42150         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
42151         reported by Andreas Schwab.
42152
42153 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42154             Bruno Haible  <bruno@clisp.org>
42155
42156         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
42157         check for the declaration of strnlen and a run test that exposes the
42158         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
42159         rpl_strndup.
42160
42161 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42162             Bruno Haible  <bruno@clisp.org>
42163
42164         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
42165
42166 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42167
42168         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
42169         compile test, for Tru64 4.0D.
42170
42171 2006-05-28  Karl Berry  <karl@gnu.org>
42172
42173         * config/srclist.txt (printf-args.c): lose sync.
42174
42175 2006-05-26  Martin Lambers  <marlam@marlam.de>
42176
42177         * lib/getpass.c: Updates the test for the native W32 API, and adds
42178         missing includes, thus fixing compilation warnings.
42179
42180 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
42181
42182         * lib/exclude.c (exclude_fnmatch): New function.
42183         (excluded_file_name): Call exclude_fnmatch.
42184         * lib/exclude.h (excluded_file_name): New prototype
42185
42186 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
42187
42188         * lib/tempname.c (small_open, large_open): New macros.
42189         (__open, __open64) [!_LIBC]: Remove.
42190         (__gen_tempname): Use small_open and large_open instead of __open
42191         and __open64.  This fixes a portability bug on HP-UX 11.11i
42192         reported by Simon Wing-Tang in
42193         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
42194
42195 2006-05-24  Bruno Haible  <bruno@clisp.org>
42196
42197         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
42198         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
42199         Reported by Thorsten Maerz <torte@netztorte.de> via
42200         Aaron Stone <aaron@serendipity.cx>.
42201
42202 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
42203
42204         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
42205         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
42206         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
42207         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
42208         not really conditional on the cache.
42209         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
42210
42211 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
42212
42213         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
42214         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
42215         (my_usleep): Don't mishandle maximum value.
42216
42217 2006-05-19  Jim Meyering  <jim@meyering.net>
42218
42219         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
42220
42221 2006-05-17  Bruno Haible  <bruno@clisp.org>
42222
42223         Cygwin portability.
42224         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
42225
42226 2006-05-17  Bruno Haible  <bruno@clisp.org>
42227
42228         * lib/stdint_.h: Fix recognition of Cygwin.
42229
42230 2006-05-15  Bruno Haible  <bruno@clisp.org>
42231
42232         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
42233         on libtool patch by Ralf Wildenhues.
42234
42235 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
42236
42237         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
42238         test for C99 conformance; (bool) 0.5 is an integer constant
42239         expression, but (bool) -0.5 is not.  Problem reported by Fedor
42240         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
42241
42242 2006-05-11  Simon Josefsson  <jas@extundo.com>
42243
42244         * m4/xvasprintf.m4: Fix obvious typo.
42245
42246 2006-05-11  Jim Meyering  <jim@meyering.net>
42247
42248         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
42249         James Lemley.
42250
42251 2006-05-10  Simon Josefsson  <jas@extundo.com>
42252
42253         * lib/md4.c: Typo fix, update copyright years.
42254         (K1, K2): Don't use L because it turn computations into 64-bit on
42255         64-bit platforms.
42256
42257 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
42258
42259         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
42260         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
42261         unwanted sign propagation, e.g., on hosts with 64-bit int.
42262         There still are some problems with reeelly weird theoretical hosts
42263         (e.g., 33-bit int) but it's not worth worrying about now.
42264         * lib/sha1.c (rol): Likewise.
42265         (K1, K2, K3, K4): Remove unnecessary L suffix.
42266
42267 2006-05-10  Bruno Haible  <bruno@clisp.org>
42268
42269         * lib/des.c: Cast to avoid warnings.
42270
42271 2006-05-09  Bruno Haible  <bruno@clisp.org>
42272
42273         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
42274         (Depends-on): Depend also on xsize, stdarg.
42275         (configure.ac): Add gl_XVASPRINTF.
42276
42277 2006-05-09  Bruno Haible  <bruno@clisp.org>
42278
42279         * m4/xvasprintf.m4: New file.
42280
42281 2006-05-09  Bruno Haible  <bruno@clisp.org>
42282
42283         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
42284         (EOVERFLOW): Define fallback value.
42285         (xstrcat): New function.
42286         (xvasprintf): Recognize the special case of a string concatenation.
42287
42288 2006-05-08  Eric Blake  <ebb9@byu.net>
42289
42290         * gnulib-tool (func_version): Base copyright year on CVS date.
42291         (func_emit_copyright_notice): New function.
42292         (func_emit_lib_Makefile_am): Use it.
42293         (func_emit_tests_Makefile_am): Likewise.
42294         (func_import): Likewise.
42295
42296 2006-05-08  Bruno Haible  <bruno@clisp.org>
42297
42298         * modules/stdarg: New file.
42299         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
42300
42301 2006-05-08  Bruno Haible  <bruno@clisp.org>
42302
42303         * m4/stdarg.m4: New file, from GNU gettext.
42304
42305 2006-05-08  Bruno Haible  <bruno@clisp.org>
42306
42307         * config/srclist.txt (build-aux/config.rpath): different from latest
42308         release.
42309
42310 2006-05-08  Bruno Haible  <bruno@clisp.org>
42311
42312         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
42313
42314 2006-05-05  Jim Meyering  <jim@meyering.net>
42315
42316         * m4/warning.m4: New file, derived from bison's file by the same name.
42317
42318 2006-05-03  Bruno Haible  <bruno@clisp.org>
42319
42320         * lib/stdint_.h: Shorter URL.
42321         * lib/inttypes.h: Likewise.
42322
42323 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
42324
42325         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
42326
42327 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
42328
42329         * lib/verify.h: Document the internals better.  Most of this change
42330         was written by Bruno Haible.
42331
42332 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
42333
42334         * doc/verify.texi: New file, partly based on a proposal by
42335         Bruno Haible.
42336
42337 2006-05-02  Bruno Haible  <bruno@clisp.org>
42338
42339         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
42340         test from here...
42341         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
42342
42343 2006-04-29  Bruno Haible  <bruno@clisp.org>
42344
42345         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
42346         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
42347
42348 2006-04-29  Bruno Haible  <bruno@clisp.org>
42349
42350         * gnulib-tool: Make --update option actually work.
42351
42352 2006-04-29  Bruno Haible  <bruno@clisp.org>
42353
42354         * doc/gcd.texi: New file.
42355         * doc/gnulib.texi: Include it.
42356
42357 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
42358
42359         * lib/getdate.y (get_date): When adding relative date, start with the
42360         initial time, not with the result of the first mktime call.
42361
42362 2006-04-25  Bruno Haible  <bruno@clisp.org>
42363
42364         * gnulib-tool (func_import): Output the include directives in three
42365         blocks, sorted separately.
42366         Reported by Ben Pfaff <blp@cs.stanford.edu>.
42367
42368 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
42369
42370         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
42371         to define main with arguments, for C++.  Reported by Eric Blake.
42372         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
42373         Prefer 'int main ()' to 'int main (void)', for C++.
42374         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
42375         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
42376         for 'main', for C99 and C++.
42377
42378 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
42379
42380         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
42381         Don't assume that exit status -1 is valid.
42382         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
42383         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
42384         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
42385         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
42386         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
42387         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
42388         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
42389         functions can be used without declaring them, or that you can
42390         exit with status -1.
42391         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
42392
42393 2006-04-24  Karl Berry  <karl@gnu.org>
42394
42395         * config/srclist.txt (longdouble.m4): sync lost.
42396
42397 2006-04-24  Eric Blake  <ebb9@byu.net>
42398
42399         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
42400
42401 2006-04-24  Bruno Haible  <bruno@clisp.org>
42402
42403         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
42404         poll() implementation in AIX.
42405         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
42406
42407 2006-04-24  Bruno Haible  <bruno@clisp.org>
42408
42409         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
42410         assigned exactly once.
42411
42412 2006-04-23  Claudio Fontana  <claudio@gnu.org>
42413             Bruno Haible  <bruno@clisp.org>
42414
42415         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
42416         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
42417         for AM_CPPFLAGS.
42418
42419 2006-04-23  Bruno Haible  <bruno@clisp.org>
42420
42421         * modules/copy-file: Depend on unistd.
42422         * modules/execute: Likewise.
42423         * modules/fatal-signal: Likewise.
42424         * modules/findprog: Likewise.
42425         * modules/mkdtemp : Likewise.
42426         * modules/pipe: Likewise.
42427         * modules/wait-process: Likewise.
42428
42429 2006-04-23  Bruno Haible  <bruno@clisp.org>
42430
42431         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
42432         condition was already detected.
42433         Reported by Ben Pfaff <blp@cs.stanford.edu>.
42434
42435 2006-04-23  Bruno Haible  <bruno@clisp.org>
42436
42437         * lib/copy-file.c: Include <unistd.h> unconditionally.
42438         * lib/execute.c: Likewise.
42439         * lib/fatal-signal.c: Likewise.
42440         * lib/findprog.c: Likewise.
42441         * lib/mkdtemp.c: Likewise.
42442         * lib/pipe.h: Likewise.
42443         * lib/pipe.c: Likewise.
42444         * lib/wait-process.h: Likewise.
42445
42446 2006-04-23  Bruno Haible  <bruno@clisp.org>
42447
42448         * gnulib-tool (func_usage): Fix --import description. Document
42449         --update.
42450         (func_import): Create temporary file in a temporary directory, if
42451         --dry-run is specified. Silence errors from 'grep' when there are no
42452         m4 files in $m4dir.
42453         (func_create_testdir): Silence errors from 'grep' when there are no
42454         m4 files in $m4dir.
42455         Reported by Karl Berry <karl@freefriends.org>.
42456
42457 2006-04-20  Bruno Haible  <bruno@clisp.org>
42458
42459         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
42460         one argument, so that the code will be portable to Autoconf 2.60.
42461         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
42462         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
42463         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
42464
42465 2006-04-19  Derek Price  <derek@ximbiot.com>
42466             Eric Blake  <ebb9@byu.net>
42467
42468         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
42469         rather than "/full/path.h".  Update comment to match.  Shorten &
42470         generalize m4_translit call via AS_TR_CPP.
42471
42472 2006-04-19  Derek Price  <derek@ximbiot.com>
42473             Eric Blake  <ebb9@byu.net>
42474
42475         * lib/inttypes.h: Correct grammar in comment.
42476
42477 2006-04-18  Derek Price  <derek@ximbiot.com>
42478             Paul Eggert  <eggert@cs.ucla.edu>
42479
42480         * modules/inttypes: New file.
42481         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
42482
42483 2006-04-18  Derek Price  <derek@ximbiot.com>
42484             Paul Eggert  <eggert@cs.ucla.edu>
42485
42486         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
42487         New files.
42488
42489 2006-04-18  Derek Price  <derek@ximbiot.com>
42490             Paul Eggert  <eggert@cs.ucla.edu>
42491
42492         * lib/inttypes.h: New file.
42493         * lib/strtoimax.c: Assume <inttypes.h>.
42494
42495 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
42496
42497         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
42498         isn't mounted.  Problem reported by Kir Kolyshkin.
42499
42500 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
42501
42502         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
42503         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
42504         Derek R. Price.
42505         * lib/regex.h (RE_DUP_MAX): Update comment to match current
42506         implementation.
42507
42508 2006-04-12  Eric Blake  <ebb9@byu.net>
42509
42510         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
42511         is now done automatically by the corresponding Autoconf macro.
42512
42513 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
42514
42515         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
42516         time_r.h.
42517
42518 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
42519
42520         Merge regex changes from libc, removing some of our
42521         POSIX-conformance changes that were rejected and redoing them in a
42522         less-intrusive way.
42523
42524         * lib/regcomp.c (re_compile_internal, init_dfa):
42525         Length arg is now size_t, not Idx.  All uses changed.
42526         (peek_token): Forward decl now says internal_function.
42527         (__re_error_msgid, __re_error_msgid_idx):
42528         Now static rather than extern with attribute_hidden.
42529         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
42530         For some reason libc prefers K&R style defns for external functions.
42531         (regerror) [!defined _LIBC]: Likewise.
42532         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
42533         (seek_collating_symbol_entry, lookup_collation_sequence_value):
42534         (build_range_exp, build_collating_symbol):
42535         Use K&R-style defn.
42536         (re_compile_fastmap): Use '\0' to memset, not 0.
42537         (utf8_sb_map): Make the calculations more obvious.
42538         (init_dfa, parse_bracket_exp, build_charclass_op):
42539         Call calloc and cast result, as glibc does.
42540         (init_word_char, fetch_token, peek_token, peek_token_bracket):
42541         (build_range_exp, build_collating_symbol):
42542         Now internal functions.
42543
42544         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
42545
42546         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
42547         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
42548         Don't depend on VMS; depend on __VMS instead, for POSIX
42549         namespace cleanness.
42550         (regoff_t): Define to ssize_t, not long int.
42551
42552         Remove the REG_ macros named below.  Instead, make the old names
42553         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
42554         __USE_GNU_REGEX.
42555         (REG_BACKSLASH_ESCAPE_IN_LISTS):
42556         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
42557         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
42558         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
42559         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
42560         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
42561         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
42562         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
42563         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
42564         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
42565         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
42566         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
42567         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
42568         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
42569         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
42570         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
42571         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
42572         (REG_NREGS):
42573         Remove.  All uses replaced by the old RE_* names.
42574         (RE_BACKSLASH_ESCAPE_IN_LISTS):
42575         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
42576         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
42577         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
42578         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
42579         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
42580         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
42581         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
42582         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
42583         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
42584         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
42585         Don't bother having these macros be independent of each others'
42586         values, since they no longer exist in the POSIX name space.
42587
42588         Rename the following member names back to their old names,
42589         unless !__USE_GNU_REGEX.  All uses changed back.
42590         (buffer): Renamed from re_buffer.
42591         (allocated): Renamed from re_allocated.
42592         (used): Renamed from re_used.
42593         (syntax): Renamed from re_syntax.
42594         (fastmap): Renamed from re_fastmap.
42595         (translate): Renamed from re_translate.
42596         (can_be_null): Renamed from re_can_be_null.
42597         (regs_allocated): Renamed from re_regs_allocated.
42598         (fastmap_accurate): Renamed from re_fastmap_accurate.
42599         (no_sub): Renamed from re_no_sub.
42600         (not_bol): Renamed from re_not_bol.
42601         (not_eol): Renamed from re_not_eol.
42602         (newline_anchor): Renamed from re_newline_anchor.
42603         (num_regs): Renamed from rm_num_regs.
42604         (start): Renamed from rm_start.
42605         (end): Renamed from rm_end.
42606
42607         (free_state): Move up a bit.
42608
42609         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
42610         #define to be empty.
42611         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
42612         when that is what is intended.
42613         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
42614         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
42615         (MAX): New macro.
42616         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
42617         All uses changed back to re_malloc, etc.  It's now the caller's
42618         responsibility to check for overflow; all callers changed.
42619         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
42620         (re_x2nrealloc): Remove.
42621         (free_state): Remove decl.
42622
42623         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
42624         (re_set_registers, re_exec):
42625         Use K&R-style defn.
42626
42627         2006-01-31  Roland McGrath  <roland@redhat.com>
42628
42629         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
42630         Reported by Mike Frysinger <vapier@gentoo.org>.
42631
42632         2006-01-15  Andreas Jaeger  <aj@suse.de>
42633
42634         [BZ #1950]
42635         * lib/regex_internal.c (re_string_reconstruct): Adjust for
42636         build_wcs_upper_buffer change.
42637         (build_wcs_upper_buffer): Change return type.
42638
42639         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
42640
42641         * lib/regex_internal.h: Include <stdint.h> if available.
42642
42643         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
42644
42645         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
42646
42647         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
42648
42649         * lib/regcomp.c: Adjust for changed secondary hash function.
42650
42651         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
42652
42653         * lib/regex.h: Pretty printing.
42654         Clean up namespace a bit.
42655
42656         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
42657
42658         * lib/regexec.c (update_cur_sifted_state, check_arrival,
42659         check_arrival_add_next_nodes): Avoid using uninitialized variable.
42660
42661         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
42662                     Ulrich Drepper  <drepper@redhat.com>
42663
42664         [BZ #1302]
42665         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
42666         changed.
42667         (bitset_word_t): Renamed from bitset_word.  All uses changed.
42668
42669         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
42670
42671         [BZ #281]
42672         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
42673         * lib/regcomp.c: Remove unnecessary uses of
42674         unsigned RE_TRANSLATE_TYPE.
42675         * lib/regex_internal.h: Likewise.
42676         * lib/regex_internal.c: Likewise.
42677         * lib/regexec.c: Likewise.
42678         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
42679
42680         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
42681
42682         * lib/regexec.c (find_recover_state): Remove unnecessary
42683         initialization.
42684         (transit_state_bkref): Make DFA a const pointer.
42685         (get_subexp): Likewise.
42686         (check_arrival): Likewise.
42687         (update_cur_sifted_state): Likewise.
42688         (re_search_internal): Likewise.
42689         (prune_impossible_nodes): Likewise.
42690         (acquire_init_state_context): Likewise.
42691         (proceed_next_node): Likewise.
42692         (set_regs): Likewise.
42693         (free_fail_stack_return): Likewise.
42694         (check_arrival_expand_ecl): Mark DFA parameter as const.
42695         (check_arrival_expand_ecl_sub): Likewise.
42696         (check_subexp_limits): Likewise.
42697         (sub_epsilon_src_nodes):  Likewise.
42698         (add_epsilon_src_nodes):  Likewise.
42699         (merge_state_array): Likewise.
42700         (update_regs): Likewise.
42701         (build_trtable): Likewise.
42702         (sift_states_backward): Mark MCTX parameter as const.
42703         (build_sifted_states): Likewise.
42704         (update_cur_sifted_state): Likewise.
42705         (sift_states_mkref): Likewise.
42706         (check_arrival_expand_ecl): Mark eclosure as const.
42707         (check_dst_limits_calc_pos_1): Likewise.
42708         * lib/regex_internal.h (re_match_context_t): Make dfa a const
42709         pointer.
42710
42711         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
42712
42713         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
42714         (transit_state_sb): Likewise.
42715         (transit_state_mb): Likewise.
42716         (sift_states_iter_mb): Likewise.
42717         (check_arrival_add_next_nodes): Likewise.
42718         (check_node_accept_bytes): Change first parameter to pointer-to-const.
42719         [_LIBC] (re_search_2_stub): Use mempcpy.
42720
42721         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
42722         mbrtowc for very simple UTF-8 case.
42723
42724         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
42725         a pointer-to-const.
42726         (re_acquire_state_context): Likewise.
42727         * lib/regex_internal.h: Adjust prototypes.
42728
42729         * lib/regex.c: Prevent using C++ compilers.
42730
42731         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
42732         (re_acquire_state_context): Likewise.
42733
42734 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
42735
42736         * modules/regex (Depends-on): Add ssize_t.
42737
42738 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
42739
42740         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
42741         translation table.
42742
42743 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
42744
42745         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
42746
42747 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
42748             Bruno Haible  <bruno@clisp.org>
42749
42750         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
42751         <sys/types.h> and <inttypes.h>.
42752
42753 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42754
42755         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
42756         `__error_t_defined', so argp.h will not typedef the former.
42757
42758 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
42759
42760         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
42761         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
42762         glibc names.  Even if glibc is changed to conform to POSIX, the
42763         traditional names will be available anyway, since regex depends on
42764         the extensions module.  Also, fix a longstanding typo in the
42765         implementation of Spencer ERE test #75 from grep 2.3.  Problems
42766         reported by Emanuele Giaquinta.  Also, change sense of cached
42767         variable, so that the message makes sense.
42768
42769 2006-03-24  Simon Josefsson  <jas@extundo.com>
42770
42771         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
42772         including some doc fixes.
42773         (base64_encode_alloc): Fix +1 bug on allocation failures.
42774
42775 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42776
42777         * lib/base64.c (base64_encode): Do not read past end of array with
42778         unsanitized input on systems with CHAR_BIT > 8.
42779
42780 2006-03-24  Eric Blake  <ebb9@byu.net>
42781
42782         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
42783
42784 2006-03-22  Karl Berry  <karl@gnu.org>
42785
42786         * config/srclist.txt (*setenv.[ch]): get from coreutils.
42787         * config/srclistvars.sh (COREUTILS): new var.
42788
42789 2006-03-17  Jim Meyering  <jim@meyering.net>
42790
42791         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
42792         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
42793
42794 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
42795
42796         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
42797         no longer needs it.  Instead, check that regoff_t is as least
42798         as wide as ptrdiff_t.
42799
42800         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
42801         so that our regex.h stays compatible with the installed regex.
42802         This is helpful for installers who configure --without-included-regex.
42803         Problem reported by Emanuele Giaquinta.
42804
42805 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
42806
42807         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
42808         Typedef to long int, not to off_, as POSIX will likely change
42809         in that direction.
42810
42811 2006-03-15  Eric Blake  <ebb9@byu.net>
42812
42813         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
42814
42815 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
42816
42817         * lib/argp-help.c (validate_uparams): Fix typo
42818         * lib/argp-parse.c (argp_default_options): Consistently begin help
42819         messages with a lowercase letter.
42820
42821 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
42822
42823         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
42824         overrun buffers and shouldn't be used (much as gets shouldn't be
42825         used).
42826         * lib/time_r.c (asctime_r, ctime_r): Likewise.
42827
42828 2006-03-08  Simon Josefsson  <jas@extundo.com>
42829
42830         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
42831         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
42832
42833 2006-03-08  Simon Josefsson  <jas@extundo.com>
42834
42835         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
42836         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
42837
42838 2006-03-08  Simon Josefsson  <jas@extundo.com>
42839
42840         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
42841         signal that configure disabled the device.
42842
42843 2006-03-08  Simon Josefsson  <jas@extundo.com>
42844
42845         * build-aux/maint.mk: Fix refresh-po, to handle no translated
42846         languages.
42847
42848 2006-03-07  Simon Josefsson  <jas@extundo.com>
42849
42850         * modules/getopt (Depends-on): Add unistd.
42851
42852         * modules/unistd: New file.
42853
42854 2006-03-07  Simon Josefsson  <jas@extundo.com>
42855
42856         * modules/gc-random: New file.
42857
42858 2006-03-07  Simon Josefsson  <jas@extundo.com>
42859
42860         * m4/unistd_h.m4: New file.
42861
42862 2006-03-07  Simon Josefsson  <jas@extundo.com>
42863
42864         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
42865         test to be side-effect free by storing the result in the cache
42866         variable gl_cv_lib_readline, and moving the assignment of
42867         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
42868         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
42869
42870 2006-03-07  Simon Josefsson  <jas@extundo.com>
42871
42872         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
42873         error on missing devices (the functions will return an error).
42874
42875         * m4/gc.m4: Move random stuff to gc-random.m4
42876
42877 2006-03-07  Simon Josefsson  <jas@extundo.com>
42878
42879         * lib/unistd_.h: New file.
42880
42881 2006-03-07  Simon Josefsson  <jas@extundo.com>
42882
42883         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
42884
42885 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
42886
42887         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
42888         Problem reported by Juan Manuel Guerrero.
42889
42890 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
42891
42892         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
42893         the unistd module.
42894         * lib/getlogin_r.c: Likewise.
42895         * lib/getlogin_r.h: Likewise.
42896         * lib/glob.c: Likewise.
42897         * lib/pagealign_alloc.c: Likewise.
42898         * lib/unistd_.h: Remove; no longer needed.
42899
42900 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
42901
42902         * MODULES.html.sh (Support for systems lacking POSIX:2001):
42903         Add unistd.
42904         * modules/c-stack (Depends-on): Add unistd.
42905         * modules/getlogin_r: Likewise.
42906         * modules/glob: Likewise.
42907         * modules/pagealign_alloc: Likewise.
42908         * modules/unistd (Files): Remove lib/unistd_.h.
42909         (EXTRA_DIST): Remove.
42910         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
42911         need unistd_.h.
42912         (MOSTLYCLEANFILES): Remove unistd.h-t.
42913
42914 2006-03-03  Simon Josefsson  <jas@extundo.com>
42915
42916         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
42917
42918 2006-03-03  Simon Josefsson  <jas@extundo.com>
42919
42920         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
42921         libidn and bison.
42922
42923 2006-03-03  Simon Josefsson  <jas@extundo.com>
42924
42925         * build-aux/maint.mk: Add indent target.
42926
42927 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
42928
42929         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
42930         our replacement poll.h in any case, to avoid a differing
42931         declaration from a system header.  Seen on AIX.
42932
42933 2006-03-01  Simon Josefsson  <jas@extundo.com>
42934
42935         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
42936         <kasal@ucw.cz>.
42937
42938 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
42939
42940         * modules/gettime (Depends-on): Add extensions module.
42941         * modules/nanosleep (Depends-on): Likewise.
42942         * modules/settime (Depends-on): Likewise.
42943
42944 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
42945
42946         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
42947         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
42948         pedantically.
42949         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
42950         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
42951
42952         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
42953         not "==".  Reported by Ralf Wildenhues.
42954
42955 2006-03-01  Karl Berry  <karl@gnu.org>
42956
42957         * doc/Copyright/request-*: new files, synced from gnuorg.
42958
42959 2006-03-01  Karl Berry  <karl@gnu.org>
42960
42961         * config/srclist.txt (Copyright/*): new entries.
42962
42963 2006-02-28  Simon Josefsson  <jas@extundo.com>
42964
42965         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
42966
42967 2006-02-27  Simon Josefsson  <jas@extundo.com>
42968
42969         * lib/base64.h: Indent #define's.  From Jim Meyering
42970         <jim@meyering.net>.
42971
42972 2006-02-27  Jim Meyering  <jim@meyering.net>
42973
42974         Revert the change of 2006-02-24, so these files can continue
42975         to be sync'd from gettext.
42976         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
42977         of `config.h'.
42978
42979 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
42980
42981         * modules/intprops: New file.
42982         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
42983         Add intprops.
42984         * modules/getloadavg (Files): Remove lib/intprops.h.
42985         (Depends-on): Add intprops.
42986         * modules/human: Likewise.
42987         * modules/inttostr: Likewise.
42988         * modules/openat: Likewise.
42989         * modules/sig2str: Likewise.
42990         * modules/userspec: Likewise.
42991         * modules/utimecmp: Likewise.
42992         * modules/xnanosleep: Likewise.
42993         * modules/xstrtol: Likewise.
42994
42995 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
42996
42997         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
42998         * modules/lock-tests (TESTS): Use $(EXEEXT).
42999         * modules/tls-tests: Likewise.
43000         * modules/argp-tests: Likewise.
43001         (check_PROGRAMS): New var, replacing...
43002         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
43003
43004 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43005
43006         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
43007         `config.h'.
43008
43009 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
43010
43011         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
43012
43013 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43014
43015         Sync from coreutils.
43016         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
43017         gl_CHDIR_SAFER.
43018
43019 2006-02-22  Jim Meyering  <jim@meyering.net>
43020
43021         Sync from coreutils.
43022         * m4/chdir-safer.m4: New file.
43023
43024 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
43025
43026         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
43027         AT_FDCWD exceeds INT_MAX.
43028         * lib/openat.h (AT_FDCWD): Likewise.
43029
43030 2006-02-17  Eric Blake  <address@hidden>
43031
43032         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
43033
43034 2006-02-16  Simon Josefsson  <jas@extundo.com>
43035
43036         * modules/getaddrinfo (Depends-on): Add sys_socket.
43037
43038 2006-02-15  Simon Josefsson  <jas@extundo.com>
43039
43040         * build-aux/maint.mk: Add dsyntax-check rule.
43041
43042 2006-02-15  Eric Blake  <ebb9@byu.net>
43043
43044         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
43045         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
43046         'present but cannot compile' warnings on cygwin.
43047         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
43048         use ws2tcpip.h if sys/socket.h works.
43049         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
43050         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
43051
43052 2006-02-14  Simon Josefsson  <jas@extundo.com>
43053
43054         * modules/maintainer-makefile (Files): Rename.
43055
43056         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
43057         and (the local) Makefile.cfg to maint-cfg.mk.
43058
43059         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
43060         to the latter.
43061
43062         * modules/maintainer-makefile: New module.
43063
43064         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
43065         severaly stripped to make it possible to build it up from scratch
43066         with reliable tests.
43067
43068         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
43069         fixes to permit overriding the default actions when configure and
43070         makefile are not available.
43071
43072 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
43073
43074         Sync from coreutils.
43075         * modules/lstat (Depends-on): Don't depend on xalloc.
43076         (License): Change from GPL to LGPL, since this is now simply a
43077         replacement for a libc function.
43078
43079 2006-02-14  Jim Meyering  <jim@meyering.net>
43080
43081         Sync from coreutils.
43082
43083         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
43084         failure on deficient systems, and simplify gnulib lgpl dependencies.
43085         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
43086         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
43087
43088         * lib/xalloc-die.c: Remove unused definition of N_.
43089
43090 2006-02-14  Jim Meyering  <jim@meyering.net>
43091
43092         Sync from coreutils.
43093         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
43094         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
43095         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
43096         double-quote uses of that variable, to accommodate the rare case in
43097         which getmntent is available in none of the libraries checked.  This
43098         happens at least on FreeBSD 5.0.
43099
43100 2006-02-13  Simon Josefsson  <jas@extundo.com>
43101
43102         * gnulib-tool (Usage): Fix --import, from
43103         karl@freefriends.org (Karl Berry).
43104
43105 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
43106
43107         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
43108
43109 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
43110
43111         * lib/argp-namefrob.h: Restore changes accidentally lost during the
43112         "autoupdate" on 2005-12-12.
43113
43114 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
43115
43116         * modules/closeout (Depends-on): Remove atexit.
43117
43118 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
43119
43120         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
43121         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
43122
43123 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
43124
43125         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
43126         __EXTENSIONS__ if this causes compilation to fail.  Problem
43127         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
43128         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
43129
43130 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
43131
43132         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
43133         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
43134         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
43135         All uses changed.
43136
43137 2006-01-26  Simon Josefsson  <jas@extundo.com>
43138
43139         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
43140         prototype is visible on mingw32.
43141
43142         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
43143         for mingw32.
43144
43145         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
43146         mingw32).
43147
43148 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
43149
43150         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
43151         attempt to open for write; this always fails, at least on POSIX
43152         hosts.  This reinstates the 2006-01-09 change, which was
43153         inadvertently removed.
43154
43155 2006-01-26  Bruno Haible  <bruno@clisp.org>
43156
43157         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
43158         Reported by Paul Eggert.
43159
43160 2006-01-26  Bruno Haible  <bruno@clisp.org>
43161             Paul Eggert  <eggert@cs.ucla.edu>
43162
43163         * lib/stdbool_.h (_Bool)
43164         [(! (defined __cplusplus || defined __BEOS__)
43165           && !defined __GNUC__
43166           && !(defined __HP_cc || defined __xlc__
43167                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
43168                || defined __sgi))]:
43169         #define to signed char in these cases too; this simplifies
43170         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
43171         etc., separately) and makes it more conservative.
43172
43173 2006-01-25  Simon Josefsson  <jas@extundo.com>
43174
43175         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
43176         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
43177         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
43178
43179 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
43180
43181         * lib/argp-namefrob.h: Bugfix. Remove stray #
43182
43183 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
43184
43185         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
43186         so that we test the test.
43187         Check for yet another HP-UX cc bug involving *bool |= bool.
43188
43189 2006-01-25  Karl Berry  <karl@gnu.org>
43190
43191         * config/srclist.txt (vasnprintf.c): sync lost.
43192
43193 2006-01-25  Jim Meyering  <jim@meyering.net>
43194
43195         Sync from the stable (b5) branch of coreutils:
43196
43197         * lib/fts.c (fts_children): Don't let close() clobber errno from
43198         failed fchdir().
43199
43200         * lib/fts.c (fts_stat): When following a symlink-to-directory,
43201         don't necessarily interpret stat-fails+lstat-succeeds as indicating
43202         a dangling symlink.  That can also happen at least for ELOOP.
43203         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
43204         FYI, this bug predates the inclusion of fts.c in coreutils.
43205
43206         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
43207         in their own block, so pre-c99 compilers don't object.
43208
43209         Avoid the double-free (first in fts_read, second in fts_close) that
43210         would occur when an `active' directory is made inaccessible (e.g.,
43211         via chmod a-x) during a traversal.
43212         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
43213         before returning.  Reproduce this failure by
43214         mkdir -p a/b; cd a; chmod a-x . b
43215         Reported by Stavros Passas.
43216
43217 2006-01-25  Jim Meyering  <jim@meyering.net>
43218
43219         * lib/fileblocks.c: Remove more useless parentheses.
43220         * lib/readutmp.h: Likewise.
43221
43222 2006-01-25  Bruno Haible  <bruno@clisp.org>
43223
43224         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
43225         warnings.
43226         Reported by Paul Eggert.
43227
43228 2006-01-25  Bruno Haible  <bruno@clisp.org>
43229
43230         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
43231         rid of a trap command. For Solaris sh.
43232         Reported by Mark D. Baushke <mdb@gnu.org>.
43233
43234 2006-01-24  Simon Josefsson  <jas@extundo.com>
43235
43236         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
43237         Bruno.
43238
43239 2006-01-24  Karl Berry  <karl@gnu.org>
43240
43241         * config/srclist.txt (argp-namefrob.h): sync lost.
43242
43243 2006-01-24  Jim Meyering  <jim@meyering.net>
43244
43245         * modules/openat (Files): Add lib/intprops.h.
43246         From Mark D. Baushke.
43247
43248 2006-01-24  Jim Meyering  <jim@meyering.net>
43249
43250         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
43251         Reported by Mark D. Baushke.
43252
43253 2006-01-24  Jim Meyering  <jim@meyering.net>
43254
43255         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
43256
43257 2006-01-24  Bruno Haible  <bruno@clisp.org>
43258
43259         * modules/strnlen (Maintainer): Change from glibc to all.
43260
43261 2006-01-24  Bruno Haible  <bruno@clisp.org>
43262
43263         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
43264         Patch by Paul Eggert.
43265
43266 2006-01-24  Bruno Haible  <bruno@clisp.org>
43267
43268         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
43269         already has it.
43270         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
43271         2005-11-26.
43272
43273         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
43274         'signed char' to avoid problems with the built-in _Bool type.
43275         Reported by Paul Eggert on 2005-11-26.
43276
43277 2006-01-24  Bruno Haible  <bruno@clisp.org>
43278
43279         * gnulib-tool (func_import): Avoid constructing complicated sed
43280         expressions inside backquote.
43281         Report and solution by Mark D. Baushke <mdb@gnu.org>.
43282
43283 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
43284
43285         These changes imported from libc.
43286         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
43287         test and two separate function calls.
43288         * lib/strndup.c (__strndup): Add libc_hidden_def.
43289
43290 2006-01-23  Simon Josefsson  <jas@extundo.com>
43291
43292         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
43293         Remove the test_*_SOURCES variable: automake infers it by default.
43294         * modules/tls-tests: Likewise.
43295
43296 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
43297
43298         Work around porting bugs reported by Dieter in
43299         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
43300         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
43301         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
43302         Include "getopt.h" first, to check interface.
43303         (getenv): Declare only if defined HAVE_DECL_GETENV &&
43304         !HAVE_DECL_GETENV.
43305         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
43306         (__strndup): Revert to K&R-style function dfns, the glibc style.
43307         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
43308         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
43309         Include strnlen.h first, to get prototype properly.
43310         (strnlen): Renamed from __strnlen.
43311         Remove weak alias.
43312
43313 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
43314
43315         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
43316
43317 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
43318
43319         * config/srclist.txt: Adjust to reflect glibc reorganization.
43320         This affects only comments.
43321
43322 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
43323
43324          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
43325          Reported by Bruce Korb <bkorb@gnu.org>.
43326
43327 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
43328
43329         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
43330         to pacify gcc -Wswitch-default.
43331
43332 2006-01-22  Bruno Haible  <bruno@clisp.org>
43333
43334         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
43335         temporary buffer for sprintf, take into account the precision also
43336         for 'd', 'i', 'u', 'o', 'x', 'X'.
43337
43338 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
43339
43340         * modules/argp-tests: New module
43341         * tests/test-argp.c: New file
43342         * tests/test-argp-2.sh: New file
43343
43344 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
43345
43346         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
43347         (__argp_base_name): Removed
43348         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
43349         typo.
43350         (__argp_base_name): Provide macro definition or extern declaration
43351         depending on the configuration
43352
43353 2006-01-20  Simon Josefsson  <jas@extundo.com>
43354
43355         * modules/inet_ntop (Depends-on): Depend on sys_socket.
43356
43357 2006-01-20  Simon Josefsson  <jas@extundo.com>
43358
43359         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
43360
43361 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
43362
43363         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
43364         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
43365         Suggested by Bruno Haible.
43366
43367 2006-01-20  Karl Berry  <karl@gnu.org>
43368
43369         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
43370         until changes propagate, I guess.
43371
43372 2006-01-19  Simon Josefsson  <jas@extundo.com>
43373
43374         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
43375
43376 2006-01-19  Simon Josefsson  <jas@extundo.com>
43377
43378         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
43379
43380 2006-01-19  Simon Josefsson  <jas@extundo.com>
43381
43382         * gnulib-tool: Set check_PROGRAMS.
43383
43384         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
43385         modules/des-tests, modules/gc-arcfour-tests,
43386         modules/gc-arctwo-tests, modules/gc-des-tests,
43387         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
43388         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
43389         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
43390         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
43391         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
43392         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
43393         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
43394         test_*_SOURCES.
43395
43396 2006-01-18  Simon Josefsson  <jas@extundo.com>
43397
43398         * modules/socklen (Depends-on): Depend on sys_socket.
43399
43400 2006-01-18  Simon Josefsson  <jas@extundo.com>
43401
43402         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
43403         modules/des-tests, modules/gc-arcfour-tests,
43404         modules/gc-arctwo-tests, modules/gc-des-tests,
43405         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
43406         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
43407         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
43408         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
43409         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
43410         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
43411         $(EXEEXT) to automake TESTS variable, for mingw32.
43412
43413 2006-01-17  Simon Josefsson  <jas@extundo.com>
43414
43415         * modules/socklen (Include): Need sys/socket.h.
43416
43417 2006-01-17  Bruno Haible  <bruno@clisp.org>
43418
43419         * modules/ssize_t (Include): Add <sys/types.h>.
43420
43421 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
43422
43423         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
43424         it's not portable and it doesn't work with cross-compiles.
43425         Problem reported by Bruno Haible.  Fix missing-$ typo in
43426         'test "gl_cv_ignore_unused_libraries" ...' that prevented
43427         -zignore from being used with Sun's C compiler.
43428
43429 2006-01-12  Simon Josefsson  <jas@extundo.com>
43430
43431         * lib/base64.c: Fix warning, reported by Bruno Haible
43432         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
43433
43434 2006-01-12  Bruno Haible  <bruno@clisp.org>
43435
43436         * modules/ldd: New file.
43437         * build-aux/ldd.sh.in: New file.
43438         * MODULES.html.sh (Support for building libraries and executables): Add
43439         ldd.
43440
43441 2006-01-12  Bruno Haible  <bruno@clisp.org>
43442
43443         * m4/ldd.m4: New file.
43444
43445 2006-01-12  Bruno Haible  <bruno@clisp.org>
43446
43447         * gnulib-tool (func_import, func_create_testdir): Don't go into an
43448         endless loop while replacing $auxdir with build-aux.
43449
43450 2006-01-11  Simon Josefsson  <jas@extundo.com>
43451
43452         * lib/stdint_.h (SIZE_MAX): Add missing (.
43453
43454 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
43455
43456         Sync from coreutils.
43457         * lib/md5.c: Fix commentary typos.
43458         (alignof, UNALIGNED_P): No need for a GCC-specific version.
43459         * lib/md5.h (__attribute__): Remove; unused.
43460         * lib/sha1.c: Fix commentary to match md5 better.
43461         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
43462         so that we don't need to worry about alignment.  All uses changed.
43463         This merges the 2005-10-28 md5 change into sha1.
43464
43465 2006-01-11  Jim Meyering  <jim@meyering.net>
43466
43467         Sync from coreutils.
43468         * lib/md5.c (OP): Fix spacing.
43469
43470 2006-01-11  Bruno Haible  <bruno@clisp.org>
43471
43472         Ensure automatic ordering between gl_LOCK and gl_ARGP.
43473         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
43474         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
43475
43476 2006-01-11  Bruno Haible  <bruno@clisp.org>
43477
43478         Ensure automatic ordering between gl_LOCK and gl_ARGP.
43479         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
43480         the "early" section as well.
43481
43482 2006-01-11  Bruno Haible  <bruno@clisp.org>
43483
43484         Avoid "ar: no archive members specified" error on MacOS X.
43485         * gnulib-tool (func_modules_add_dummy): New function.
43486         (func_import, func_create_testdir): Invoke it.
43487
43488 2006-01-11  Bruno Haible  <bruno@clisp.org>
43489
43490         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
43491         with $auxdir in AC_CONFIG_FILES statements.
43492
43493 2006-01-11  Bruno Haible  <bruno@clisp.org>
43494
43495         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
43496         Initialize also noinst_HEADERS to empty.
43497
43498 2006-01-11  Bruno Haible  <bruno@clisp.org>
43499
43500         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
43501         variables.
43502         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
43503         autoreconf.
43504
43505 2006-01-11  Bruno Haible  <bruno@clisp.org>
43506
43507         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
43508         overridable by the user.
43509         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
43510
43511 2006-01-10  Simon Josefsson  <jas@extundo.com>
43512
43513         * modules/sys_socket: New file.
43514
43515 2006-01-10  Simon Josefsson  <jas@extundo.com>
43516
43517         * m4/sys_socket_h.m4: New file.
43518
43519 2006-01-10  Simon Josefsson  <jas@extundo.com>
43520
43521         * lib/socket_.h: New file.
43522
43523 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
43524
43525         * modules/readutmp (Maintainer): Add myself.
43526
43527 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
43528
43529         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
43530         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
43531         People who are still concerned with buggy memcmp implementations
43532         can invoke gl_FUNC_MEMCMP themselves.
43533
43534 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
43535
43536         * lib/regex_internal.h (BITSET_WORD_BITS):
43537         Work around a bug in 64-bit PGC (before version 6.1-2), where the
43538         preprocessor mishandles large unsigned values as if they were signed.
43539         Problem reported by Claudio Fontana in
43540         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
43541
43542 2006-01-10  Jim Meyering  <jim@meyering.net>
43543
43544         Avoid the double-free (first in fts_read, second in fts_close) that
43545         would occur when an `active' directory is made inaccessible (e.g.,
43546         via chmod a-x) during a traversal.
43547         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
43548         before returning.  Reproduce this failure by
43549         mkdir -p a/b; cd a; chmod a-x . b
43550         Reported by Stavros Passas.
43551
43552         Sync from coreutils.
43553         * lib/sha1.c: Tweak grammar in a comment.
43554
43555 2006-01-10  Jim Meyering  <jim@meyering.net>
43556
43557         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
43558         Patch by Joerg Sonnenberger.
43559
43560 2006-01-10  Bruno Haible  <bruno@clisp.org>
43561
43562         * modules/readutmp: Depend on module free.
43563         * modules/strtok_r: Depend on module restrict.
43564
43565 2006-01-10  Bruno Haible  <bruno@clisp.org>
43566
43567         * modules/gettext (configure.ac): Add an invocation of
43568         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
43569
43570 2006-01-10  Bruno Haible  <bruno@clisp.org>
43571
43572         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
43573         Reported by Werner Lemberg <wl@gnu.org>.
43574
43575 2006-01-10  Bruno Haible  <bruno@clisp.org>
43576
43577         * lib/localcharset.c: Update from GNU gettext.
43578
43579 2006-01-10  Bruno Haible  <bruno@clisp.org>
43580
43581         * lib/argp.h (__const): Remove macro. Use const instead.
43582         * lib/argp-fmtstream.h (__const): Likewise.
43583         * lib/glob_.h (__const): Remove macro.
43584         * lib/glob-libc.h: Use const instead of __const.
43585
43586 2006-01-10  Bruno Haible  <bruno@clisp.org>
43587
43588         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
43589         variable.
43590         Needed to avoid an automake error regarding the 'gettext' module.
43591
43592 2006-01-09  Simon Josefsson  <jas@extundo.com>
43593
43594         * modules/inet_ntop (Depends-on): Add restrict.
43595
43596 2006-01-09  Simon Josefsson  <jas@extundo.com>
43597
43598         * modules/gc-rijndael-tests (License): Put under LGPL.
43599
43600         * modules/gc-des-tests (License): Likewise.
43601
43602         * modules/gc-arcfour-tests (License): Likewise.
43603
43604         * modules/gc-arctwo-tests (License): Likewise.
43605
43606         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
43607
43608         * modules/gc-hmac-sha1-tests (Files): Likewise.
43609
43610         * modules/gc-hmac-md5-tests (License): Likewise.
43611
43612         * modules/gc-sha1-tests (License): Likewise.
43613
43614         * modules/gc-md5-tests (License): Likewise.
43615
43616         * modules/gc-md4-tests (License): Likewise.
43617
43618         * modules/gc-md2-tests (License): Likewise.
43619
43620         * modules/gc-tests (License): Likewise.
43621
43622         * modules/des-tests (License): Likewise.
43623
43624         * modules/md4-tests (License): Likewise.
43625
43626         * modules/md2-tests (License): Likewise.
43627
43628 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
43629
43630         Sync from coreutils:
43631
43632         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
43633         * modules/lib-ignore: New file.
43634         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
43635         chdir-safer.m4, lchmod.m4.
43636         * modules/openat: Add mkdirat.c, openat-priv.h.
43637
43638 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
43639
43640         Sync from coreutils.
43641         * m4/lib-ignore.m4: New file.
43642         * m4/lchmod.m4: New file.
43643
43644 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
43645
43646         Sync from coreutils.
43647         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
43648         for write access: POSIX says that must fail.
43649         * lib/fts.c (diropen): Likewise.
43650         * lib/save-cwd.c (save_cwd): Likewise.
43651         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
43652         well, for minor improvements on hosts that lack O_DIRECTORY.
43653         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
43654         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
43655         Fall back on chown if open failed with EACCES.
43656
43657         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
43658         Report an error at compile-time if only a 1-second nominal clock
43659         resolution is found.
43660
43661         * lib/lchmod.h: New file.
43662         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
43663         (make_dir_parents): Use lchown rather than chown, and
43664         lchmod rather than chmod.
43665
43666         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
43667         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
43668         "proc" reported by n0dalus.
43669
43670         * lib/mountlist.c: Include <limits.h>.
43671         (dev_from_mount_options)
43672         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
43673         New function.  It no longer assumes "dev=" has the System V meaning
43674         on Linux (since it doesn't).  It also parses "dev=" more carefully.
43675         (read_file_system_list)
43676         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
43677         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
43678         dev= in that case.
43679
43680         * lib/posixtm.h (PDS_PRE_2000): New macro.
43681         * lib/posixtm.c (year): Arg is now syntax_bits rather than
43682         allow_century.  All usages changed.  Reject dates outside the range
43683         1969-1999 if PDS_PRE_2000 is used.
43684
43685 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
43686
43687         Sync from coreutils.
43688         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
43689         (Time of day items): Mention the possibility of leap seconds.
43690         Problem reported by Dr. David Alan Gilbert.
43691
43692 2006-01-09  Jim Meyering  <jim@meyering.net>
43693
43694         Sync from coreutils.
43695
43696         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
43697
43698         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
43699
43700         * lib/modechange.c (mode_compile): Reject an invalid mode string
43701         that starts with an octal digit.  From Andreas Gruenbacher.
43702
43703         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
43704         and dup to open_safer and dup_safer, respectively.
43705         (openat_permissive): Fix typo in comment.
43706
43707         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
43708         "gettext.h"; either no longer needed or are guaranteed by openat.h.
43709         (_): Remove; no longer needed.
43710         (openat): Renamed from rpl_openat; no need for rpl_openat
43711         since openat.h renames openat for us.
43712         Replace most of the body with a call to openat_permissive,
43713         to avoid duplicate code.
43714         Port to (probably hypothetical) environments were mode_t is
43715         wider than int.
43716         (openat_permissive): Require mode arg, so that we can check
43717         types better.  Put it just after flags.  Change cwd failure
43718         indicator from pointer-to-bool to pointer-to-errno-value.
43719         All callers changed.
43720         Invoke openat_save_fail and/or openat_restore_fail if
43721         cwd_errno is null, so that openat can call us.
43722         (openat_permissive, fdopendir, fstatat, unlinkat):
43723         Simplify errno handling to avoid some duplicate code,
43724         as it's OK to set errno on success.
43725         * lib/openat.h: Revamp code so that function macros depend on
43726         __OPENAT_PREFIX only, not also on AT_FDCWD.
43727         (openat_ro): Remove.  Caller changed to use openat_permissive.
43728         (openat_permissive): Now a macro, if not a function.
43729         (openat_restore_fail, openat_save_fail): Now always functions,
43730         since mkdirat needs them even if __OPENAT_PREFIX is defined.
43731
43732         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
43733         and openat.c.
43734         * lib/mkdirat.c: Include openat-priv.h.
43735         Remove definitions of macros defined therein.
43736         * lib/openat.c: Likewise.
43737
43738         * lib/mkdirat.c (mkdirat): New file and function.
43739         * lib/openat.h (mkdirat): Declare.
43740
43741         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
43742
43743         * lib/openat.h (openat_permissive): Declare.
43744         (openat_ro): Define.
43745
43746         * lib/openat.c (EXPECTED_ERRNO): New macro.
43747         (openat_permissive): New function -- used in remove.c rewrite.
43748         (all functions): Set errno just before returning, only if there
43749         was an actual failure.
43750         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
43751
43752         Emulate openat-family functions using Linux's procfs, if possible.
43753         Idea and some code based on Ulrich Drepper's glibc changes.
43754
43755         * lib/openat.c: (BUILD_PROC_NAME): New macro.
43756         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
43757         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
43758         before falling back on save_cwd and restore_cwd.
43759         (fdopendir, fstatat, unlinkat): Likewise.
43760
43761         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
43762         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
43763
43764         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
43765         as second argument to va_arg.  Otherwise, some versions of gcc
43766         warn that `if this code is reached, the program will abort'.
43767
43768 2006-01-09  Jim Meyering  <jim@meyering.net>
43769
43770         Sync from coreutils.
43771         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
43772         Require openat-priv.h.
43773
43774 2006-01-09  Bruno Haible  <bruno@clisp.org>
43775
43776         * modules/strnlen (Include): Use strnlen.h.
43777
43778 2006-01-09  Bruno Haible  <bruno@clisp.org>
43779
43780         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
43781
43782 2006-01-09  Bruno Haible  <bruno@clisp.org>
43783
43784         * lib/sysexit_.h (EX_OK): New macro.
43785         Suggested by Martin Lambers <marlam@marlam.de>.
43786
43787 2006-01-09  Bruno Haible  <bruno@clisp.org>
43788
43789         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
43790         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
43791
43792 2006-01-09  Bruno Haible  <bruno@clisp.org>
43793
43794         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
43795         numbers.
43796
43797 2006-01-09  Bruno Haible  <bruno@clisp.org>
43798
43799         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
43800         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
43801         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
43802         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
43803
43804 2006-01-09  Bruno Haible  <bruno@clisp.org>
43805
43806         * build-aux/javacomp.sh.in: New file, moved from lib/.
43807         * modules/javacomp-script (Files): Update.
43808         (configure.ac): Add AC_CONFIG_FILES invocation.
43809         (EXTRA_DIST): Remove variable.
43810
43811         * build-aux/javaexec.sh.in: New file, moved from lib/.
43812         * modules/javaexec (Files): Update.
43813         (configure.ac): Add AC_CONFIG_FILES invocation.
43814         (EXTRA_DIST): Remove javaexec.sh.in.
43815
43816         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
43817         * modules/csharpcomp-script (Files): Update.
43818         (configure.ac): Add AC_CONFIG_FILES invocation.
43819         (EXTRA_DIST): Remove variable.
43820
43821         * build-aux/csharpexec.sh.in: New file, moved from lib/.
43822         * modules/csharpexec (Files): Update.
43823         (configure.ac): Add AC_CONFIG_FILES invocation.
43824         (EXTRA_DIST): Remove csharpexec.sh.in.
43825
43826 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
43827
43828         Sync from coreutils.
43829
43830         Add POSIX ACL support
43831         * lib/acl.h (copy_acl, set_acl): Add declarations.
43832         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
43833         systems other than Linux.
43834         (chmod_or_fchmod): New function: use fchmod when possible,
43835         and chmod otherwise.
43836         (file_has_acl): Add a POSIX ACL implementation, with a
43837         Linux-specific subcase.
43838         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
43839         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
43840         acls are unsupported.
43841         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
43842         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
43843         are unsupported.
43844
43845 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
43846
43847         Sync from coreutils.
43848         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
43849
43850 2006-01-07  Bruno Haible  <bruno@clisp.org>
43851
43852         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
43853         gl_EARLY.
43854
43855 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
43856
43857         * lib/strftime.c (tzname): Don't declare if it is already #defined.
43858         Problem reported for Mingw by Mark Junker.
43859
43860 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
43861
43862         * README: Gnulib normally doesn't generate a tarball.
43863
43864 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
43865
43866         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
43867         long int, not int, for nanosecond counts, so that people who are
43868         used to POSIX struct timespec won't be surprised.  Reported by Jim
43869         Meyering.
43870
43871 2005-12-28  Bruno Haible  <bruno@clisp.org>
43872
43873         * build-aux/config.rpath: Update from GNU gettext.
43874
43875 2005-12-16  Jim Meyering  <jim@meyering.net>
43876
43877         * modules/fprintftime: New module.
43878         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
43879
43880 2005-12-16  Jim Meyering  <jim@meyering.net>
43881
43882         * m4/fprintftime.m4: New file.
43883
43884 2005-12-16  Jim Meyering  <jim@meyering.net>
43885
43886         * lib/fprintftime.c, lib/fprintftime.h: New files.
43887
43888 2005-12-15  Simon Josefsson  <jas@extundo.com>
43889
43890         * modules/socklen (configure.ac): Fix M4 macro name, to align with
43891         new m4/socklen.m4.
43892
43893 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
43894
43895         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
43896         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
43897
43898 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
43899
43900         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
43901         * lib/argp-help.c (fill_in_uparams): Check if the constructed
43902         struct uparams is valid. Fall back to the default values if it is
43903         not.
43904
43905 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
43906
43907         * modules/argp (Files): Add argp-pin.c
43908         (Depends-on): dirname
43909         (lib_SOURCES): Add argp-pin.c
43910
43911 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
43912
43913         * m4/argp.m4:  Check if program_invocation_name and
43914         program_invocation_short_name are declared and define appropriate
43915         macros if they are not.
43916
43917 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
43918
43919         * lib/argp-help.c (__argp_base_name): New function
43920         (__argp_short_program_name): Rewrite using __argp_base_name
43921         * lib/argp-namefrob.h: Define program_invocation_name and
43922         program_invocation_short_name if requested
43923         (__argp_base_name): Add prototype
43924         * lib/argp-parse.c (argp_def): Use gettext wrappers
43925         (argp_default_parser): Use __argp_base_name
43926         * lib/argp-pin.c: New file. Defines program_invocation_name and
43927         program_invocation_short_name on systems that lack them.
43928
43929 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
43930
43931         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
43932         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
43933         porting problem reported by Georg Schwarz in
43934         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
43935
43936 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
43937
43938         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
43939         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
43940         porting problem reported by Georg Schwarz in
43941         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
43942
43943 2005-12-05  Bruno Haible  <bruno@clisp.org>
43944
43945         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
43946         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
43947         Reported by Mark Junker <mjscod@gmx.de>.
43948
43949 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
43950
43951         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
43952         Use implementation from Albert Chin, with some
43953         comments/corrections by Stepan Kasal and myself.
43954
43955 2005-12-02  Bruno Haible  <bruno@clisp.org>
43956
43957         * gnulib-tool (func_import): Accept GPLed build tool modules when
43958         --lgpl is given.
43959         * modules/csharpcomp-script: New file.
43960         * modules/csharpcomp: Depend on it.
43961         * modules/javacomp-script: New file.
43962         * modules/javacomp: Depend on it.
43963         Suggested by Simon Josefsson.
43964
43965 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
43966
43967         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
43968         statement, to work around an HP-UX 10.20 compiler bug reported by
43969         Peter O'Gorman.
43970
43971 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
43972
43973         * modules/savedir (Depends-on): Add openat.
43974
43975 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
43976
43977         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
43978         (uintmax_t) [defined uintmax_t]: Do not declare.
43979         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
43980         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
43981         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
43982         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
43983         sake of portability to weird hosts that C allows (though we don't
43984         know of any practical examples).
43985
43986         * lib/savedir.h (fdsavedir): New decl.
43987         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
43988         contains most of the former guts of savedir.
43989         (savedir): Use savedirstream.
43990         Include "openat.h".
43991
43992 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
43993
43994         * modules/obstack (Files): Add m4/ulonglong.m4.
43995         Problem reported by Davide Angelocola.
43996
43997 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
43998
43999         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
44000         coreutils no longer futzes with rounding modes.
44001
44002 2005-11-14  Jim Meyering  <jim@meyering.net>
44003
44004         * lib/mkstemp-safer.c: Include <config.h>, required for possible
44005         replacement of mkstemp.
44006
44007 2005-11-10  Simon Josefsson  <jas@extundo.com>
44008
44009         * lib/readline.c: Remove EOL.
44010
44011 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
44012
44013         * modules/gethrxtime (Depends-on): Add gettime.
44014
44015 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
44016
44017         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
44018         or gettimeofday; no longer needed.
44019
44020 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
44021
44022         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
44023         time business.
44024         (gethrxtime) [! (HAVE_NANOUPTIME
44025         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
44026         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
44027         our own approximation.
44028
44029 2005-11-08  Eric Blake  <ebb9@byu.net>
44030
44031         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
44032
44033 2005-11-08  Eric Blake  <ebb9@byu.net>
44034
44035         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
44036
44037 2005-11-04  Bruno Haible  <bruno@clisp.org>
44038
44039         * gnulib-tool: Implement --update mode.
44040
44041 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
44042
44043         Fix porting problem reported by Theodoros V. Kalamatianos.
44044         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
44045         Don't assume that futimes failing means we must fail.
44046
44047 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
44048
44049         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
44050         variables to suggest the intended function of the PATH_MAX check.
44051
44052 2005-10-30  Kean Johnston  <jkj@sco.com>
44053
44054         Trivial changes to support SCO systems.
44055         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
44056         as PATH_MAX.
44057         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
44058         where __ptr is null when no I/O is pending.
44059
44060 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
44061
44062         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
44063         leave errno alone.  Problem reported by Dmitry V. Levin.
44064
44065 2005-10-28  Simon Josefsson  <jas@extundo.com>
44066
44067         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
44068         Test more.
44069
44070         * tests/test-gc-md2.c, tests/test-md2.c: New files.
44071
44072         * modules/md2, modules/md2-tests: New files.
44073
44074 2005-10-28  Simon Josefsson  <jas@extundo.com>
44075
44076         * m4/inet_ntop.m4: More tests.
44077
44078         * m4/gc-md2.m4, md2.m4: New file.
44079
44080 2005-10-28  Simon Josefsson  <jas@extundo.com>
44081
44082         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
44083         "restrict" keywords, as per POSIX.  Protect the function
44084         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
44085         Don't use K&R prototypes.  Check the sprintf return values.
44086         Re-define EAFNOSUPPORT if not present.  Indent.
44087
44088         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
44089         suggested by Bruno Haible <bruno@clisp.org>.
44090
44091         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
44092
44093         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
44094
44095         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
44096         libgcrypt).
44097
44098         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
44099
44100         * lib/md2.h, lib/md2.c: New files.
44101
44102 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
44103
44104         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
44105         errno alone.  Problem reported by Frederic Jolliton.
44106
44107 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
44108
44109         * modules/verify (License): Change from GPL to LGPL.  This is a
44110         tiny module and there are apparently near-equivalents that are
44111         under the BSD license.
44112
44113 2005-10-24  Simon Josefsson  <jas@extundo.com>
44114
44115         * modules/sha1: Relicense to LGPL.
44116
44117 2005-10-24  Simon Josefsson  <jas@extundo.com>
44118
44119         * lib/md4.h: Shrink buffer size, now that we changed the type.
44120
44121 2005-10-23  Simon Josefsson  <jas@extundo.com>
44122
44123         * gnulib-tool (func_import): Fix --tests-base.
44124
44125 2005-10-22  Simon Josefsson  <jas@extundo.com>
44126
44127         * modules/arcfour (Depends-on): Need stdint.
44128
44129 2005-10-22  Simon Josefsson  <jas@extundo.com>
44130
44131         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
44132         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
44133
44134 2005-10-22  Simon Josefsson  <jas@extundo.com>
44135
44136         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
44137         suggested by Bruno Haible <bruno@clisp.org>.
44138
44139 2005-10-22  Simon Josefsson  <jas@extundo.com>
44140
44141         * lib/crc.h: Include stddef.h, for size_t.
44142
44143 2005-10-22  Simon Josefsson  <jas@extundo.com>
44144
44145         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
44146         arcfour_context struct (simplify test vector testing in GNU
44147         Shishi).
44148
44149 2005-10-21  Simon Josefsson  <jas@extundo.com>
44150
44151         * modules/des, modules/des-tests: New files.
44152
44153         * modules/gc-des, modules/gc-des-tests: New files.
44154
44155         * tests/test-des.c, tests/test-gc-des.c: New file.
44156
44157 2005-10-21  Simon Josefsson  <jas@extundo.com>
44158
44159         * modules/arctwo, modules/arctwo-tests: New files.
44160
44161         * tests/test-arctwo.c: New file.
44162
44163         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
44164
44165         * tests/test-gc-arctwo.c: New file.
44166
44167 2005-10-21  Simon Josefsson  <jas@extundo.com>
44168
44169         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
44170         Bruno Haible <bruno@clisp.org>.
44171
44172         * m4/gc-des.m4: New file.
44173
44174 2005-10-21  Simon Josefsson  <jas@extundo.com>
44175
44176         * m4/arctwo.m4: New file.
44177
44178         * m4/gc-arctwo.m4: New file.
44179
44180 2005-10-21  Simon Josefsson  <jas@extundo.com>
44181
44182         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
44183         block.
44184
44185 2005-10-21  Simon Josefsson  <jas@extundo.com>
44186
44187         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
44188         <bruno@clisp.org>.
44189
44190         * lib/hmac-sha1.c (hmac_sha1): Likewise.
44191
44192         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
44193         Bruno Haible <bruno@clisp.org>.
44194
44195         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
44196         <bruno@clisp.org>.
44197
44198 2005-10-21  Simon Josefsson  <jas@extundo.com>
44199
44200         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
44201
44202 2005-10-21  Simon Josefsson  <jas@extundo.com>
44203
44204         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
44205
44206 2005-10-21  Simon Josefsson  <jas@extundo.com>
44207
44208         * lib/des.h, lib/des.c: New files.
44209
44210         * lib/gc-gnulib.c: Support DES.c
44211
44212 2005-10-21  Simon Josefsson  <jas@extundo.com>
44213
44214         * lib/arctwo.h, lib/arctwo.c: New files.
44215
44216         * lib/gc-gnulib.c: Support ARCTWO.
44217
44218 2005-10-21  Simon Josefsson  <jas@extundo.com>
44219
44220         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
44221         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44222
44223 2005-10-21  Simon Josefsson  <jas@extundo.com>
44224
44225         * gnulib-tool (func_import, func_create_testdir): Define automake
44226         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
44227         Makefile.am snippet),
44228         suggested by Bruno Haible <bruno@clisp.org>.
44229
44230         * modules/gc (Makefile.am): Use it.
44231
44232 2005-10-21  Bruno Haible  <bruno@clisp.org>
44233
44234         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
44235         patch.
44236
44237 2005-10-19  Simon Josefsson  <jas@extundo.com>
44238
44239         * tests/test-gc-rijndael.c: New file.
44240
44241         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
44242
44243 2005-10-19  Simon Josefsson  <jas@extundo.com>
44244
44245         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
44246         interface too.
44247
44248 2005-10-19  Simon Josefsson  <jas@extundo.com>
44249
44250         * tests/test-gc-arcfour.c: New file.
44251
44252         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
44253
44254 2005-10-19  Simon Josefsson  <jas@extundo.com>
44255
44256         * modules/gc-md4, modules/gc-md4-tests: New file.
44257
44258         * tests/test-gc-md4.c: New file.
44259
44260 2005-10-19  Simon Josefsson  <jas@extundo.com>
44261
44262         * m4/gc-md4.m4: New file.
44263
44264 2005-10-19  Simon Josefsson  <jas@extundo.com>
44265
44266         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
44267         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
44268         <kasal@ucw.cz>.
44269
44270 2005-10-19  Simon Josefsson  <jas@extundo.com>
44271
44272         * m4/gc-arcfour.m4: New file.
44273
44274         * m4/gc-rijndael.m4: New file.
44275
44276 2005-10-19  Simon Josefsson  <jas@extundo.com>
44277
44278         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
44279
44280 2005-10-19  Simon Josefsson  <jas@extundo.com>
44281
44282         * lib/gc-gnulib.c: Support ARCFOUR.
44283
44284 2005-10-19  Simon Josefsson  <jas@extundo.com>
44285
44286         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
44287         support.
44288
44289         * lib/gc.h: Add ECB enum type.
44290
44291         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
44292
44293 2005-10-18  Simon Josefsson  <jas@extundo.com>
44294
44295         * tests/test-md5.c: New file.
44296
44297         * modules/md5-tests: New file.
44298
44299 2005-10-18  Simon Josefsson  <jas@extundo.com>
44300
44301         * tests/test-md4.c: New file.
44302
44303         * modules/md4, modules/md4-tests: New files.
44304
44305 2005-10-18  Simon Josefsson  <jas@extundo.com>
44306
44307         * m4/md4.m4: New file.
44308
44309 2005-10-18  Simon Josefsson  <jas@extundo.com>
44310
44311         * lib/md4.h, lib/md4.c: New files, based on md5.?.
44312
44313 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
44314
44315         * gnulib-tool (func_create_testdir): Omit the second check whether
44316         BUILT_SOURCES in nonempty.
44317
44318 2005-10-17  Simon Josefsson  <jas@extundo.com>
44319
44320         * tests/test-rijndael.c: New file.
44321
44322 2005-10-17  Simon Josefsson  <jas@extundo.com>
44323
44324         * modules/sha1: Depend on stdint instead of md5.
44325
44326         * modules/md5: Depend on stdint, remove uint32_t.
44327
44328 2005-10-17  Simon Josefsson  <jas@extundo.com>
44329
44330         * modules/gc-sha1-tests: New file.
44331
44332         * tests/test-gc-sha1.c: New file.
44333
44334 2005-10-17  Simon Josefsson  <jas@extundo.com>
44335
44336         * m4/md5.m4: Remove call to uint32_t.m4.
44337
44338 2005-10-17  Simon Josefsson  <jas@extundo.com>
44339
44340         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
44341
44342         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
44343         md5.h.
44344
44345         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
44346
44347         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
44348
44349 2005-10-17  Simon Josefsson  <jas@extundo.com>
44350
44351         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
44352
44353 2005-10-17  Simon Josefsson  <jas@extundo.com>
44354
44355         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
44356
44357 2005-10-17  Simon Josefsson  <jas@extundo.com>
44358
44359         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
44360
44361         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
44362
44363 2005-10-17  Bruno Haible  <bruno@clisp.org>
44364
44365         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
44366         that it can also be used in a test.
44367
44368 2005-10-16  Bruno Haible  <bruno@clisp.org>
44369
44370         * gnulib-tool (func_emit_tests_Makefile_am): Also define
44371         TESTS_ENVIRONMENT, so that individual tests can augment it.
44372
44373         * gnulib-tool (func_create_testdir): Use an intermediate target for
44374         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
44375         macros, like $(ALLOCA_H), which cannot be passed through the command
44376         line.
44377
44378 2005-10-15  Simon Josefsson  <jas@extundo.com>
44379
44380         * modules/rijndael-tests: New file.
44381
44382         * modules/rijndael: New file.
44383
44384 2005-10-15  Simon Josefsson  <jas@extundo.com>
44385
44386         * m4/rijndael.m4: New file.
44387
44388 2005-10-15  Simon Josefsson  <jas@extundo.com>
44389
44390         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
44391
44392         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
44393
44394 2005-10-14  Simon Josefsson  <jas@extundo.com>
44395
44396         * tests/test-arcfour.c: New file.
44397
44398         * modules/arcfour, modules/arcfour-tests: New files.
44399
44400 2005-10-14  Simon Josefsson  <jas@extundo.com>
44401
44402         * m4/arcfour.m4: New file.
44403
44404 2005-10-14  Simon Josefsson  <jas@extundo.com>
44405
44406         * lib/arcfour.h, lib/arcfour.c: New files.
44407
44408 2005-10-14  Roland McGrath  <roland@redhat.com>
44409
44410         Import from libc.  [BZ #1331]
44411         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
44412         macro argument.
44413         Reported by Matej Vela <vela@debian.org>.
44414
44415 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
44416
44417         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
44418         include <wchar.h>; no longer needed.
44419
44420 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
44421
44422         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
44423
44424 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
44425         and  Ulrich Drepper  <drepper@redhat.com>
44426
44427         Import from libc.
44428         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
44429         instead of inline stream orientation test and two separate
44430         function calls.  Pay no attention to USE_IN_LIBIO.
44431
44432 2005-10-13  Simon Josefsson  <jas@extundo.com>
44433
44434         * modules/gc-hmac-md5-tests: New file.
44435
44436         * tests/test-gc-hmac-sha1.c: New file.
44437
44438         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
44439
44440         * modules/gc-hmac-md5-tests: New file.
44441
44442         * tests/test-gc-md5.c: New file.
44443
44444         * modules/gc-md5-tests: New file.
44445
44446 2005-10-13  Simon Josefsson  <jas@extundo.com>
44447
44448         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
44449         Move memory allocation outside of loop.
44450
44451 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
44452
44453         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
44454         intermediate directory is in a read-only file system.  Problem
44455         reported by Eric Blake.
44456
44457 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
44458
44459         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
44460
44461 2005-10-12  Simon Josefsson  <jas@extundo.com>
44462
44463         * tests/test-hmac-sha1.c: New file.
44464
44465         * modules/hmac-sha1-tests: New file.
44466
44467         * modules/hmac-sha1: New file.
44468
44469 2005-10-12  Simon Josefsson  <jas@extundo.com>
44470
44471         * modules/gc-sha1: New file.
44472
44473 2005-10-12  Simon Josefsson  <jas@extundo.com>
44474
44475         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
44476
44477         * tests/test-gc-pbkdf2-sha1.c: New file.
44478
44479 2005-10-12  Simon Josefsson  <jas@extundo.com>
44480
44481         * modules/gc-md5, modules/gc-hmac-md5: New files.
44482
44483         * modules/gc (Files): Remove md5, memxor and hmac files.
44484
44485 2005-10-12  Simon Josefsson  <jas@extundo.com>
44486
44487         * m4/gc-pbkdf2-sha1.m4: New file.
44488
44489         * m4/gc-hmac-sha1.m4: New file.
44490
44491         * m4/gc-sha1: New file.
44492
44493         * m4/hmac-sha1.m4: New file.
44494
44495 2005-10-12  Simon Josefsson  <jas@extundo.com>
44496
44497         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
44498
44499         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
44500
44501 2005-10-12  Simon Josefsson  <jas@extundo.com>
44502
44503         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
44504         suggested by Bruno Haible <bruno@clisp.org>.
44505
44506 2005-10-12  Simon Josefsson  <jas@extundo.com>
44507
44508         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
44509
44510 2005-10-12  Simon Josefsson  <jas@extundo.com>
44511
44512         * lib/gc-pbkdf2-sha1.c: New file.
44513
44514         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
44515
44516 2005-10-12  Simon Josefsson  <jas@extundo.com>
44517
44518         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
44519
44520         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
44521
44522 2005-10-12  Simon Josefsson  <jas@extundo.com>
44523
44524         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
44525         GC_USE_HMAC_MD5, respectively.
44526
44527         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
44528         (gc_md5): Fix typo.
44529
44530         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
44531
44532         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
44533
44534         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
44535
44536 2005-10-12  Bruno Haible  <bruno@clisp.org>
44537
44538         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
44539         Reported by Stepan Kasal <kasal@ucw.cz>.
44540
44541 2005-10-11  Simon Josefsson  <jas@extundo.com>
44542
44543         * tests/test-crc.c: New file.
44544
44545         * modules/crc, modules/crc-tests: New files.
44546
44547 2005-10-11  Simon Josefsson  <jas@extundo.com>
44548
44549         * m4/crc.m4: New file.
44550
44551 2005-10-11  Simon Josefsson  <jas@extundo.com>
44552
44553         * lib/gc.h: Add gc_hash and gc_hash_buffer.
44554
44555         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
44556
44557         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
44558
44559 2005-10-11  Simon Josefsson  <jas@extundo.com>
44560
44561         * lib/crc.h, lib/crc.c: New files.
44562
44563         * lib/gc.h (gc_hash_buffer): Add doc.
44564
44565 2005-10-11  Bruno Haible  <bruno@clisp.org>
44566
44567         * modules/c-strcasestr: New file.
44568         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
44569
44570 2005-10-11  Bruno Haible  <bruno@clisp.org>
44571
44572         * modules/c-strcase: New file.
44573         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
44574
44575 2005-10-11  Bruno Haible  <bruno@clisp.org>
44576
44577         * lib/strcasecmp.c: Include limits.h.
44578         (strcasecmp): Avoid integer overflow on exotic platforms.
44579         * lib/strncasecmp.c: Include limits.h.
44580         (strncasecmp): Avoid integer overflow on exotic platforms.
44581         Reported by Paul Eggert.
44582
44583 2005-10-11  Bruno Haible  <bruno@clisp.org>
44584
44585         * lib/c-strcasestr.h: New file, from GNU gettext.
44586         * lib/c-strcasestr.c: New file, from GNU gettext.
44587
44588 2005-10-11  Bruno Haible  <bruno@clisp.org>
44589
44590         * lib/c-strcase.h: New file, from GNU gettext.
44591         * lib/c-strcasecmp.c: New file, from GNU gettext.
44592         * lib/c-strncasecmp.c: New file, from GNU gettext.
44593
44594 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
44595
44596         * modules/mempcpy (License): GPL -> LGPL.
44597         * modules/strchrnul (License): Likewise.
44598         * modules/sysexits (License): Likewise.
44599
44600 2005-10-08  Simon Josefsson  <jas@extundo.com>
44601
44602         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
44603
44604 2005-10-07  Simon Josefsson  <jas@extundo.com>
44605
44606         * m4/memxor.m4: Remove gl_C_RESTRICT call.
44607
44608 2005-10-06  Simon Josefsson  <jas@extundo.com>
44609
44610         * tests/test-hmac-md5.c: New file.
44611
44612         * modules/hmac-md5-tests: New file.
44613
44614         * modules/hmac-md5: New file.
44615
44616 2005-10-06  Simon Josefsson  <jas@extundo.com>
44617
44618         * m4/hmac-md5.m4: New file.
44619
44620         * m4/memxor.m4: Require gl_C_RESTRICT.
44621
44622 2005-10-06  Simon Josefsson  <jas@extundo.com>
44623
44624         * lib/memxor.c (memxor): Avoid casts and warnings.
44625
44626 2005-10-06  Simon Josefsson  <jas@extundo.com>
44627
44628         * lib/hmac-md5.c: New file.
44629
44630         * lib/hmac.h: New file.
44631
44632 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
44633
44634         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
44635         promotes to int, not unsigned int, to catch the AIX 5.3
44636         compiler bug.
44637
44638 2005-10-05  Simon Josefsson  <jas@extundo.com>
44639
44640         * modules/memxor: New file.
44641
44642         * modules/iconv (Files): Move config.rpath to havelib, it is used
44643         there.
44644
44645         * modules/havelib (Files): Add config.rpath.
44646
44647 2005-10-05  Simon Josefsson  <jas@extundo.com>
44648
44649         * m4/memxor.m4: New file.
44650
44651 2005-10-05  Simon Josefsson  <jas@extundo.com>
44652
44653         * lib/memxor.c (memxor): Fix compiler error.
44654
44655         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
44656         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
44657
44658         * lib/memxor.h, lib/memxor.c: New files.
44659
44660         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
44661         we assume all systems have it, suggested by Jim Meyering
44662         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
44663         any systems lack sys/socket.h; mingw32 is known to lack it, but we
44664         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
44665         same reasons.
44666
44667 2005-10-05  Simon Josefsson  <jas@extundo.com>
44668
44669         * config/srclist.txt: Add glibc bug 1423 for md5.h.
44670
44671 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
44672
44673         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
44674         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
44675         needed, since the source code now assumes these .h files.
44676
44677 2005-10-05  Derek Price  <derek@ximbiot.com>
44678
44679         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
44680
44681 2005-10-05  Bruno Haible  <bruno@clisp.org>
44682
44683         * modules/stdint (License): Change to LGPL.
44684
44685 2005-10-04  Simon Josefsson  <jas@extundo.com>
44686
44687         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
44688         D. Baushke" <mdb@gnu.org>.
44689
44690 2005-10-04  Bruno Haible  <bruno@clisp.org>
44691
44692         * lib/verify.h (verify_true): Provide alternative definition for C++.
44693
44694 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
44695
44696         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
44697         (SSIZE_MAX): New macro, if not already defined.
44698         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
44699         than 2 GiB.
44700
44701 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
44702
44703         Sync from coreutils.
44704         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
44705         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
44706         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
44707         ULLONG_MAX doesn't work with 2.7.2.1.
44708
44709 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
44710
44711         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
44712         From Ben Pfaff.
44713
44714         * modules/exclude (Depends-on): Depend on verify.
44715         * modules/strtoimax (Depends-on): Likewise.
44716         * modules/utimecmp (Depends-on): Likewise.
44717
44718 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
44719
44720         * lib/exclude.c: Include verify.h.
44721         (verify): Remove.  All callers changed to use verify.h's version.
44722         * lib/strtoimax.c: Likewise.
44723         * lib/utimecmp.c: Likewis.e
44724
44725         Sync from coreutils.
44726         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
44727         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
44728         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
44729         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
44730         bother returning ENOSYS if settimeofday or stime fails; just let
44731         them return whatever errno they want to return.
44732         * lib/utimens.c: Include unistd.h, for dup2.
44733         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
44734         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
44735
44736 2005-10-02  Jim Meyering  <jim@meyering.net>
44737
44738         Sync from coreutils.
44739         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
44740         from glibc-2.2.5 that fails for read-only files.
44741
44742 2005-10-02  Jim Meyering  <jim@meyering.net>
44743
44744         Sync from coreutils.
44745         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
44746         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
44747         `#if HAVE_CONFIG_H'.
44748         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
44749         Remove AT_FDCWD test.
44750         Do not consume the fd unless successful.
44751         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
44752         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
44753         block, so that we don't even try to compile it if settimeofday is
44754         available.  This works around a compilation failure on OSF1 V5.1,
44755         due to stime requiring a `long int*' while tv_sec is `int'.
44756
44757 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
44758
44759         Sync from coreutils.
44760         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
44761         against `yes', rather than just testing for nonempty.
44762
44763 2005-10-01  Simon Josefsson  <jas@extundo.com>
44764
44765         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
44766         and Darwin.
44767
44768         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
44769         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
44770         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
44771         freeaddrinfo and gai_strerror are declared by the POSIX headers.
44772         Check if struct addrinfo is declared.
44773
44774 2005-10-01  Simon Josefsson  <jas@extundo.com>
44775
44776         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
44777         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
44778         AI_* and EAI_* definitions.  Protect function declarations.
44779
44780 2005-10-01  Jim Meyering  <jim@meyering.net>
44781
44782         Sync from coreutils.
44783
44784         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
44785         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
44786         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
44787         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
44788         in the inet and nsl libraries.  Required on Solaris 5.7.
44789
44790 2005-10-01  Jim Meyering  <jim@meyering.net>
44791
44792         Sync from coreutils.
44793         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
44794         in the inet and nsl libraries.  Required on Solaris 5.7.
44795
44796 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
44797
44798         * lib/getdelim.c (getdelim): Remove unused variables.
44799
44800 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
44801
44802         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
44803         so that the code works even with ancient cpp.  Portability problem
44804         with GCC 2.7.2.1 reported by Thomas M.Ott.
44805
44806 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
44807
44808         * modules/regex (Depends-on): Add strcase.
44809
44810         * modules/gethostname (Licence): Change from GPL to LGPL, since
44811         gethostname.c is a trivial implementation of a standard library
44812         function.
44813         * modules/poll (License): Change from GPL to LGPL, since it's
44814         derived from LGPL code.
44815
44816 2005-09-27  Jim Meyering  <jim@meyering.net>
44817
44818         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
44819         HAVE_CONFIG_H.
44820
44821         * lib/intprops.h (signed_type_or_expr__): Define.
44822         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
44823         for unsigned types.
44824
44825 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
44826
44827         * lib/verify.h (verify_expr): Remove, replacing with:
44828         (verify_true): New macro that returns true instead of void.
44829         (verify_type__): Remove.
44830         (verify): Use verify_true rather than verify_type__.
44831
44832 2005-09-26  Bruno Haible  <bruno@clisp.org>
44833
44834         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
44835         is necessary.
44836         (lib_SOURCES): Remove mbchar.c.
44837         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
44838         (Files): Add m4/mbrtowc.m4.
44839         * modules/mbiter: Likewise.
44840         * modules/mbuiter: Likewise.
44841
44842 2005-09-26  Bruno Haible  <bruno@clisp.org>
44843
44844         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
44845         compile mbchar.c if they are not both present.
44846         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
44847         * m4/mbiter.m4 (gl_MBITER): Likewise.
44848         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
44849         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
44850         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
44851
44852 2005-09-25  Jim Meyering  <jim@meyering.net>
44853
44854         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
44855         also uses socklen_t.
44856
44857 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
44858
44859         * lib/utimens.c (ENOSYS): Define if not already defined.
44860         (futimens): Support having a null PATH if the file descriptor
44861         is nonnegative.
44862
44863         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
44864         Remove.
44865         (__attribute): Define to empty unless GCC 3.1 or later.
44866         This works around a core dump on OpenBSD 3.4, which has GCC
44867         2.95.3, which dumps core when given __attribute__(()).  It also
44868         simplifies other tests, since we really don't want to bother with
44869         worrying about which ancient version of GCC supported what.
44870         Original problem reported by Yoann Vandoorselaere, with part of
44871         the fix suggested by Derek Price.
44872
44873 2005-09-24  Jim Meyering  <jim@meyering.net>
44874
44875         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
44876         so we can once again use a positive bitfield width of 1 -- now we
44877         don't have to explain why we were using a bitfield width of 2.
44878
44879 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
44880
44881         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
44882         and similarly for the other external symbols.  Problem reported
44883         by James Gallager.
44884
44885         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
44886         bug reported by Jim Meyering.
44887
44888         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
44889         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
44890         not needed, since socklen is a prerequisite module.
44891
44892 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
44893
44894         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
44895         Problem reported by Eric Blake.
44896         (getaddrinfo): Initialize se so that it's not garbage.
44897         Redo internal storage allocation so that it doesn't make unportable
44898         assumptions about alignment.
44899         Fix a memory leak.
44900
44901         * lib/utimens.c (futimens): Use futimesat if available.
44902         Prefer it to futimes since it doesn't have the futimes bug.
44903
44904         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
44905         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
44906         Instead, declare a function that returns a pointer to an array,
44907         and use verify_type__ to declare the size of the array.
44908         Problem and germ of a solution reported by Bruno Haible.
44909         (verify_type__): Use 2, not 1, for bitfield size, to avoid
44910         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
44911
44912 2005-09-23  Jim Meyering  <jim@meyering.net>
44913
44914         Sync from coreutils.
44915         Correct build failure (socklen_t not defined) on at least
44916         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
44917         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
44918
44919 2005-09-23  Jim Meyering  <jim@meyering.net>
44920
44921         * modules/getaddrinfo (Depends-on): Add socklen.
44922
44923 2005-09-23  Bruno Haible  <bruno@clisp.org>
44924
44925         * tests/test-verify.c: New file.
44926
44927 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
44928
44929         Sync from coreutils.
44930
44931         * modules/argmatch (Depends-on): Add verify.
44932         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
44933         unistd-safer.
44934         * modules/save-cwd (Depends-on): Likewise.
44935
44936         * modules/openat (Files): Add lib/openat-die.c.
44937         (Depends-on): Remove error, exitfail.
44938         Add dirname.
44939
44940         * modules/verify: New file.
44941         * MODULES.html.sh (Diagnostics <assert.h>): New section,
44942         with "verify" module.
44943
44944 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
44945
44946         Sync from coreutils.
44947
44948         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
44949         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
44950         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
44951         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
44952         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
44953         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
44954         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
44955         Don't bother checking for string.h, stdlib.h, unistd.h.
44956         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
44957         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
44958         module's job.
44959         * m4/jm-macros.m4 (gl_MACROS): Likewise.
44960         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
44961
44962         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
44963         (gl_GETDATE): Use it.
44964
44965         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
44966
44967 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
44968
44969         Sync from coreutils.
44970
44971         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
44972         stat-time.h.
44973         * lib/argmatch.h: Include verify.h
44974         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
44975         (ARGMATCH_ASSERT): Remove; unused.
44976         * lib/canonicalize.c: Assume STDC_HEADERS.
44977         * lib/exclude.c: Include "strcase.h".
44978         * lib/regex_internal.h [!defined _LIBC]: Likewise.
44979         * lib/getusershell.c: Include stdio--.h rather than stdio.h
44980         and stdio-safer.h.
44981         (getusershell): Call fopen, not fopen_safer.
44982         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
44983         Do not include unistd-safer.h.
44984         (save_cwd): Don't call fd_safer; no longer needed
44985         now that we include fcntl--.h.
44986
44987         * lib/getdate.y (relative_time): New type.
44988         (RELATIVE_TIME_0): New constant.
44989         (parser_control): Use relative_time instead of doing it ourselves.
44990         (%union): Add new relative_time rel member.
44991         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
44992         Now typeless.
44993         (relunit, relunit_snumber): Now of type rel.
44994         (zone, rel, relunit, get_date): Adjust to above changes.
44995
44996         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
44997         Do not include unistd-safer.h.
44998         (getloadavg): Don't call fd_safer; no longer needed
44999         now that we include fcntl--.h.
45000
45001         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
45002         (make_dir_parents): Treat ENOSYS like EEXIST.
45003
45004         Improve quality of diagnostics on restore_cwd failure.
45005         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
45006         (make_dir_parents): Last arg is now int * (for errno), not bool *.
45007         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
45008         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
45009         each time through the loop.  Do not diagnose restore_cwd failure;
45010         that is the caller's job (and perhaps the caller does not care).
45011
45012         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
45013         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
45014         If the file already exists but is not a directory, don't bother
45015         to try to make its parents.
45016         Close potential file descriptor leak if we can't chdir("/") (!).
45017         Don't always return true if chdir($PWD) fails; return true only
45018         if the requested action was done successfully (except for the
45019         chdir($PWD)).
45020         Don't log final directory unless we actually made it.
45021         Refactor to avoid duplicate code to fix up permissions.
45022         Don't attempt to fix up parent permissions if chdir($PWD) fails.
45023
45024         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
45025         to make it a bit faster and (I hope) clearer.
45026         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
45027         Fix bug in formats like %2N.
45028
45029         * lib/verify.h: New file.
45030
45031 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
45032
45033         Sync from coreutils.
45034         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
45035
45036 2005-09-22  Jim Meyering  <jim@meyering.net>
45037
45038         Sync from coreutils.
45039
45040         * m4/lstat.m4 (gl_FUNC_LSTAT):
45041         Use AC_LIBSOURCES to require lstat.c and lstat.h.
45042         Remove obsolete comment.
45043         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
45044         * m4/xstrtod.m4: Likewise.
45045
45046         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
45047
45048 2005-09-22  Jim Meyering  <jim@meyering.net>
45049
45050         Sync from coreutils.
45051
45052         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
45053
45054         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
45055         the .tm_year member, since otherwise gcc-4.0 would now warn about
45056         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
45057
45058         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
45059         order to avoid an unsuppressible warning from gcc on 64-bit systems.
45060
45061         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
45062         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
45063         when run in a time zone for which daylight savings time is in effect
45064         for the starting date.
45065
45066         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
45067         stop us from restricting permissions of just-created absolute-named
45068         directories.
45069         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
45070         to restore initial working directory.
45071         * lib/mkdir-p.c (make_dir_parents): New parameter:
45072         different_working_dir, to tell caller if/when we change the working
45073         directory and are unable to return to the initial one.
45074         * lib/mkdir-p.h (make_dir_parents): Update prototype.
45075         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
45076         `return false'.  This fixes a bug introduced on 2004-07-30.
45077
45078         * lib/openat.c (fdopendir): Be sure to close the supplied
45079         file descriptor before returning.  This makes our replacement
45080         implementation a little closer to Solaris's, where fdopendir
45081         ties the file descriptor to the returned DIR* pointer.
45082         * lib/openat.c (unlinkat): New function.
45083         * lib/openat.h (unlinkat): Add prototype.
45084         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
45085         (openat_restore_fail): Rename from openat_restore_die.
45086         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
45087
45088         Provide an alternative to exiting immediately upon save_cwd or
45089         restore_cwd failure.  Now, an application can arrange e.g.,
45090         to perform a longjump in that case.
45091         * lib/openat.c: Include dirname.h.
45092         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
45093         (rpl_openat, fdopendir, fstatat): Call openat_save_die
45094         and openat_restore_die rather than calling error directly.
45095         Don't include "error.h" or "exitfail.h"; they're no longer needed.
45096
45097         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
45098         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
45099         define.
45100
45101         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
45102         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
45103                             int utc, int nanoseconds);
45104         Background:
45105         date should not have to allocate a megabyte of virtual memory to
45106         handle a format argument like +%1048575T.  When implemented with
45107         strftime, it must allocate such a buffer, use strftime to fill it
45108         in, print it, then free it.
45109         With fprintftime, it simply prints everything and exits.
45110         With no need for memory allocation, that's one fewer way to fail.
45111         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
45112         optional field width, not before, so we accept %9:z, not %:9z.
45113         (my_strftime): Be sure to use L_('x') for literals.
45114
45115         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
45116         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
45117         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
45118         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
45119         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
45120         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
45121         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
45122         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
45123         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
45124         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
45125         * lib/xgethostname.c, lib/xreadlink.c:
45126         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
45127
45128         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
45129         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
45130         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
45131         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
45132         and don't include <sys/file.h>).
45133
45134 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
45135
45136         Sync from coreutils.
45137
45138         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
45139         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
45140         [!LDAV_DONE]: Avoid unused variable warning.
45141
45142 2005-09-21  Bruno Haible  <bruno@clisp.org>
45143
45144         * lib/unicodeio.h (unicode_to_mb): New declaration.
45145
45146 2005-09-20  Derek Price  <derek@ximbiot.com>
45147
45148         * lib/getaddrinfo.c: Don't include <netdb.h> included from
45149         getaddrinfo.h.
45150
45151 2005-09-20  Bruno Haible  <bruno@clisp.org>
45152
45153         * gnulib-tool: Remove trailing slashes from the values specified for
45154         --source-base, --m4-base, --tests-base, --aux-dir.
45155         Suggested by Simon Josefsson <jas@extundo.com>.
45156
45157 2005-09-20  Bruno Haible  <bruno@clisp.org>
45158
45159         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
45160         func_modules_to_filelist, func_import, func_create_testdir): Make all
45161         sorting results locale-independent, so that gnulib-cache.m4 doesn't
45162         change when gnulib-tool is invoked in a different locale.
45163
45164 2005-09-19  Simon Josefsson  <jas@extundo.com>
45165
45166         * m4/socklen.m4: Fix typo.
45167
45168 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45169
45170         Use a consistent style for including <config.h>.
45171         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
45172         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
45173         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
45174         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
45175         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
45176         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
45177         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
45178         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
45179         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
45180         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
45181         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
45182         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
45183         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
45184         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
45185         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
45186         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
45187         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
45188         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
45189         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
45190         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
45191         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
45192         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
45193         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
45194         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
45195         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
45196         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
45197         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
45198         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
45199         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
45200         lib/xstrtoumax.c, lib/yesno.c:
45201         Standardize inclusion of config.h.
45202         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
45203         lib/inttostr.h:  Removed inclusion of config.h from header files.
45204         * lib/inttostr.c:  Adjusted in-tree users.
45205         * lib/timespec.h: Remove superfluous warning to include config.h.
45206         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
45207         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
45208         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
45209         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
45210         config.h with HAVE_CONFIG_H.
45211
45212 2005-09-19  Jim Meyering  <jim@meyering.net>
45213
45214         * modules/pathmax (License): Change to LGPL.
45215
45216 2005-09-19  Derek Price  <derek@ximbiot.com>
45217
45218         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
45219
45220 2005-09-19  Bruno Haible  <bruno@clisp.org>
45221
45222         * gnulib-tool (import): Provide default for --tests-base.
45223
45224 2005-09-19  Bruno Haible  <bruno@clisp.org>
45225
45226         * doc/quote.texi: New file, extracted from gnulib.texi.
45227         * doc/ctime.texi: New file, extracted from gnulib.texi.
45228         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
45229         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
45230         * doc/gnulib.texi: Include them.
45231
45232 2005-09-18  Bruno Haible  <bruno@clisp.org>
45233
45234         Portability fix.
45235         * gnulib-tool (func_readlink): New function.
45236         (func_ln_if_changed): Use it.
45237
45238 2005-09-18  Bruno Haible  <bruno@clisp.org>
45239
45240         * gnulib-tool: Support --with-tests also with --import.
45241         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
45242         (func_import): Use variables $testsbase and $inctests. Emit a
45243         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
45244         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
45245         SUBDIRS += $testsdir.
45246         (func_create_testdir): Update.
45247
45248 2005-09-18  Bruno Haible  <bruno@clisp.org>
45249
45250         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
45251         instead of $dry_run.
45252         (func_cp_if_changed, func_mv_if_changed): Remove functions.
45253         (func_ln_if_changed): Don't handle dry-run here.
45254         (func_import): In dry-run mode, detect more precisely which actions
45255         would be performed, and don't use "...ing" verbs.
45256
45257 2005-09-18  Bruno Haible  <bruno@clisp.org>
45258
45259         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
45260         (func_import): Use join on two temporary files instead of three nested
45261         loops, in order to determine which files are new or old.
45262
45263 2005-09-18  Bruno Haible  <bruno@clisp.org>
45264
45265         * gnulib-tool (func_import): Comment out code that spits out the
45266         new files with --dry-run.
45267
45268 2005-09-18  Bruno Haible  <bruno@clisp.org>
45269
45270         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
45271
45272 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
45273
45274         * lib/stat-time.h: New file.
45275         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
45276         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
45277         in a different way.
45278         (timespec_cmp): New function.
45279         * lib/utimecmp.c: Include stat-time.h.
45280         (SYSCALL_RESOLUTION): Depend on whether various struct stat
45281         members exist, not on the obsolescent ST_MTIM_NSEC.
45282         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
45283
45284 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
45285
45286         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
45287
45288 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
45289
45290         * MODULES.html.sh (File system functions): Add stat-time.
45291         * modules/stat-time: New file.
45292         * modules/timespec (Files): Remove m4/st_mtim.m4; this
45293         is now done in a different way, by the stat-time module.
45294         * modules/utimecmp (Depends-on): Add stat-time.
45295
45296 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
45297
45298         * m4/st_mtim.m4: Remove.  Superseded by...
45299         * m4/stat-time.m4: New file.
45300         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
45301         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
45302
45303 2005-09-15  Derek Price  <derek@ximbiot.com>
45304
45305         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
45306
45307 2005-09-15  Derek Price  <derek@ximbiot.com>
45308
45309         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
45310         * lib/regex_internal.c: Ditto, using this...
45311         (__GNUC_PREREQ): ...new macro.
45312         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
45313         using...
45314         (__GNUC_PREREQ): ...this new macro.
45315
45316         * lib/strstr.h: Include string.h. Define strstr as a macro here.
45317
45318 2005-09-15  Derek Price  <derek@ximbiot.com>
45319             Paul Eggert  <eggert@cs.ucla.edu>
45320
45321         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
45322         changes, consolidating in...
45323         * lib/regex_internal.h: ...this file.
45324
45325 2005-09-13  Jim Meyering  <jim@meyering.net>
45326
45327         * lib/canon-host.c: Filter through gnu indent and reword comments
45328         slightly.
45329         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
45330
45331 2005-09-13  Derek Price  <derek@ximbiot.com>
45332
45333         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
45334         failure.
45335         Reported by Jim Meyering  <jim@meyering.net>.
45336
45337 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
45338
45339         * lib/base64.c: Typo.
45340         (base64_encode): Put b64str in initialized data section.
45341
45342 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
45343
45344         Merge glibc and coreutils changes into gnulib, plus a few
45345         extra fixes.
45346         * lib/md5.c: Use #error rather than a string.
45347         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
45348         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
45349         (__attribute__): Define to empty for non recent-GCC.
45350         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
45351         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
45352         Renamed from their non-__ counterparts, with new macros replacing
45353         them if not _LIBC.  Add __THROW attribute.
45354         (rol): Remove.
45355         (struct md5_ctx): Align buffer if using GCC.
45356         * lib/sha1.h (struct sha1_ctx): Likewise.
45357         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
45358         The old name was backwards.
45359         (NOTSWAP): Remove; not used.
45360         (rol): New macro, moved here from md5.h.
45361         (sha1_process_block): Remove a FIXME that doesn't make sense.
45362
45363 2005-09-12  Derek Price  <derek@ximbiot.com>
45364
45365         Return usable errors from canon-host.
45366         * lib/canon-host.h: New file.
45367         * lib/canon-host.c (canon_host): Wrap...
45368         (canon_host_r): ...this new function, which now relies exclusively on
45369         getaddrinfo.
45370         (ch_strerror): New function.
45371         (last_cherror): New global.
45372         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
45373         interface.
45374         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
45375         void *.
45376         (freeaddrinfo): Free ai->ai_canonname when set.
45377
45378 2005-09-12  Derek Price  <derek@ximbiot.com>
45379
45380         Make canon-host require getaddrinfo.
45381         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
45382         AC_LIBSOURCE canon-host.h.  Call...
45383         (gl_PREREQ_CANON_HOST): ...this new function, which requires
45384         gl_GETADDRINFO.
45385         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
45386
45387 2005-09-12  Derek Price  <derek@ximbiot.com>
45388
45389         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
45390         LGPL.
45391         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
45392
45393 2005-09-12  Derek Price  <derek@ximbiot.com>
45394
45395         * lib/gai_strerror.c: Include config.h when available.  Include
45396         getaddrinfo.h before other headers to test interface.
45397         Reported by Larry Jones <lawrence.jones@ugs.com>.
45398
45399 2005-09-12  Derek Price  <derek@ximbiot.com>
45400             Paul Eggert  <eggert@cs.ucla.edu>
45401
45402         * modules/glob (Files): Add glob-libc.h.
45403
45404 2005-09-12  Derek Price  <derek@ximbiot.com>
45405             Paul Eggert  <eggert@cs.ucla.edu>
45406
45407         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
45408         glob_.h, glob-libc.h.
45409         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
45410
45411 2005-09-12  Derek Price  <derek@ximbiot.com>
45412             Paul Eggert  <eggert@cs.ucla.edu>
45413
45414         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
45415         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
45416         protecting things that should be done only in gnulib contexts.
45417         * lib/glob_.h: New file, containing only the glob things needed for
45418         gnulib.
45419         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
45420         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
45421         (glob, globfree, glob_pattern_p): Now defined simply in terms of
45422         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
45423         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
45424         and to respect the namespace rules better.
45425
45426 2005-09-08  Simon Josefsson  <jas@extundo.com>
45427
45428         * modules/socklen: New file.
45429
45430 2005-09-08  Simon Josefsson  <jas@extundo.com>
45431
45432         * m4/socklen.m4: New file.
45433
45434 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
45435
45436         * modules/utimens (Files): Add m4/utimbuf.m4, since
45437         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
45438         Reported by Sergey Poznyakoff.
45439
45440 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
45441
45442         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
45443         definitions, since that's the preferred style in glibc.
45444         Fix a minor spacing issue, and update copyright notice to match
45445         glibc's.
45446
45447 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
45448
45449         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
45450
45451 2005-09-06  Simon Josefsson  <jas@extundo.com>
45452
45453         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
45454         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
45455
45456 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
45457
45458         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
45459         warning.
45460
45461 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
45462
45463         * config/srclist.txt: Add glibc bug 1302.
45464
45465 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
45466
45467         Change bitset word type from unsigned int to unsigned long int,
45468         as this has better performance on typical 64-bit hosts.
45469         Port bitset code to hosts with unusual word sizes.
45470         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
45471         (build_collating_symbol):
45472         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
45473         argument is a bitset.  This is merely a style issue, but it makes
45474         it clearer that an entire array is expected.
45475         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
45476         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
45477         Port to the case where bitset_word is not the same as unsigned int.
45478         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
45479         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
45480         Likewise.
45481         * lib/regexec.c (check_dst_limits_calc_pos_1,
45482         check_subexp_matching_top):
45483         (build_trtable, group_nodes_into_DFAstates):
45484         Likewise.
45485         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
45486         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
45487         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
45488         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
45489         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
45490         * lib/regcomp.c (optimize_subexps, lower_subexp):
45491         Work even if bitset_word has holes in its bitwise representation.
45492         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
45493         * lib/regexec.c (check_dst_limits_calc_pos_1,
45494         check_subexp_matching_top):
45495         Likewise.
45496         * lib/regex_internal.c (re_string_reconstruct):
45497         Don't assume UCHAR_MAX == 255.
45498         * lib/regex_internal.h (bitset_set_all): Likewise.
45499         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
45500         All uses changed.
45501         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
45502         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
45503         All uses changed.
45504         (BITSET_WORD_MAX): New macro.
45505         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
45506         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
45507         (bitset_empty, bitset_copy):
45508         Prefer sizeof (bitset) to multiplying it out ourselves.
45509         (bitset_not_merge): Remove; unused.
45510         (bitset_contain): Return bool, not unsigned int with one bit on.
45511         All callers changed.
45512         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
45513         alignment than re_node_set; do this by defining a new internal
45514         type struct dests_alloc and using it to allocate memory.
45515
45516 2005-09-05  Bruno Haible  <bruno@clisp.org>
45517
45518         * gnulib-tool (func_import): Fix comparison in handling of symbolic
45519         links.
45520
45521 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
45522
45523         * modules/size_max (Makefile.am): Add size_max.h
45524
45525 2005-09-04  Derek Price  <derek@ximbiot.com>
45526
45527         * gnulib-tool (func_import): Fix reversed $symbolic logic.
45528
45529 2005-09-03  Simon Josefsson  <jas@extundo.com>
45530
45531         * gnulib-tool: Fix typo.
45532
45533 2005-09-03  Simon Josefsson  <jas@extundo.com>
45534
45535         * config/srclist.txt: Add glibc bug 1293.
45536
45537 2005-09-03  Derek Price  <derek@ximbiot.com>
45538
45539         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
45540         From Larry Jones <lawrence.jones@ugs.com>.
45541
45542 2005-09-02  Simon Josefsson  <jas@extundo.com>
45543
45544         * modules/socklen: New file.
45545
45546 2005-09-02  Simon Josefsson  <jas@extundo.com>
45547
45548         * modules/havelib: New module.
45549
45550         * modules/gettext, modules/iconv, modules/lock, modules/readline:
45551         Use havelib.
45552
45553 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
45554
45555         Check for arithmetic overflow when calculating sizes, to prevent
45556         some buffer-overflow issues.  These patches are conservative, in the
45557         sense that when I couldn't determine whether an overflow was possible,
45558         I inserted a run-time check.
45559         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
45560         macros.
45561         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
45562         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
45563         (re_xnrealloc, re_x2nrealloc): New inline functions.
45564         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
45565         parse_bracket_exp):
45566         (build_equiv_class, build_charclass): Check for arithmetic overflow
45567         in size expression calculations.
45568         * lib/regex_internal.c (re_string_realloc_buffers):
45569         (build_wcs_upper_buffer, re_node_set_add_intersect):
45570         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
45571         (re_dfa_add_node, register_state): Likewise.
45572         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
45573         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
45574         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
45575         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
45576
45577 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
45578
45579         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
45580         m4/ulonglong.m4.  Problem reported by Martin Lambers.
45581
45582 2005-09-02  Bruno Haible  <bruno@clisp.org>
45583
45584         Support for lib vs. lib64 distinction on biarch platforms.
45585         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
45586         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
45587         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
45588
45589 2005-09-02  Bruno Haible  <bruno@clisp.org>
45590
45591         * gnulib-tool (import): In the other first-use case, provide defaults
45592         as well.
45593
45594 2005-09-02  Bruno Haible  <bruno@clisp.org>
45595
45596         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
45597         patches not yet found in the latest gettext release.
45598
45599 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
45600
45601         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
45602         to avoid a collision with bits/local_lim.h in glibc.
45603         All uses changed.  Problem reported by Dmitry V. Levin in
45604         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
45605
45606         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
45607         bugs in int versus size_t comparisons.
45608         (re_string_context_at): Fix bug where the code assumed that
45609         Idx is signed.
45610
45611         Use bool where appropriate.
45612         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
45613         All callers changed.
45614         (calc_eclosure_iter): Likewise, for ROOT arg.
45615         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
45616         (build_charclass_op): Likewise, for NON_MATCH arg.
45617         * lib/regex_internal.c (re_string_allocate, re_string_construct):
45618         (re_string_construct_common): Likewise, for ICASE arg.
45619         * lib/regexec.c (re_search_2_stub, re_search_stub):
45620         Likewise, for RET_LEN arg.
45621         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
45622         (set_regs): Likewise, for FL_BACKTRACK arg.
45623         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
45624         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
45625         (calc_eclosure_iter, parse_bracket_exp):
45626         Use bool for internal variables that are booleans.
45627         * lib/regexec.c (re_search_internal, check_matching,
45628         proceed_next_node):
45629         (set_regs, build_sifted_states, sift_states_bkref):
45630         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
45631         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
45632         (find_collation_sequence_value):
45633         Likewise.
45634         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
45635         (re_node_set_compare):
45636         Return bool, not int. All callers changed.
45637         * lib/regexec.c (check_halt_node_context, check_dst_limits):
45638         (build_trtable, check_node_accept): Likewise.
45639         * lib/regex_internal.h: Include stdbool.h.
45640
45641         Fix bugs uncovered when converting to bool.
45642         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
45643         failure instead of charging ahead blindly.
45644         * lib/regex_internal.c (register_state): Likewise.
45645         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
45646         for freeing internal storage.
45647         (group_nodes_into_DFA_states): Use unsigned int, not int, for
45648         bitset pieces used as boolean, to avoid undefined behavior
45649         on hosts that do int overflow checking.
45650
45651 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
45652
45653         * config/srclist.txt: Add glibc bugs 1285-1287.
45654
45655 2005-09-01  Jim Meyering  <jim@meyering.net>
45656
45657         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
45658         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
45659         Require gl_STAT_MACROS, too.
45660
45661 2005-09-01  Bruno Haible  <bruno@clisp.org>
45662
45663         * gnulib-tool (import): In the first-use case, provide defaults.
45664
45665 2005-09-01  Bruno Haible  <bruno@clisp.org>
45666
45667         * gnulib-tool (func_import): Remove the .tmp files.
45668
45669 2005-09-01  Bruno Haible  <bruno@clisp.org>
45670
45671         * gnulib-tool (func_import): Fix handling of symbolic links.
45672
45673 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
45674
45675         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
45676         old glibc regex code mishandles strings longer than 2**31 bytes.
45677         This patch fixes this when the regex code is used in gnulib
45678         (i.e., outside glibc).
45679
45680         This patch should not affect the use of the regex code inside
45681         glibc.  No doubt this problem also needs to be handled for glibc
45682         as well, but the result will be an incompatible change to the
45683         glibc ABI, and the old ABI will have to be supported too.  That
45684         can be the the subject for another patch.
45685
45686         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
45687         governing whether the rest of this patch is active.  By default,
45688         the macro is disabled and the patch has no effect.
45689         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
45690         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
45691         (struct re_pattern_buffer, re_search, re_search_2, re_match):
45692         (re_match_2, re_set_registers): Use the new types.
45693         * lib/regex_internal.h (Idx, re_hashval_t): New types.
45694         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
45695         New macros.
45696         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
45697         (re_string_context_at, bin_tree_t, re_dfastate_t):
45698         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
45699         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
45700         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
45701         (re_string_char_size_at, re_string_wchar_at):
45702         (re_string_elem_size_at):
45703         Use the new types and macros to port to 64-bit hosts.
45704         Use unsigned types for internal values, so that the code
45705         mostly works even for arrays larger than SSIZE_MAX.
45706         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
45707         (search_duplicated_node, calc_eclosure_iter, fetch_number):
45708         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
45709         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
45710         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
45711         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
45712         (calc_inveclosure, parse_dup_op, build_range_exp):
45713         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
45714         (fetch_number, create_token_tree, mark_opt_subexp):
45715         Likewise.
45716         * lib/regex_internal.c (re_string_construct_common,
45717         create_ci_newstate):
45718         (create_cd_newstate, re_string_allocate, re_string_construct):
45719         (re_string_realloc_buffers, build_wcs_upper_buffer):
45720         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
45721         (re_string_reconstruct, re_string_peek_byte_case):
45722         (re_string_fetch_byte_case, re_string_context_at):
45723         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
45724         (re_node_set_init_copy, re_node_set_add_intersect):
45725         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
45726         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
45727         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
45728         (re_acquire_state, re_acquire_state_context, register_state):
45729         Likewise.
45730         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
45731         search_cur_bkref_entry):
45732         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
45733         (re_search_internal, re_search_2_stub, re_search_stub)
45734         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
45735         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
45736         (update_cur_sifted_state, check_dst_limits):
45737         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
45738         (check_subexp_limits, sift_states_bkref, merge_state_array):
45739         (check_subexp_matching_top, get_subexp, get_subexp_sub):
45740         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
45741         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
45742         (expand_bkref_cache, check_node_accept_bytes):
45743         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
45744         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
45745         (acquire_init_state_context, check_halt_node_context):
45746         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
45747         (sift_states_backward, clean_state_log_if_needed):
45748         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
45749         (find_recover_state, transit_state_sb, transit_state_mb):
45750         (transit_state_bkref, build_trtable, match_ctx_clean):
45751         Likewise.
45752         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
45753         to work around an assumption that REG_MISSING is negative.
45754
45755         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
45756         (seek_collating_symbol_entry) [defined _LIBC]:
45757         (lookup_collation_sequence_value) [defined _LIBC]:
45758         (build_range_exp, build_collating_symbol) [defined _LIBC]:
45759         Use prototypes rather than old-style function definitions.
45760         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
45761         (transit_state_sb) [0]:
45762         (find_collation_sequence_value) [defined _LIBC]: Likewise.
45763
45764         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
45765         rm_eo.
45766
45767         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
45768         (optimize_subexps, lower_subexp):
45769         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
45770         since the signed shift might overflow.  Use 1u<<31 instead.
45771         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
45772         Likewise.
45773         * lib/regexec.c (check_dst_limits_calc_pos_1,
45774         check_subexp_matching_top): Likewise.
45775
45776         * lib/regcomp.c (optimize_subexps, lower_subexp):
45777         Use CHAR_BIT rather than 8, for clarity.
45778         * lib/regexec.c (check_dst_limits_calc_pos_1):
45779         (check_subexp_matching_top): Likewise.
45780         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
45781         have to worry about portability issues when shifting it left.
45782         Remove no-longer-needed test for table_size > 0.
45783         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
45784         in a word, as the resulting behavior is undefined.
45785         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
45786         in one case, a <= should have been an <, and in another case the
45787         whole test was missing.
45788         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
45789         the standard name CHAR_BIT.
45790         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
45791         this is not true on one's complement and signed-magnitude hosts.
45792
45793         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
45794         next_last_offset.
45795         (struct re_dfa_t): Remove unused member states_alloc.
45796         * lib/regcomp.c (init_dfa): Don't initialize unused members.
45797
45798 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
45799
45800         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
45801         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
45802         and large-file glibc and in 32-bit large-file Solaris.
45803
45804 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
45805
45806         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
45807         lengths fit in regoff_t; this isn't true if regoff_t is the same
45808         width as size_t.
45809         * lib/regex.c (re_search_internal): 5th arg is LAST_START
45810         (= START + RANGE) instead of RANGE.  This avoids overflow
45811         problems when regoff_t is the same width as size_t.
45812         All callers changed.
45813         (re_search_2_stub): Check for overflow when adding the
45814         sizes of the two strings.
45815         (re_search_stub): Check for overflow when adding START
45816         to RANGE; if it occurs, substitute the extreme value.
45817
45818 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
45819
45820         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
45821
45822 2005-08-31  Jim Meyering  <jim@meyering.net>
45823
45824         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
45825         a pointer-to-const.
45826         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
45827         (register_state): Likewise.
45828         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
45829         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
45830         (group_nodes_into_DFAstates): Likewise.
45831
45832 2005-08-31  Jim Meyering  <jim@meyering.net>
45833
45834         * check-module: Add a FIXME comment.
45835
45836 2005-08-31  Eric Blake  <ebb9@byu.net>
45837
45838         * modules/unistd-safer (Files): Add unistd--.h.
45839         * modules/stdio-safer (Files): Add stdio--.h.
45840
45841 2005-08-31  Derek Price  <derek@ximbiot.com>
45842
45843         * lib/getdelim.c (getdelim): Return EOF on EOF.
45844         Reported by Larry Jones <lawrence.jones@ugs.com>.
45845
45846 2005-08-31  Bruno Haible  <bruno@clisp.org>
45847
45848         Avoid unnecessary diffs in the generated lib/Makefile.am.
45849         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
45850         the generated files.
45851         (func_import): Don't set cmd.
45852
45853 2005-08-31  Bruno Haible  <bruno@clisp.org>
45854
45855         * lib/strstr.c: Include <stddef.h>, for NULL.
45856         * lib/strcasestr.c: Likewise.
45857         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
45858
45859 2005-08-31  Bruno Haible  <bruno@clisp.org>
45860
45861         * gnulib-tool: New option --macro-prefix.
45862         (func_import): Use macro_prefix.
45863         (import): Handle option --macro-prefix.
45864
45865 2005-08-31  Bruno Haible  <bruno@clisp.org>
45866
45867         * gnulib-tool (import): Rename most ac_* variables to cached_*.
45868         Also use new variables cached_lgpl, cached_libtool.
45869
45870 2005-08-31  Bruno Haible  <bruno@clisp.org>
45871
45872         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
45873         always instantiating them.
45874
45875 2005-08-31  Bruno Haible  <bruno@clisp.org>
45876
45877         * gnulib-tool (func_import): Read the previous cached settings
45878         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
45879         earlier added by gnulib but are now dropped. Warn when a gnulib file
45880         overwrites a non-gnulib file.
45881
45882 2005-08-31  Bruno Haible  <bruno@clisp.org>
45883
45884         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
45885         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
45886         projects that don't keep autogenerated files in CVS. Put into
45887         actioncmd only the specified modules, not the transitive closure.
45888
45889 2005-08-31  Bruno Haible  <bruno@clisp.org>
45890
45891         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
45892         Create directories that shall be filled.
45893         (import): Don't look for gl_* macros in configure.ac. Recurse across
45894         all directories containing a gnulib-cache.m4 files, if meaningful.
45895
45896 2005-08-31  Bruno Haible  <bruno@clisp.org>
45897
45898         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
45899         (import): Set seen_libtool when we see gl_LIBTOOL.
45900
45901 2005-08-31  Bruno Haible  <bruno@clisp.org>
45902
45903         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
45904         declaration macro definitions from generated gnulib.m4.
45905
45906 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
45907
45908         * lib/iconvme.h: Add prototype for iconv_alloc.
45909
45910 2005-08-29  Simon Josefsson  <jas@extundo.com>
45911
45912         * lib/iconvme.c: Fix errno.
45913
45914 2005-08-29  Bruno Haible  <bruno@clisp.org>
45915
45916         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
45917         that it works when the directory contains spaces.
45918
45919 2005-08-29  Bruno Haible  <bruno@clisp.org>
45920
45921         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
45922
45923 2005-08-29  Bruno Haible  <bruno@clisp.org>
45924
45925         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
45926         Emit more advice.
45927
45928 2005-08-29  Bruno Haible  <bruno@clisp.org>
45929         and Stepan Kasal  <kasal@ucw.cz>
45930
45931         * check-module: If more parameters are given, check each of them
45932         separately; add more exceptions, as noted by Jim Meyering.
45933         (check_module): New procedure.
45934         (%exempt_header): Now contains all exceptions.
45935
45936 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
45937
45938         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
45939
45940 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
45941
45942         * lib/iconvme.c: Split iconv_string into iconv_alloc.
45943
45944 2005-08-28  Bruno Haible  <bruno@clisp.org>
45945
45946         * m4/gnulib-tool.m4: New file.
45947
45948 2005-08-27  Jim Meyering  <jim@meyering.net>
45949
45950         * modules/unistd-safer (Files): Add pipe-safer.c.
45951         * modules/fcntl-safer (Files): Add creat-safer.c.
45952
45953 2005-08-27  Jim Meyering  <jim@meyering.net>
45954
45955         * m4/stdlib-safer.m4: New file.  From coreutils.
45956         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
45957         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
45958         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
45959         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
45960         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
45961
45962 2005-08-27  Jim Meyering  <jim@meyering.net>
45963
45964         * lib/fopen-safer.c: Merge minor changes from coreutils.
45965         * lib/dup-safer.c: Likewise.
45966         * lib/fd-safer.c: Likewise.
45967
45968         Merge from coreutils.
45969         * lib/stdio--.h: New file.
45970         * lib/stdlib--.h: New file.
45971         * lib/mkstemp-safer.c: New file.
45972
45973         GNU tar needs these.
45974         * lib/pipe-safer.c: New file.
45975         * lib/creat-safer.c: New file.
45976         * lib/fcntl--.h (creat): Define to creat_safer.
45977         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
45978         * lib/unistd--.h (pipe): Define to pipe_safer.
45979         * lib/unistd-safer.h: Declare pipe_safer.
45980
45981 2005-08-26  Simon Josefsson  <jas@extundo.com>
45982
45983         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
45984         Haible <bruno@clisp.org>.
45985
45986 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
45987
45988         * lib/regex_internal.h: Remove all references to
45989         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
45990         or better.
45991         (bitset_not, bitset_merge, bitset_not_merge):
45992         (bitset_mask, re_string_allocate, re_string_construct):
45993         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
45994         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
45995         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
45996         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
45997         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
45998         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
45999         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
46000         (re_acquire_state_context):
46001         Remove unnecessary forward decls.
46002         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
46003         Put __attribute at function definition,
46004         now that the function decl has been removed.
46005         * lib/regex_internal.c (re_string_peek_byte_case):
46006         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
46007         Likewise.
46008
46009 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
46010
46011         * m4/regex.m4: Add AC_PREREQ(2.50).
46012         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
46013
46014 2005-08-25  Simon Josefsson  <jas@extundo.com>
46015
46016         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
46017         __fsetlocking.
46018
46019 2005-08-25  Simon Josefsson  <jas@extundo.com>
46020
46021         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
46022         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
46023         GLIBC specific code.
46024
46025 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
46026
46027         Make regex safe for g++.  This fixes one real bug (an "err"
46028         that should have been "*err").  g++ problem reported by
46029         Sam Steingold.
46030         * lib/regex_internal.h (re_calloc): New macro, consistent with
46031         re_malloc etc.  All callers of calloc changed to use re_calloc.
46032         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
46033         not int.  All callers changed.
46034         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
46035         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
46036         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
46037         (find_recover_state): Change "err" to "*err"; this fixes what
46038         appears to be a real bug.
46039         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
46040         versus int.
46041
46042 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
46043
46044         * modules/regex (Depends-on): Add malloc, since the code
46045         assumes that !malloc(0) means failure.
46046
46047 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
46048
46049         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
46050
46051         alloca modernization/simplification for regex.
46052         * lib/regex.c: Remove portability cruft for alloca.  This no longer
46053         needs to be at the start of the file, and can be moved into
46054         regex_internal.h and simplified.
46055         * lib/regex_internal.h: Include <alloca.h>.
46056         (__libc_use_alloca) [!defined _LIBC]: New macro.
46057         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
46058         now works outside glibc.
46059
46060 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
46061
46062         * config/srclist.txt: Add glibc bugs 1241, 1245.
46063
46064 2005-08-25  Jim Meyering  <jim@meyering.net>
46065
46066         * lib/open-safer.c: Include <config.h>.
46067         Otherwise, we'd lose LARGEFILE support in any file using
46068         e.g. "fcntl--.h"
46069
46070 2005-08-25  Bruno Haible  <bruno@clisp.org>
46071
46072         * m4/minmax.m4: Require autoconf 2.52.
46073         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
46074         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
46075         alternatives of translit over the alphabet.
46076         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
46077
46078 2005-08-24  Simon Josefsson  <jas@extundo.com>
46079
46080         * tests/test-getpass.c: New file.
46081
46082 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
46083
46084         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
46085         for GNU regex features.
46086
46087 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
46088
46089         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
46090         * lib/regex.h (regerror): Likewise.
46091
46092         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
46093         requires this.  (The code never needed it.)
46094
46095         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
46096         All uses of recently-renamed identifiers changed to use the new,
46097         POSIX-compliant names.  The code will build and run just fine
46098         without these changes, but it's better to eat our own dog food
46099         and use the standard-conforming names.
46100
46101         * lib/regex.h: Fix a multitude of POSIX name space violations.
46102         These changes have an effect only for programs that define
46103         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
46104         do not change anything for programs compiled in the normal way.
46105         Also, there is no effect on the ABI.
46106
46107         (_REGEX_SOURCE): New macro.
46108         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
46109         defined and _GNU_SOURCE is not; this fixes a name space violation.
46110
46111         Rename the following macros to obey POSIX requirements.
46112         The old names are still visible as macros if _REGEX_SOURCE is defined.
46113         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
46114         RE_BACKSLASH_ESCAPE_IN_LISTS.
46115         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
46116         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
46117         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
46118         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
46119         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
46120         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
46121         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
46122         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
46123         (REG_INTERVALS): renamed from RE_INTERVALS.
46124         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
46125         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
46126         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
46127         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
46128         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
46129         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
46130         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
46131         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
46132         RE_UNMATCHED_RIGHT_PAREN_ORD.
46133         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
46134         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
46135         (REG_DEBUG): renamed from RE_DEBUG.
46136         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
46137         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
46138         unusual, since we can't clash with the POSIX REG_ICASE.
46139         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
46140         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
46141         (REG_NO_SUB): renamed from RE_NO_SUB.
46142         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
46143         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
46144         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
46145         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
46146         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
46147         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
46148         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
46149         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
46150         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
46151         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
46152         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
46153         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
46154         RE_SYNTAX_POSIX_MINIMAL_BASIC.
46155         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
46156         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
46157         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
46158         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
46159         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
46160         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
46161         (REG_FIXED): Renamed from REGS_FIXED.
46162         (REG_NREGS): Renamed from RE_NREGS.
46163
46164         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
46165         of other REG_* macros, since POSIX says the user is allowed to
46166         #undef these macros selectively.
46167
46168         (reg_errcode_t): Update comment stating what other tables need
46169         to be consistent.
46170
46171         Rename the following enum values to obey POSIX requirements.
46172         The old names are still visible as macros.
46173         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
46174         is not defined, since GNU is supposed to be a superset of POSIX as
46175         much as possible, and since we want reg_errcode_t to be a signed
46176         type for implementation consistency.
46177         (_REG_NOERROR): Renamed from REG_NOERROR.
46178         (_REG_NOMATCH): Renamed from REG_NOMATCH.
46179         (_REG_BADPAT): Renamed from REG_BADPAT.
46180         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
46181         (_REG_ECTYPE): Renamed from REG_ECTYPE.
46182         (_REG_EESCAPE): Renamed from REG_EESCAPE.
46183         (_REG_ESUBREG): Renamed from REG_ESUBREG.
46184         (_REG_EBRACK): Renamed from REG_EBRACK.
46185         (_REG_EPAREN): Renamed from REG_EPAREN.
46186         (_REG_EBRACE): Renamed from REG_EBRACE.
46187         (_REG_BADBR): Renamed from REG_BADBR.
46188         (_REG_ERANGE): Renamed from REG_ERANGE.
46189         (_REG_ESPACE): Renamed from REG_ESPACE.
46190         (_REG_BADRPT): Renamed from REG_BADRPT.
46191         (_REG_EEND): Renamed from REG_EEND.
46192         (_REG_ESIZE): Renamed from REG_ESIZE.
46193         (_REG_ERPAREN): Renamed from REG_ERPAREN.
46194         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
46195         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
46196         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
46197         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
46198
46199         (_REG_RE_NAME, _REG_RM_NAME): New macros.
46200         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
46201         changed.  But support the old name if the new one is not defined
46202         and if _REGEX_SOURCE.
46203
46204         Change the following member names in struct re_pattern_buffer.
46205         The old names are still supported if !_REGEX_SOURCE.
46206         The new names are always supported, regardless of _REGEX_SOURCE.
46207         (re_buffer): Renamed from buffer.
46208         (re_allocated): Renamed from allocated.
46209         (re_used): Renamed from used.
46210         (re_syntax): Renamed from syntax.
46211         (re_fastmap): Renamed from fastmap.
46212         (re_translate): Renamed from translate.
46213         (re_can_be_null): Renamed from can_be_null.
46214         (re_regs_allocated): Renamed from regs_allocated.
46215         (re_fastmap_accurate): Renamed from fastmap_accurate.
46216         (re_no_sub): Renamed from no_sub.
46217         (re_not_bol): Renamed from not_bol.
46218         (re_not_eol): Renamed from not_eol.
46219         (re_newline_anchor): Renamed from newline_anchor.
46220
46221         Change the following member names in struct re_registers.
46222         The old names are still supported if !_REGEX_SOURCE.
46223         The new names are always supported, regardless of _REGEX_SOURCE.
46224         (rm_num_regs): Renamed from num_regs.
46225         (rm_start): Renamed from start.
46226         (rm_end): Renamed from end.
46227
46228         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
46229         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
46230         Prepend __ to parameter names.
46231
46232         Undo yesterday's changes.
46233
46234 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
46235
46236         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
46237         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
46238         lib/regex.c.
46239
46240 2005-08-24  Jim Meyering  <jim@meyering.net>
46241
46242         Sync from coreutils.
46243         * m4/fcntl-safer.m4: New file.
46244
46245         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
46246         and object files for this module.
46247
46248 2005-08-24  Jim Meyering  <jim@meyering.net>
46249
46250         Sync from coreutils.
46251         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
46252
46253 2005-08-24  Jim Meyering  <jim@meyering.net>
46254
46255         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
46256         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
46257
46258 2005-08-24  Jim Meyering  <jim@meyering.net>
46259
46260         * modules/fcntl-safer: New module.
46261         * modules/fts (Depends-on): Add fcntl-safer.
46262         * MODULES.html.sh (File descriptor based Input/Output):
46263         Add fcntl-safer.
46264
46265 2005-08-24  Bruno Haible  <bruno@clisp.org>
46266
46267         Support for unit test modules.
46268         * modules/README: Mention tests modules.
46269         * modules/TEMPLATE-TESTS: New file.
46270         * gnulib-tool: New options --extract-tests-module, --with-tests and
46271         --tests-base (unused for the moment).
46272         (testsbase, inctests): New variables.
46273         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
46274         (func_verify_module): Exclude TEMPLATE-TESTS.
46275         (func_verify_nontests_module, func_verify_tests_module): New functions.
46276         (func_get_dependencies): Add implicit dependency for tests modules.
46277         (func_get_tests_module): New function.
46278         (func_modules_transitive_closure): When --with-tests was specified,
46279         include the unit tests as well, unless explicitly avoided.
46280         (func_emit_lib_Makefile_am): Ignore the tests modules here.
46281         (func_emit_tests_Makefile_am): New function.
46282         (func_create_testdir): When --with-tests was specified, emit a
46283         tests/ directory.
46284         * MODULES.html.sh (Future developments): Update.
46285
46286 2005-08-24  Bruno Haible  <bruno@clisp.org>
46287
46288         * modules/tls-tests: New file.
46289         * tests/test-tls.c: New file, from GNU gettext.
46290
46291 2005-08-24  Bruno Haible  <bruno@clisp.org>
46292
46293         * modules/lock-tests: New file.
46294         * tests/test-lock.c: New file, from GNU gettext.
46295
46296 2005-08-24  Bruno Haible  <bruno@clisp.org>
46297
46298         * lib/lock.h: Add multiple inclusion guard.
46299         * lib/tls.h: Add multiple inclusion guard.
46300
46301 2005-08-24  Bruno Haible  <bruno@clisp.org>
46302
46303         * gnulib-tool: Add support for the --aux-dir option to
46304         --create-testdir, --create-megatestdir, --test, --megatest.
46305         (func_create_testdir, func_create_megatestdir): Optionally emit a
46306         AC_CONFIG_AUX_DIR directive.
46307         (create-testdir, create-megatestdir, test, megatest): Provide a
46308         default value for $auxdir.
46309
46310 2005-08-24  Bruno Haible  <bruno@clisp.org>
46311
46312         * gnulib-tool (import): Use compound statement instead of subshell
46313         where possible.
46314
46315 2005-08-24  Bruno Haible  <bruno@clisp.org>
46316
46317         * gnulib-tool (import): Change --aux-dir default to "build-aux".
46318
46319 2005-08-24  Bruno Haible  <bruno@clisp.org>
46320
46321         * gnulib-tool (func_version): Update.
46322
46323 2005-08-24  Bruno Haible  <bruno@clisp.org>
46324
46325         * gnulib-tool (func_import, func_create_testdir,
46326         func_create_megatestdir): Quote all autoconf macro arguments.
46327
46328 2005-08-24  Bruno Haible  <bruno@clisp.org>
46329
46330         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
46331         option --force, because --force causes the aclocal.m4 of each
46332         subdirectory to be newer than the corresponding config.h.in.
46333
46334 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
46335
46336         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
46337         All contents moved to gl_REGEX.
46338         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
46339         assume that it does.
46340
46341 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
46342
46343         * lib/regex.h (REG_NOSYS)
46344         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
46345         Define, since POSIX requires it as of 2001.
46346         (_REG_ENOSYS)
46347         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
46348         New private symbol, used to keep the enum signed in all cases.
46349         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
46350         Youngman in
46351         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
46352
46353         * lib/regex_internal.c (re_string_skip_chars, register_state):
46354         (calc_state_hash):
46355         Remove forward decls; no longer needed now that we use prototypes.
46356         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
46357         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
46358         (clean_state_log_if_needed): Likewise.
46359
46360 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
46361
46362         * config/srclist.txt: Add glibc bugs 1231-1233.
46363
46364 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
46365
46366         Fix problems reported by Sam Steingold in
46367         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
46368         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
46369         assumed that reg_errcode_t is a signed type, which is not
46370         necessarily true if _XOPEN_SOURCE is not defined.
46371         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
46372         since some compilers warn about it otherwise.
46373
46374 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
46375
46376         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
46377         (init_word_char, create_initial_state, duplicate_node_closure):
46378         (fetch_token, peek_token_bracket, build_range_exp):
46379         (build_collating_symbol): Remove forward decls; no longer needed
46380         now that we use prototypes.
46381
46382         * lib/regcomp.c:
46383         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
46384         (re_compile_fastmap_iter, regcomp, regerror, regfree):
46385         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
46386         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
46387         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
46388         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
46389         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
46390         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
46391         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
46392         (build_range_exp, build_collating_symbol, parse_bracket_exp):
46393         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
46394         (build_charclass, build_charclass_op, fetch_number, create_tree):
46395         (create_token_tree, mark_opt_subexp, duplicate_tree):
46396         Use prototypes rather than old-style definitions.
46397
46398         * lib/regex_internal.c:
46399         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
46400         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
46401         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
46402         (re_string_reconstruct, re_string_peek_byte_case):
46403         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
46404         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
46405         (re_node_set_init_copy, re_node_set_add_intersect):
46406         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
46407         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
46408         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
46409         (re_acquire_state, re_acquire_state_context, register_state):
46410         (create_ci_newstate, create_cd_newstate, free_state):
46411         Likewise.
46412         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
46413         re_search_2):
46414         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
46415         (re_search_internal, prune_impossible_nodes):
46416         (acquire_init_state_context, check_matching, static):
46417         (check_halt_node_context, check_halt_state_context, proceed_next_node):
46418         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
46419         (update_regs, sift_states_backward, build_sifted_states):
46420         (clean_state_log_if_needed, merge_state_array):
46421         (update_cur_sifted_state, add_epsilon_src_nodes):
46422         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
46423         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
46424         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
46425         (find_recover_state, check_subexp_matching_top, transit_state_mb):
46426         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
46427         (check_arrival, check_arrival_add_next_nodes):
46428         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
46429         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
46430         (check_node_accept_bytes, check_node_accept, extend_buffers):
46431         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
46432         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
46433         (sift_ctx_init):
46434         Likewise.
46435
46436         * lib/regex_internal.h:
46437         (re_string_allocate, re_string_construct, re_string_reconstruct):
46438         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
46439         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
46440         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
46441         (re_string_context_at, re_string_peek_byte_case):
46442         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
46443         is defined, since we now use prototypes always.
46444
46445         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
46446         C89 or better.  All uses removed.
46447
46448 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
46449
46450         * config/srclist.txt: Add glibc bugs 1220-1227.
46451
46452 2005-08-20  Jim Meyering  <jim@meyering.net>
46453
46454         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
46455         of unused local, dfa.
46456
46457 2005-08-20  Bruno Haible  <bruno@clisp.org>
46458
46459         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
46460
46461 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
46462
46463         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
46464         (re_node_set_insert_last, re_dfa_add_node):
46465         Rename local variables to avoid GCC shadowing warnings.
46466
46467 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
46468
46469         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
46470         [defined lint]: Suppress bogus uninitialized-variable warnings.
46471
46472         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
46473         and let the caller return REG_ESPACE if out of space.  This
46474         removes an uninitialied-variable warning with GCC 4.0.1, and also
46475         avoids taking the address of a local variable.  All callers
46476         changed.
46477
46478 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
46479
46480         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
46481         $LIBCSRC/posix/regexec.c.
46482         Add glibc bug 1217 for regcomp.c.
46483
46484 2005-08-19  Jim Meyering  <jim@meyering.net>
46485
46486         * lib/regexec.c (proceed_next_node): Redo local variables to
46487         avoid GCC shadowing warnings.
46488
46489 2005-08-18  Bruno Haible  <bruno@clisp.org>
46490
46491         * lib/strstr.c (strstr): Fix return value in multibyte case.
46492         * lib/strcasestr.c (strcasestr): Likewise.
46493
46494 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
46495
46496         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
46497
46498 2005-08-17  Jim Meyering  <jim@meyering.net>
46499
46500         Make the %s format (seconds since the epoch) work for a negative
46501         number and when used with a zero-padded field width, e.g. %015s.
46502
46503         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
46504         label so that it precedes the code to set `digits'.  Otherwise,
46505         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
46506         print `00-22'.  Now, it prints `-0022', as it should.
46507
46508 2005-08-17  Bruno Haible  <bruno@clisp.org>
46509
46510         * modules/strstr (Files): Add m4/mbrtowc.m4.
46511         (Depends-on): Add mbuiter.
46512
46513 2005-08-17  Bruno Haible  <bruno@clisp.org>
46514
46515         * modules/strcasestr: New file.
46516         * MODULES.html.sh (String handling, based on ANSI C 89): Add
46517         strcasestr.
46518
46519 2005-08-17  Bruno Haible  <bruno@clisp.org>
46520
46521         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
46522
46523 2005-08-17  Bruno Haible  <bruno@clisp.org>
46524
46525         * modules/mbuiter: New file.
46526         * MODULES.html.sh (Extended multibyte and wide character utilities):
46527         Add mbuiter.
46528
46529 2005-08-17  Bruno Haible  <bruno@clisp.org>
46530
46531         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
46532         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
46533
46534 2005-08-17  Bruno Haible  <bruno@clisp.org>
46535
46536         * m4/strcasestr.m4: New file.
46537
46538 2005-08-17  Bruno Haible  <bruno@clisp.org>
46539
46540         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
46541         * lib/strstr.c: Completely rewritten, with multibyte locale support.
46542
46543 2005-08-17  Bruno Haible  <bruno@clisp.org>
46544
46545         * lib/strcasestr.h: New file.
46546         * lib/strcasestr.c: New file.
46547
46548 2005-08-17  Bruno Haible  <bruno@clisp.org>
46549
46550         * lib/strcasecmp.c: Use mbuiter.h.
46551
46552 2005-08-17  Bruno Haible  <bruno@clisp.org>
46553
46554         * lib/mbuiter.h: New file.
46555
46556 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
46557
46558         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
46559         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
46560         and gl_GETOPT are both invoked via different paths (as happens
46561         with GNU tar CVS because it uses both argp and getopt), the former
46562         wins.
46563
46564 2005-08-16  Bruno Haible  <bruno@clisp.org>
46565
46566         * modules/tls: New file.
46567         * MODULES.html.sh (Multithreading): Add tls.
46568
46569 2005-08-16  Bruno Haible  <bruno@clisp.org>
46570
46571         * modules/strnlen1: New file.
46572         * MODULES.html.sh (String handling): Add strnlen1.
46573
46574 2005-08-16  Bruno Haible  <bruno@clisp.org>
46575
46576         * modules/strcase (Files): Add m4/mbrtowc.m4.
46577         (Depends-on): Add strnlen1, mbchar.
46578
46579 2005-08-16  Bruno Haible  <bruno@clisp.org>
46580
46581         * modules/mbiter: New file.
46582         * MODULES.html.sh (Extended multibyte and wide character utilities):
46583         Add mbiter.
46584
46585 2005-08-16  Bruno Haible  <bruno@clisp.org>
46586
46587         * modules/mbfile: New file.
46588         * MODULES.html.sh (Extended multibyte and wide character utilities):
46589         Add mbfile.
46590
46591 2005-08-16  Bruno Haible  <bruno@clisp.org>
46592
46593         * modules/mbchar: New file.
46594         * MODULES.html.sh (Extended multibyte and wide character utilities):
46595         New section.
46596
46597 2005-08-16  Bruno Haible  <bruno@clisp.org>
46598
46599         * m4/tls.m4: New file, from GNU gettext.
46600
46601 2005-08-16  Bruno Haible  <bruno@clisp.org>
46602
46603         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
46604         always.
46605         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
46606
46607 2005-08-16  Bruno Haible  <bruno@clisp.org>
46608
46609         * m4/mbiter.m4: New file.
46610
46611 2005-08-16  Bruno Haible  <bruno@clisp.org>
46612
46613         * m4/mbfile.m4: New file.
46614
46615 2005-08-16  Bruno Haible  <bruno@clisp.org>
46616
46617         * m4/mbchar.m4: New file.
46618
46619 2005-08-16  Bruno Haible  <bruno@clisp.org>
46620
46621         * lib/tls.h: New file, from GNU gettext.
46622         * lib/tls.c: New file, from GNU gettext.
46623
46624 2005-08-16  Bruno Haible  <bruno@clisp.org>
46625
46626         * lib/strnlen1.h: New file.
46627         * lib/strnlen1.c: New file.
46628
46629 2005-08-16  Bruno Haible  <bruno@clisp.org>
46630
46631         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
46632         (mbi_init): Update.
46633         (mbi_avail, mbi_advance): Let the iteration end before the terminating
46634         NUL byte, not after it.
46635
46636 2005-08-16  Bruno Haible  <bruno@clisp.org>
46637
46638         * lib/strcase.h (strcasecmp): Add note in comments.
46639         * lib/strncasecmp.c: Use code from strcasecmp.c.
46640         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
46641         (strcasecmp): Work correctly in multibyte locales.
46642
46643 2005-08-16  Bruno Haible  <bruno@clisp.org>
46644
46645         * lib/mbiter.h: New file.
46646
46647 2005-08-16  Bruno Haible  <bruno@clisp.org>
46648
46649         * lib/mbfile.h: New file.
46650
46651 2005-08-16  Bruno Haible  <bruno@clisp.org>
46652
46653         * lib/mbchar.h: New file.
46654         * lib/mbchar.c: New file.
46655
46656 2005-08-16  Bruno Haible  <bruno@clisp.org>
46657
46658         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
46659         the valid ones. Makes the comparison operations transitive:
46660         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
46661         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
46662
46663 2005-08-15  Simon Josefsson  <jas@extundo.com>
46664
46665         * modules/ssize_t (License): Change to 'unlimited'.
46666
46667         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
46668
46669 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
46670
46671         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
46672         Add comments for each pending glibc patch.
46673
46674 2005-08-15  Bruno Haible  <bruno@clisp.org>
46675
46676         * lib/regex.h (__restrict_arr): Don't define to __restrict if
46677         __cplusplus is defined.
46678
46679 2005-08-14  Jim Meyering  <jim@meyering.net>
46680
46681         Sync from coreutils.
46682
46683         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
46684         Use the hash-table-based cycle-detection code not just when
46685         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
46686         Reported by James Youngman in
46687         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
46688         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
46689         FTS_TIGHT_CYCLE_CHECK.
46690         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
46691         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
46692         once again.
46693         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
46694         * lib/fts.c (fd_safer): Remove decl.
46695         Include fcntl--.h rather than unistd-safer.h
46696         (fts_safe_changedir): Don't call fd_safer; no longer needed
46697         now that we include fcntl--.h.
46698
46699 2005-08-12  Simon Josefsson  <jas@extundo.com>
46700
46701         * modules/getndelim2: Use ssize_t module.
46702         * modules/getnline: Likewise.
46703         * modules/safe-read: Likewise.
46704         * modules/xreadlink: Likewise.
46705
46706         * modules/ssize_t: New file.
46707
46708 2005-08-12  Simon Josefsson  <jas@extundo.com>
46709
46710         * m4/readline.m4: Look for termcap, curses or ncurses if required.
46711
46712 2005-08-12  Simon Josefsson  <jas@extundo.com>
46713
46714         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
46715         ssize_t.
46716
46717 2005-08-12  Simon Josefsson  <jas@extundo.com>
46718
46719         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
46720         readline, getdelim and check_version.
46721         (Support for systems lacking ISO C 99: Sizes of integer types):
46722         Add size_max.
46723
46724 2005-08-12  Bruno Haible  <bruno@clisp.org>
46725
46726         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
46727
46728 2005-08-11  Simon Josefsson  <jas@extundo.com>
46729
46730         * modules/readline: New file.
46731
46732         * modules/strnlen (Files): Add strnlen.h.
46733
46734 2005-08-11  Simon Josefsson  <jas@extundo.com>
46735
46736         * m4/readline.m4: New file.
46737
46738 2005-08-11  Simon Josefsson  <jas@extundo.com>
46739
46740         * lib/readline.h, readline.c: New file.
46741
46742 2005-08-11  Simon Josefsson  <jas@extundo.com>
46743
46744         * doc/gnulib.texi (Initial import, Finishing touches): Mention
46745         gl_AVOID.
46746
46747 2005-08-11  Bruno Haible  <bruno@clisp.org>
46748
46749         * lib/strnlen.h (strnlen): Change parameter name to match comment.
46750
46751 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
46752
46753         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
46754
46755 2005-08-10  Simon Josefsson  <jas@extundo.com>
46756
46757         * tests/test-iconvme.c: New file.
46758
46759 2005-08-10  Simon Josefsson  <jas@extundo.com>
46760
46761         * m4/strnlen.m4: New file.
46762
46763         * m4/strndup.m4: Don't check for strnlen declaration, done in
46764         strnlen.m4.
46765
46766 2005-08-10  Simon Josefsson  <jas@extundo.com>
46767
46768         * lib/strndup.c: Use strnlen.h.
46769
46770         * lib/strnlen.h: New file.
46771
46772 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
46773
46774         * README: Typos.
46775
46776 2005-08-02  Simon Josefsson  <jas@extundo.com>
46777
46778         * modules/readline: New file.
46779
46780 2005-08-02  Simon Josefsson  <jas@extundo.com>
46781
46782         * modules/getdelim: New file.
46783
46784         * modules/getline: Rewrite, don't use getndelim2.
46785
46786 2005-08-02  Simon Josefsson  <jas@extundo.com>
46787
46788         * m4/getline.m4: Separate out getdelim stuff into separate module.
46789
46790         * m4/getdelim.m4: New file.
46791
46792 2005-08-02  Simon Josefsson  <jas@extundo.com>
46793
46794         * lib/getline.h, getline.c: Rewrite.
46795
46796         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
46797
46798 2005-07-31  Bruno Haible  <bruno@clisp.org>
46799
46800         * lib/lock.h (gl_lock_initializer): New macro.
46801         (gl_lock_define_initialized): Use it.
46802         (gl_rwlock_initializer): New macro.
46803         (gl_rwlock_define_initialized): Use it.
46804         (gl_recursive_lock_initializer): New macro.
46805         (gl_recursive_lock_define_initialized): Use it.
46806
46807 2005-07-30  Karl Berry  <karl@gnu.org>
46808
46809         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
46810         Report from Ben Pfaff, regarding getopt.
46811
46812 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
46813
46814         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
46815         normal way.
46816         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
46817         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
46818         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
46819         (gl_GETOPT): Use the new macros.  Most of the implementation
46820         is moved to the new macros.  This is for programs like Emacs
46821         that don't want all the functionality of gl_GETOPT.
46822
46823 2005-07-26  Bruno Haible  <bruno@clisp.org>
46824
46825         * m4/lock.m4: Update from GNU gettext.
46826
46827 2005-07-26  Bruno Haible  <bruno@clisp.org>
46828
46829         * lib/lock.h: Update from GNU gettext.
46830         * lib/lock.c: Update from GNU gettext.
46831
46832 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
46833
46834         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
46835         obsolescent AC_TRY_RUN.  Include the default includes files, for
46836         'exit'.
46837
46838 2005-07-24  Bruno Haible  <bruno@clisp.org>
46839
46840         * modules/visibility: New file.
46841         * MODULES.html.sh (Misc): Add visibility.
46842
46843 2005-07-24  Bruno Haible  <bruno@clisp.org>
46844
46845         * m4/visibility.m4: New file.
46846
46847 2005-07-24  Bruno Haible  <bruno@clisp.org>
46848
46849         * doc/visibility.texi: New file.
46850
46851 2005-07-22  Bruno Haible  <bruno@clisp.org>
46852
46853         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
46854         $(ALLOCA_H), redundant through BUILT_SOURCES.
46855         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
46856         redundant through BUILT_SOURCES.
46857         * modules/byteswap (Makefile.am): Remove explicit dependency on
46858         $(BYTESWAP_H), redundant through BUILT_SOURCES.
46859         * modules/fnmatch (Makefile.am): Remove explicit dependency on
46860         $(FNMATCH_H), redundant through BUILT_SOURCES.
46861         * modules/getopt (Makefile.am): Remove explicit dependency on
46862         $(GETOPT_H), redundant through BUILT_SOURCES.
46863         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
46864         redundant through BUILT_SOURCES.
46865         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
46866         redundant through BUILT_SOURCES.
46867         * modules/stdbool (Makefile.am): Remove explicit dependency on
46868         $(STDBOOL_H), redundant through BUILT_SOURCES.
46869         * modules/stdint (Makefile.am): Remove explicit dependency on
46870         $(STDINT_H), redundant through BUILT_SOURCES.
46871         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
46872         Remove explicit dependency on $(SYSEXITS_H).
46873         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
46874
46875 2005-07-18  Simon Josefsson  <jas@extundo.com>
46876
46877         * lib/check-version.c (check_version): Accept identical versions too.
46878
46879 2005-07-18  Bruno Haible  <bruno@clisp.org>
46880
46881         * modules/lock: New file.
46882         * MODULES.html.sh (Multithreading): New section.
46883
46884 2005-07-18  Bruno Haible  <bruno@clisp.org>
46885
46886         * m4/lock.m4: New file, from GNU gettext.
46887
46888 2005-07-18  Bruno Haible  <bruno@clisp.org>
46889
46890         * lib/lock.h: New file, from GNU gettext.
46891         * lib/lock.c: New file, from GNU gettext.
46892
46893 2005-07-18  Bruno Haible  <bruno@clisp.org>
46894
46895         * lib/lock.h (gl_once_t): New type.
46896         (gl_once_define, gl_once): New macros.
46897         * lib/lock.c (fresh_once): New variable.
46898         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
46899         functions.
46900
46901 2005-07-16  Simon Josefsson  <jas@extundo.com>
46902
46903         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
46904         workaround, suggested by Bruno.
46905
46906 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
46907
46908         * modules/xalloc (Depends-on): Add xalloc-die.
46909         * modules/xvasprintf (Depends-on): Add xalloc-die.
46910
46911 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
46912
46913         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
46914         with a minor change.
46915
46916 2005-07-15  Bruno Haible  <bruno@clisp.org>
46917
46918         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
46919         When using lib/poll.c, define poll as rpl_poll.
46920
46921 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
46922
46923         * modules/argp (Depends-on): Remove unlocked-io.
46924
46925 2005-07-14  Derek Price  <derek@ximbiot.com>
46926
46927         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
46928         for glob symlink bug.
46929
46930 2005-07-14  Bruno Haible  <bruno@clisp.org>
46931
46932         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
46933         Instead, test for *_unlocked function declarations directly.
46934
46935 2005-07-11  Simon Josefsson  <jas@extundo.com>
46936
46937         * modules/size_max: New file.
46938
46939         * modules/xsize: Depend on size_max module for size_max.m4.
46940
46941 2005-07-11  Simon Josefsson  <jas@extundo.com>
46942
46943         * lib/size_max.h: New file.
46944
46945 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
46946
46947         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
46948         copyright symbol and the year.
46949         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
46950         (version_etc_va): Use parameterized copyright notice.
46951         Reword to conform to the current GNU coding standards.
46952
46953 2005-07-11  Karl Berry  <karl@gnu.org>
46954
46955         * doc/gnulib.texi (Quoting): new node.
46956         (Initial import): more info, from Patrice.
46957
46958 2005-07-11  Bruno Haible  <bruno@clisp.org>
46959
46960         * gnulib-tool (func_usage): Document option --avoid.
46961         (Command line options): Handle --avoid.
46962         (func_acceptable): New function.
46963         (func_modules_transitive_closure): Use it.
46964
46965 2005-07-11  Bruno Haible  <bruno@clisp.org>
46966
46967         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
46968         Reported by Jim Meyering.
46969
46970 2005-07-10  Bruno Haible  <bruno@clisp.org>
46971
46972         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
46973         Needed when size_t is smaller than 'unsigned int'.
46974         Reported by Paul Eggert.
46975
46976 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
46977
46978         * modules/argp (Depends-on): Add unlocked-io
46979
46980 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
46981
46982         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
46983         block of defines.
46984
46985 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
46986
46987         * config/srclist.txt: Comment out regcomp.c, since we have a porting
46988         fix now.
46989
46990 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
46991         and Paul Eggert  <eggert@cs.ucla.edu>
46992
46993         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
46994         in wint_t, not wchar_t.  Remove now-unnecessary cast.
46995
46996 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
46997
46998         * modules/regex (Files): Add lib/regex_internal.c,
46999         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
47000         (Depends-on): Add extensions.
47001         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
47002
47003 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
47004
47005         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
47006         pathconf.
47007         * m4/same.m4 (gl_SAME): Likewise.
47008         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
47009
47010         * m4/regex.m4: Adjust to new libc regex implementation.
47011         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
47012         all the .c and .h parts of (the new) regex.
47013         Quote the m4 stuff better.
47014         Check for RE_ICASE bug of old gnulib.
47015         Check for REG_STARTEND of recent libc.
47016         Rename local variables from jm_* to gl_*.
47017         Quote operand of "test -f".
47018         Say "recent enough" version of libc, not "version 2".
47019         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
47020         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
47021         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
47022         Remove check for btowc, isascii.
47023         Require AM_LANGINFO_CODESET.
47024
47025 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
47026
47027         * lib/regex.c, regex.h: Sync from libc.
47028         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
47029         * lib/regexec.c:
47030         New files, synced from libc, except that regex_internal.h
47031         currently has a small porting fix.
47032
47033 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
47034
47035         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
47036         regex_internal.c, regexec.c.
47037         Add regex_internal.h too, but as a comment, since the libc version
47038         is currently broken in gnulib mode.
47039
47040 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
47041
47042         Support programs like Emacs that use gnulib but not gettext.
47043         * MODULES.html.sh (Internationalization functions): Add gettext-h.
47044         * modules/gettext-h: New file.
47045         * modules/gettext (Files): Remove lib/gettext.h.
47046         (Depends-on): Add gettext-h.
47047         (Makefile.am): Remove lib_SOURCES.
47048         * modules/argmatch, modules/c-stack, modules/closeout:
47049         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
47050         * modules/execute, modules/file-type, modules/getaddrinfo:
47051         * modules/getopt, modules/human, modules/javacomp:
47052         * modules/javaexec, modules/mkdir-p, modules/obstack:
47053         * modules/openat, modules/pagealign_alloc, modules/pipe:
47054         * modules/quotearg, modules/regex, modules/rpmatch:
47055         * modules/unicodeio, modules/userspec, modules/version-etc:
47056         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
47057         * modules/xsetenv:
47058         Depend on gettext-h, not gettext.
47059
47060 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
47061
47062         * gnulib-tool (func_import): Add support for 'public domain' license.
47063         * modules/alloca, modules/atexit, modules/memmove:
47064         Now public domain, not GPL.
47065         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
47066         * modules/realloc, modules/strerror, modules/strtod:
47067         Now LGPL, not GPL.
47068
47069 2005-07-05  Bruno Haible  <bruno@clisp.org>
47070
47071         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
47072         autoconf CVS. Needed for mingw.
47073
47074 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
47075
47076         Remove the dependency of the strftime module on the tzset module.
47077         * modules/strftime (Depends-on): Remove dependency on tzset.
47078
47079 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
47080
47081         Remove the dependency of the strftime module on the tzset module.
47082         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
47083         gl_FUNC_TZSET_CLOBBER.
47084
47085 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
47086
47087         Remove the dependency of the strftime module on the tzset module.
47088         * lib/strftime.c (my_strftime)
47089         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
47090         Copy the input structure, to work around some of the bug with
47091         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
47092         Solaris releases, you should also use the tzset module, but we won't
47093         require it as a dependency any more since we don't want LGPLed code
47094         to depend on GPLed code.
47095
47096 2005-07-02  Jim Meyering  <jim@meyering.net>
47097
47098         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
47099         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
47100         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
47101         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
47102
47103 2005-07-02  Jim Meyering  <jim@meyering.net>
47104
47105         * lib/backupfile.c (backup_args): Change a `0' to NULL.
47106
47107 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
47108
47109         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
47110         declares only 'struct timespec;' (!).
47111
47112 2005-07-01  Jim Meyering  <jim@meyering.net>
47113
47114         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
47115         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
47116         * lib/save-cwd.c, tempname.c:
47117         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
47118         and don't include <sys/file.h>).
47119
47120 2005-06-29  Jim Meyering  <jim@meyering.net>
47121
47122         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
47123         type name.  Use the variable name instead.
47124         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
47125         Likewise.
47126
47127 2005-06-28  Simon Josefsson  <jas@extundo.com>
47128
47129         * modules/check-version (Files): Add check-version.m4.
47130
47131 2005-06-28  Simon Josefsson  <jas@extundo.com>
47132
47133         * m4/check-version.m4: New file, suggested by Jim Meyering
47134         <jim@meyering.net>.
47135
47136 2005-06-28  Simon Josefsson  <jas@extundo.com>
47137
47138         * lib/check-version.h, lib/check-version.c: New files.
47139
47140 2005-06-28  Simon Josefsson  <jas@extundo.com>
47141
47142         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
47143         collision with global variable.  Better indentation.  Don't
47144         increment buffer pointer beyond buffer end.  Based on comments
47145         from Paul Eggert <eggert@cs.ucla.edu>.
47146
47147         * lib/base64.h: Indent.
47148
47149 2005-06-28  Simon Josefsson  <jas@extundo.com>
47150
47151         * doc/gnulib.texi (Library version handling): New section.
47152
47153 2005-06-28  Jim Meyering  <jim@meyering.net>
47154
47155         * check-module (find_included_lib_files): Hard-code another
47156         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
47157         but modules/fts-lgpl (correctly) does not list those files.
47158
47159         * modules/canonicalize (Files): Add lib/pathmax.h.
47160
47161 2005-06-25  Simon Josefsson  <jas@extundo.com>
47162
47163         * modules/check-version: New file.
47164
47165 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
47166
47167         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
47168         initializer of struct addrinfo, as an indication that we don't
47169         care how many members the structure has.
47170
47171 2005-06-24  Derek Price  <derek@ximbiot.com>
47172         and Bruno Haible  <bruno@clisp.org>
47173
47174         Remove stat module & update lstat.
47175         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
47176         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
47177         * m4/stat.m4: Remove this file.
47178
47179 2005-06-24  Derek Price  <derek@ximbiot.com>
47180         and Bruno Haible  <bruno@clisp.org>
47181
47182         Remove stat module & update lstat.
47183         * lib/stat.c: Remove this file...
47184         (slash_aware_lstat): ...moving this content and its support...
47185         * lib/lstat.c (rpl_lstat): ...into here.
47186         * lib/lstat.h: New file.
47187
47188 2005-06-24  Derek Price  <derek@ximbiot.com>
47189         and Bruno Haible  <bruno@clisp.org>
47190
47191         Remove stat module & update lstat.
47192         * config/srclist.txt (libc sources): Remove stat.
47193
47194 2005-06-24  Derek Price  <derek@ximbiot.com>
47195         and Bruno Haible  <bruno@clisp.org>
47196
47197         Remove stat module & update lstat.
47198         * MODULES.html.sh (stat): Remove.
47199         * MODULES.html: Regenerated.
47200         * modules/lstat (Description): Correct function name.
47201         (Files): Add "lstat.h".
47202         (Depends-on): Remove stat, add xalloc, stat-macros.
47203         * modules/stat: Remove this file.
47204         (Include): Add "lstat.h", remove <sys/stat.h>.
47205
47206 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
47207
47208         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
47209         (ranged_convert): Don't save conversion in a temporary struct.
47210         This causes a warning with GCC 4.0.0, and anyway in the typical
47211         case it's not worth the extra 100 bytes or so of code.
47212         (ranged_convert, __mktime_internal): When calling a function via a
47213         pointer P, use P () rather than (*P) (), as we now assume C89 or
47214         better.
47215
47216 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
47217
47218         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
47219         "who -r" failed to give output.  Problem reported by Tim Waugh.
47220
47221         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
47222         (xcalloc): Use it to avoid needless tests.
47223         Problem reported by Jim Meyering.
47224
47225 2005-06-20  Derek Price  <derek@ximbiot.com>
47226
47227         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
47228         unnecessary for Autoconfs > 2.59c.
47229
47230 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
47231
47232         * lib/argp.h (__option_is_short): Check upper limit of
47233         __key. Isprint() requires its argument to have the value
47234         of an unsigned char or EOF.
47235
47236 2005-06-16  Jim Meyering  <jim@meyering.net>
47237
47238         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
47239         when either N or S is zero.
47240
47241 2005-06-16  Derek Price  <derek@ximbiot.com>
47242
47243         * m4/bison.m4: Declare YACC & YFLAGS precious.
47244
47245 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
47246
47247         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
47248         multibyte string or pattern, fall back on unibyte matching.
47249         Problem reported by James Youngman.
47250
47251 2005-06-08  Bruno Haible  <bruno@clisp.org>
47252
47253         * modules/csharpcomp: New file.
47254         * MODULES.html.sh (C#): Add csharpcomp.
47255
47256 2005-06-08  Bruno Haible  <bruno@clisp.org>
47257
47258         * m4/csharpcomp.m4: New file, from GNU gettext.
47259
47260 2005-06-08  Bruno Haible  <bruno@clisp.org>
47261
47262         * lib/csharpcomp.h: New file, from GNU gettext.
47263         * lib/csharpcomp.c: New file, from GNU gettext.
47264         * lib/csharpcomp.sh.in: New file, from GNU gettext.
47265
47266 2005-06-08  Bruno Haible  <bruno@clisp.org>
47267
47268         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
47269         warning on mingw.
47270
47271 2005-06-07  Derek Price  <derek@ximbiot.com>
47272
47273         Sync from CVS.
47274         * lib/glob_.h: Indent nested #ifdef.
47275
47276 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
47277
47278         Sync from coreutils.
47279         Use "file name" when talking about file names, instead of "filename"
47280         or "path", as per the GNU coding standards.
47281         * lib/mkdir-p.c: Renamed from makepath.c.
47282         (make_dir_parents): Renamed from make_path.  All callers changed.
47283         * lib/mkdir-p.h: Likewise.  All includers changed.
47284         * lib/filenamecat.c: Renamed from path-concat.c.
47285         (file_name_concat): Renamed from path_concat.  All callers changed.
47286         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
47287         * lib/filenamecat.h: Likewise.  All includers changed.
47288         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
47289         in comments or local variable names.
47290         * lib/basename.c: Likewise.
47291         * lib/canonicalize.c, canonicalize.h: Likewise.
47292         * lib/dirname.c, dirname.h: Likewise.
47293         * lib/euidaccess.c: Likewise.
47294         * lib/exclude.c: Likewise
47295         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
47296         * lib/fsusage.c, fsuage.h: Likewise.
47297         * lib/fts.c, fts_.h: Likewise.
47298         * lib/getcwd.c: Likewise.
47299         * lib/getloadavg.c: Likewise.
47300         * lib/mkstemp.c: Likewise.
47301         * lib/mountlist.c, mountlist.h: Likewise.
47302         * lib/openat.c, openat.h: Likewise.
47303         * lib/readlink-stub.c: Likewise.
47304         * lib/readutmp.c, readutmp.h: Likewise.
47305         * lib/rename.c: Likewise.
47306         * lib/rmdir.c: Likewise.
47307         * lib/same.c: Likewise.
47308         * lib/savedir.c: Likewise.
47309         * lib/stripslash.c: Likewise.
47310         * lib/tempname.c: Likewise.
47311         * lib/xreadlink.c: Likewise.
47312         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
47313         All uses changed.
47314         * lib/exclude.h: Likewise.
47315
47316         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
47317         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
47318         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
47319         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
47320         * lib/pathmax.h: Include <limits.h> unconditionally, since other
47321         files have been getting away with it for years (MORE/BSD 4.3
47322         is extinct now).
47323         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
47324         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
47325
47326         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
47327         Define to 256, not 255, as per modern POSIX.
47328
47329 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
47330
47331         Sync from coreutils.
47332         Use "file name" when talking about file names, instead of "filename"
47333         or "path", as per the GNU coding standards.
47334         * MODULES.html.sh: mkdir-p renamed from makepath.
47335         filenamecat renamed from path-concat.
47336         * modules/filenamecat: Renamed from modules/path-concat.
47337         (Files): filenamecat.h and filenamecat.c renamed from
47338         path-concat.h and path-concat.c.
47339         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
47340         (Include): filenamecat.h, not path-concat.h.
47341         * modules/mkdir-p: Renamed from modules/makepath.
47342         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
47343         makepath.c.
47344         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
47345         (Include): mkdir-p.h, not makepath.h.
47346
47347 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
47348
47349         Sync from coreutils.
47350         * m4/mkdir-p.m4: Renamed from makepath.m4.
47351         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
47352         Rename files from makepath.c to mkdir-p.c, and from
47353         makepath.h to mkdir-p.h.
47354         * m4/filenamecat.m4: Renamed from path-concat.m4.
47355         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
47356         Rename files from path-concat.c to filenamecat.c,
47357         and from path-concat.h to filenamecat.h.
47358         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
47359         "file name" in local variables or comments.
47360         * m4/rename.m4: Likewise.
47361
47362 2005-06-01  Bruno Haible  <bruno@clisp.org>
47363
47364         * modules/csharpexec: New file.
47365         * MODULES.html.sh (C#): New section.
47366
47367 2005-06-01  Bruno Haible  <bruno@clisp.org>
47368
47369         * m4/csharp.m4: New file, from GNU gettext.
47370         * m4/csharpexec.m4: New file, from GNU gettext.
47371
47372 2005-06-01  Bruno Haible  <bruno@clisp.org>
47373
47374         * lib/csharpexec.h: New file, from GNU gettext.
47375         * lib/csharpexec.c: New file, from GNU gettext.
47376         * lib/csharpexec.sh.in: New file, from GNU gettext.
47377
47378 2005-05-31  Derek Price  <derek@ximbiot.com>
47379             Paul Eggert  <eggert@cs.ucla.edu>
47380
47381         Sync from cvs.
47382         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
47383
47384 2005-05-31  Derek Price  <derek@ximbiot.com>
47385             Paul Eggert  <eggert@cs.ucla.edu>
47386
47387         Sync from cvs.
47388         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
47389
47390 2005-05-29  Derek Price  <derek@ximbiot.com>
47391
47392         * config/srclist.txt (glob_.h, glob.c): Add these files.
47393
47394 2005-05-29  Derek Price  <derek@ximbiot.com>
47395
47396         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
47397         * modules/glob: New file.
47398         * modules/getlogin_r: Add link to POSIX spec in description.
47399
47400 2005-05-29  Derek Price  <derek@ximbiot.com>
47401             Paul Eggert  <eggert@cs.ucla.edu>
47402
47403         * m4/glob.m4: New file.
47404
47405 2005-05-29  Derek Price  <derek@ximbiot.com>
47406             Paul Eggert  <eggert@cs.ucla.edu>
47407
47408         * lib/glob_.h, lib/glob.c: New files.
47409
47410 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
47411
47412         * modules/fts (Files): Remove m4/inttypes-pri.m4.
47413         * modules/fts-lgpl (Depends-on): Remove gettext.
47414
47415 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
47416
47417         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
47418         and don't require gt_INTTYPES_PRI.
47419
47420 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
47421
47422         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
47423
47424         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
47425         the configuration hassle isn't worth it.
47426         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
47427         (LONGEST_MODIFIER, PRIuMAX): Remove.
47428
47429 2005-05-27  Bruno Haible  <bruno@clisp.org>
47430
47431         * lib/getlogin_r.h: Remove second include of <stddef.h>.
47432
47433 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
47434
47435         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
47436         _POSIX_PTHREAD_SEMANTICS for Solaris.
47437
47438 2005-05-25  Derek Price  <derek@ximbiot.com>
47439
47440         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
47441
47442 2005-05-25  Derek Price  <derek@ximbiot.com>
47443             Paul Eggert  <eggert@cs.ucla.edu>
47444
47445         * modules/getlogin_r, m4/getlogin_r.m4: New files.
47446         * lib/getlogin_r.c, getlogin_r.h: New files.
47447
47448 2005-05-25  Bruno Haible  <bruno@clisp.org>
47449             Derek Price  <derek@ximbiot.com>
47450
47451         * lib/getlogin_r.h: Simplify API documentation.
47452
47453 2005-05-23  Derek Price  <derek@ximbiot.com>
47454
47455         * modules/minmax (Files): Add m4/minmax.m4.
47456         (configure.ac): Add gl_MINMAX.
47457
47458 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
47459
47460         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
47461         so that unistd-safer.h (GPL'ed code) need not be included.
47462
47463 2005-05-22  Bruno Haible  <bruno@clisp.org>
47464
47465         * m4/minmax.m4: New file.
47466         Based on a patch by Derek Price <derek@ximbiot.com>.
47467
47468 2005-05-22  Bruno Haible  <bruno@clisp.org>
47469
47470         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
47471         (INT64_MIN): Fix definition.
47472         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
47473
47474         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
47475         NEED_SIGNED_INT_TYPES.
47476
47477         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
47478         HAVE_SYSTEM_INTTYPES.
47479
47480 2005-05-22  Bruno Haible  <bruno@clisp.org>
47481
47482         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
47483         Also include <sys/param.h> if it defines MIN, MAX.
47484         Based on a patch by Derek Price <derek@ximbiot.com>.
47485
47486 2005-05-21  Jim Meyering  <jim@meyering.net>
47487
47488         * modules/fts (Files): Add m4/inttypes-pri.m4.
47489         (Depends-on): Add lstat and remove gettext.  Alphabetize.
47490
47491 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
47492
47493         New fts module.
47494         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
47495         (setup_dir, free_dir): New functions.
47496         (enter_dir, leave_dir): Define trivial
47497         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
47498         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
47499         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
47500         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
47501         Move to fts-cycle.c.
47502         (fts_open): Use setup_dir.
47503         (fts_close): Use free_dir.
47504         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
47505         This adds a label and some gotos, but the alternatives were messier.
47506         Check for memory allocation failure when entering a dir.
47507         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
47508         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
47509         (FTS): New member fts_cycle, that is a union that contains the
47510         old active_dir_ht and cycle_state.  All uses changed to mention
47511         fts_cycle.ht and fts_cycle.state.
47512         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
47513         fts.c, with the following changes:
47514         (setup_dir, free_dir): New functions.
47515         (enter_dir): Now returns bool.  Return true if successful, false
47516         if memory exhausted.  All callers changed.
47517         Do not bother partly cleaning up on
47518         memory allocation failure; that is free_dir's job.
47519         However, free ad if hash_insert fails, to avoid memory leak.
47520         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
47521         fts->fts_options to see which union member to use.
47522
47523 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
47524
47525         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
47526         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
47527
47528 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
47529
47530         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
47531
47532 2005-05-20  Jim Meyering  <jim@meyering.net>
47533
47534         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
47535         Now a macro, to pacify GCC.
47536
47537 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
47538
47539         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
47540         of -1.
47541
47542 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
47543
47544         * lib/chown.c (rpl_chown): Return -1 on failure.
47545
47546 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
47547
47548         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
47549         Don't check for stddef.h.
47550         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
47551         don't use its results.
47552         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
47553         since we include them unconditionally.  Don't require
47554         AM_STDBOOL_H, since stdbool is a prerequisite.
47555         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
47556         since we assume C89 or better.
47557         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
47558         as we don't use their results.
47559         Don't check for fchdir, memmove, memset, strrchr, as we use
47560         them unconditionally.
47561         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
47562         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
47563
47564 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
47565
47566         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
47567         Include <stddef.h> unconditionally, since we assume C89 now.
47568         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
47569         * lib/fts.c: Include fts_.h first, to check interface.
47570         Do not include intprops.h; no longer needed.
47571         Include cycle-check.h and hash.h, since fts_.h no longer does.
47572         Remove unnecessary casts of closedir to void.
47573         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
47574         decide whether to decrement nlinks.
47575         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
47576         (FTS): Use struct hash_table * instead of Hash_table, so that
47577         we no longer need to include hash.h here.
47578
47579 2005-05-18  Jim Meyering  <jim@meyering.net>
47580
47581         * modules/dirfd (License): Change to LGPL.  Most of the code
47582         is already in the public domain.
47583
47584 2005-05-18  Jim Meyering  <jim@meyering.net>
47585
47586         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
47587         Reported by Yoann Vandoorselaere.
47588
47589 2005-05-17  Jim Meyering  <jim@meyering.net>
47590
47591         * m4/fts.m4: New file, from coreutils.
47592
47593 2005-05-17  Jim Meyering  <jim@meyering.net>
47594
47595         * lib/fts.c, lib/fts_.h: New files, from coreutils.
47596
47597 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
47598
47599         Sync from coreutils.
47600         * m4/unlinkdir.m4: New file.
47601
47602 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
47603
47604         Sync from coreutils.
47605         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
47606         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
47607         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
47608         White space changes only.
47609         * lib/makepath.c (make_path): Port to hosts where leading "//" is
47610         special.
47611         * lib/yesno.c: Include getline.h, not ctype.h.
47612         (yesno): Don't remove leading white space; POSIX doesn't allow it.
47613         Use getline to remove arbitrary restriction on response length.
47614
47615 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
47616
47617         * config/srclist-update: Spell out "Street" in FSF postal
47618         mail address; this is the style the FSF seems to prefer.
47619
47620         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
47621         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
47622         this updates FSF postal mail address.
47623
47624         Sync from coreutils.
47625         * modules/unlinkdir: New file.
47626         * modules/yesno (Depends-on): Add getline.
47627         * MODULES.html.sh (File system functions): Add unlinkdir.
47628
47629 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
47630
47631         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
47632         lib/strsep.h:
47633         Change the initial comment to refer to GPL, not LGPL.
47634         gnulib-tool will change it to LGPL as needed.
47635
47636         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
47637         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
47638         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
47639         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
47640         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
47641         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
47642         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
47643         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
47644         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
47645         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
47646         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
47647         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
47648         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
47649         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
47650         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
47651         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
47652         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
47653         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
47654         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
47655         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
47656         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
47657         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
47658         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
47659         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
47660         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
47661         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
47662         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
47663         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
47664         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
47665         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
47666         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
47667         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
47668         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
47669         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
47670         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
47671         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
47672         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
47673         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
47674         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
47675         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
47676         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
47677         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
47678         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
47679         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
47680         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
47681         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
47682         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
47683         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
47684         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
47685         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
47686         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
47687         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
47688         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
47689         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
47690         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
47691         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
47692         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
47693         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
47694         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
47695         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
47696         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
47697         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
47698         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
47699         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
47700         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
47701         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
47702         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
47703         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
47704         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
47705         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
47706         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
47707         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
47708         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
47709         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
47710         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
47711         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
47712         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
47713         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
47714         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
47715         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
47716         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
47717         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
47718         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
47719         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
47720         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
47721         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
47722         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
47723         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
47724         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
47725         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
47726         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
47727         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
47728         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
47729         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
47730         lib/yesno.c, lib/yesno.h:
47731         Update FSF postal mail address.
47732
47733 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
47734
47735         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
47736         tests/test-memmem.c, tests/test-stpncpy.c:
47737         Update FSF postal mail address.
47738
47739 2005-05-13  Bruno Haible  <bruno@clisp.org>
47740
47741         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
47742         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
47743         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
47744         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
47745         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
47746         Add support for 64-bit integers in the MSVC compiler.
47747
47748 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
47749
47750         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
47751
47752 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
47753
47754         * gnulib-tool (func_import): Sort and uniquify recommended includes.
47755
47756 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
47757
47758         * doc/getdate.texi (General date syntax): Don't say that date
47759         date --iso-8601=ns generates acceptable dates; it doesn't yet.
47760         Problem reported by Nic Ferrier.
47761
47762 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47763
47764         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
47765         specified in ai_socktype. Fix invalid ai_protocol
47766         check. ai_protocol is usually set to 0 or depending on
47767         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
47768         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
47769         ai_socktype / ai_protocol in the returned addrinfo structure.
47770
47771 2005-05-10  Simon Josefsson  <jas@extundo.com>
47772
47773         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
47774         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
47775
47776 2005-05-10  Karl Berry  <karl@gnu.org>
47777
47778         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
47779         (from http://www.gnu.org/licenses).
47780         * doc/COPYING.LIB: also rename to COPYING.LESSER.
47781         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
47782         fdl.texi suffices.
47783
47784 2005-05-10  Karl Berry  <karl@gnu.org>
47785
47786         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
47787         (COPYING.DOC): remove.
47788
47789         * config/srclist-update: new FSF address.
47790
47791 2005-05-10  Derek Price  <derek@ximbiot.com>
47792
47793         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
47794         possible.
47795
47796 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47797             Bruno Haible  <bruno@clisp.org>
47798
47799         * modules/inet_ntop: New file.
47800         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
47801         inet_ntop.
47802
47803 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47804             Bruno Haible  <bruno@clisp.org>
47805
47806         * m4/inet_ntop.m4: New file.
47807
47808 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47809             Bruno Haible  <bruno@clisp.org>
47810
47811         * lib/inet_ntop.h: New file.
47812         * lib/inet_ntop.c: New file, from glibc with modifications.
47813
47814 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
47815
47816         * modules/time_r (License): Change to LGPL.
47817         * modules/extensions (License): Change to LGPL.  Actually,
47818         the license is more permissive than that, but currently gnulib-tool
47819         doesn't know how to handle more-permissive licenses.
47820
47821         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
47822         Problem reported by Dave Love.
47823
47824 2005-05-08  Jim Meyering  <jim@meyering.net>
47825
47826         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
47827         blank.
47828
47829 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
47830
47831         * modules/argmatch (Depends-on): Add stdbool.
47832         * modules/backupfile (Depends-on): Likewise.
47833         * modules/chdir-long (Depends-on): Likewise.
47834         * modules/closeout (Depends-on): Likewise.
47835         * modules/cycle-check (Depends-on): Likewise.
47836         * modules/dirname (Depends-on): Likewise.
47837         * modules/fnmatch (Depends-on): Likewise.
47838         * modules/fsusage (Depends-on): Likewise.
47839         * modules/fwriteerror (Depends-on): Likewise.
47840         * modules/getcwd (Depends-on): Likewise.
47841         * modules/getloadavg (Depends-on): Likewise.
47842         * modules/hard-locale (Depends-on): Likewise.
47843         * modules/makepath (Depends-on): Likewise.
47844         * modules/mountlist (Depends-on): Likewise.
47845         * modules/nanosleep (Depends-on): Likewise.
47846         * modules/posixtm (Depends-on): Likewise.
47847         * modules/quotearg (Depends-on): Likewise.
47848         * modules/readtokens (Depends-on): Likewise.
47849         * modules/readtokens0 (Depends-on): Likewise.
47850         * modules/readutmp (Depends-on): Likewise.
47851         * modules/save-cwd (Depends-on): Likewise.
47852         * modules/strftime (Depends-on): Likewise.
47853         * modules/userspec (Depends-on): Likewise.
47854         * modules/utimecmp (Depends-on): Likewise.
47855         * modules/xgetcwd (Depends-on): Likewise.
47856         * modules/xnanosleep (Depends-on): Likewise.
47857         * modules/xstrtod (Depends-on): Likewise.
47858         * modules/yesno (Depends-on): Likewise.
47859
47860 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
47861
47862         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
47863         needless checks.
47864
47865 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
47866
47867         Merge from coreutils.  Among other things,
47868         add bulletproofing for cases where stdin, stdout, or stderr are closed.
47869         * lib/fd-safer.c: New file.
47870         * lib/fcntl-safer.h, open-safer.c: Remove.
47871         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
47872         * lib/dup-safer.c: Include unistd-safer.h first.
47873         Don't include errno.h.
47874         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
47875         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
47876         * lib/file-type.c: Rely on file-type.h change.
47877         * lib/getloadavg.c: Include unistd-safer.h.
47878         (getloadavg): Use safer open.
47879         * lib/getusershell.c: Include "stdio-safer.h".
47880         (getusershell): Use safer fopen.
47881         * lib/long-options.c (long_options): Use NULL rather than 0.
47882         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
47883         'free'.
47884         * lib/modechange.c: Likewise.
47885         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
47886         (MODE_DONE): New constant.
47887         (struct mode_change): Remove 'next' member.
47888         (make_node_op_equals): New function; like the old one of the
47889         same name, except it allocates an array.
47890         (mode_compile, mode_create_from_ref): Use it.
47891         (mode_compile): Allocate result as an array, not a linked list.
47892         Parse octal string ourself, so that we catch mistakes like "+0".
47893         (mode_adjust): Arg is an array, not a linked list.
47894         * lib/modechange.c: Include stat-macros.h, xalloc.h.
47895         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
47896         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
47897         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
47898         Remove.  This is now stat-macros.h's job.
47899         (talloc): Remove.  All callers replaced by xalloc, so that
47900         our invokers don't have to worry about reporting memory failures.
47901         (make_node_op_equals): Remove.
47902         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
47903         New constants.
47904         (struct mode_change): Moved here from modechange.h.
47905         (mode_append_entry): Remove.
47906         (mode_compile): Remove MASKED_OPS arg, since it encouraged
47907         apps to have incorrect behavior.  Use simpler algorithm for head
47908         and tail.  Don't futz with umask; that's now the job of mode_adjust.
47909         Detect more invalid usages rather than having somewhat-random behavior.
47910         Don't insert an "a=" action, as that leads to incorrect behavior.
47911         (mode_compile, mode_create_from_ref): Return NULL on error instead
47912         of an enum, since now there's only one way to have an error.  All
47913         callers changed.
47914         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
47915         at the correct time.  Simplify calculation of "+u" and its ilk.
47916         Don't mishandle "+X".
47917         (mode_free): Remove "register" and localize decls.
47918         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
47919         (struct mode_change): Move to modechange.c; callers don't
47920         need to see this stuff.
47921         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
47922         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
47923         (mode_change, mode_adjust): Reflect the new signatures noted above.
47924         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
47925         that might redefine system include files.
47926         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
47927         (my_usleep): Use NULL rather than (void *) 0.
47928         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
47929         Use siginterrupt to specify that system calls should be interrupted.
47930         (rpl_nanosleep): Move initialization of suspended closer to call of
47931         my_usleep.
47932         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
47933         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
47934         (desirable_utmp_entry): New function.
47935         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
47936         using x2nrealloc, to simplify logic.
47937         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
47938         size calculation.  Do not assume utmp file is a regular file.
47939         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
47940         (READ_UTMP_CHECK_PIDS): New constant.
47941         * lib/save-cwd.c: Include unistd-safer.h.
47942         (save_cwd): Use fd_safer.
47943         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
47944         [!_LIBC] Include "stat-macros.h" instead.
47945         * lib/unistd-safer.h (fd_safer): New decl.
47946
47947 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
47948
47949         * modules/getloadavg (Depends-on): Add unistd-safer.
47950         * modules/getusershell (Depends-on): Add stdio-safer.
47951         * modules/lstat (Depends-on): Remove xalloc.
47952         * modules/mkstemp (Depends-on): Add stat-macros.
47953         * modules/modechange (Depends-on): Remove xstrtol.
47954         Add stat-macros, xalloc.
47955         * modules/save-cwd (Depends-on): Add unistd-safer.
47956         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
47957         * modules/unistd-safer (Files): Add lib/fd-safer.c
47958         (Makefile.am): Remove lib_SOURCES.
47959
47960         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
47961         Remove fcntl-safer; unistd-safer supersedes it.
47962
47963 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
47964
47965         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
47966         AC_HEADER_STAT.
47967         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
47968         (gl_PREREQ_CHOWN): Remove.
47969         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
47970         it.  Don't require AC_HEADER_STAT.
47971         (gl_PREREQ_LSTAT): Remove.
47972         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
47973         Don't require AC_HEADER_STAT.
47974         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
47975         (gl_PREREQ_RMDIR): Remove.
47976         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
47977         mention stat-macros.h or AC_HEADER_STAT, since we'll make
47978         the stat-macros module a prerequisite.
47979         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
47980         * m4/filemode.m4 (gl_FILEMODE): Likewise.
47981         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
47982         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
47983         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
47984         variable names.
47985         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
47986         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
47987         variable prefixes.
47988         * m4/fcntl-safer.m4: Remove.
47989         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
47990         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
47991         Invoke gl_PREREQ_FD_SAFER.
47992         (gl_PREREQ_FD_SAFER): New macro.
47993         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
47994         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
47995         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
47996         Remove duplicate call to AC_LIBOBJ(readutmp).
47997         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
47998
47999         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
48000         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
48001
48002 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
48003
48004         * MODULES.html.sh (Misc): Add byteswap.
48005
48006 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
48007
48008         * modules/getcwd (Depends-on): Add extensions.
48009         * modules/openat (Depends-on): Likewise.
48010
48011 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
48012
48013         * modules/byteswap: New file.
48014
48015 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
48016
48017         * m4/byteswap.m4: New file.
48018
48019 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
48020
48021         * lib/byteswap_.h: New file.
48022
48023 2005-04-25  Karl Berry  <karl@gnu.org>
48024
48025         * m4/gettext.m4: Update from GNU gettext 0.14.4.
48026
48027 2005-04-25  Albert Chin  <china@thewrittenword.com>
48028
48029         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
48030         Toolkit C bug.
48031
48032 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
48033
48034         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
48035         (func_ln_if_changed) Remove forcibly for no error message
48036         in case file does not exist.
48037
48038 2005-04-19  Simon Josefsson  <jas@extundo.com>
48039
48040         * gnulib-tool (Options): Make --symlink mean --symbolic.
48041
48042 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
48043
48044         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
48045
48046 2005-04-16  Simon Josefsson  <jas@extundo.com>
48047
48048         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
48049
48050 2005-04-15  Simon Josefsson  <jas@extundo.com>
48051
48052         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
48053
48054 2005-04-15  Simon Josefsson  <jas@extundo.com>
48055
48056         * gnulib-tool: Rename --symlink to --symbolic.
48057
48058 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
48059
48060         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
48061         symbolic links to files instead of copying/moving.  Add --aux-dir,
48062         specifying directory relative --dir where auxiliary build tools
48063         are placed.
48064
48065 2005-04-14  Bruno Haible  <bruno@clisp.org>
48066
48067         * modules/allocsa (License): Change to LGPL.
48068         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
48069
48070 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
48071
48072         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
48073         that "UTC +1 second" continues to work.  Problem reported
48074         by Dmitry V. Levin.
48075         (relunit_snumber): New rule.
48076         (relunit): Use it.
48077
48078 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
48079
48080         * lib/getdate.y (universal_time_zone_table): New constant.
48081         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
48082         universal_time_zone_table.
48083         (lookup_zone): Prefer universal_time_zone_table to
48084         local_time_zone_table, so that "GMT" time stamps are allowed in
48085         London during the summer.  Problem reported by Ian Abbott.
48086
48087 2005-04-12  Jim Meyering  <jim@meyering.net>
48088
48089         * lib/human.c (humblock): Set *options even when returning due to
48090         xstrtoumax conversion failure.  Thanks to a used-uninitialized
48091         warning from gcc-4.
48092
48093 2005-04-09  Jim Meyering  <jim@meyering.net>
48094
48095         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
48096         -Wuninitialized: initialize tm0.tm_year.
48097
48098 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
48099
48100         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
48101         count, since there's no maximum.  All uses changed.
48102         Add member dsts_seen.
48103         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
48104         not being INT_MAX.
48105         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
48106         Use pc_rels_seen to decide whther a date is absolute.
48107
48108         * lib/getdate.y (number): Don't overwrite year.
48109         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
48110         check.
48111
48112 2005-04-02  Simon Josefsson  <jas@extundo.com>
48113
48114         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
48115         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
48116
48117 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
48118
48119         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
48120         where no absolute path name can be longer than PATH_MAX.
48121
48122 2005-03-27  Jim Meyering  <jim@meyering.net>
48123
48124         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
48125
48126 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
48127
48128         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
48129         "one's complement" -> "ones' complement" in comment, as per Knuth.
48130         "value of type" -> "type or expression" in comment.
48131         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
48132
48133 2005-03-26  Jim Meyering  <jim@meyering.net>
48134
48135         Comment nits.
48136         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
48137         Correct typos: s/or/of/.
48138
48139 2005-03-26  Jim Meyering  <jim@meyering.net>
48140
48141         * modules/check-include-files: Move to ../ and rename to...
48142         * check-module: ...this.
48143
48144 2005-03-25  Jim Meyering  <jim@meyering.net>
48145
48146         * modules/xvasprintf (Files): Add xalloc.h.
48147
48148 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
48149
48150         * modules/gettext (Files): config/config.rpath ->
48151         build-aux/config.rpath
48152         * modules/iconv (Files): Likewise.
48153         Problem reported by Oskar Liljeblad.
48154
48155 2005-03-23  Jim Meyering  <jim@meyering.net>
48156
48157         * modules/check-include-files: New script to check for
48158         missing dependencies, multiple includes, etc.
48159
48160         * modules/c-strtold (Depends-on): Add xalloc.
48161         * modules/c-strtod (Depends-on): Add xalloc.
48162         * modules/hash (Depends-on): Add xalloc.
48163         (Files): Remove lib/xalloc.h.
48164
48165         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
48166         * modules/userspec (Files): Add lib/inttostr.h.
48167
48168 2005-03-23  Jim Meyering  <jim@meyering.net>
48169
48170         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
48171
48172 2005-03-22  Jim Meyering  <jim@meyering.net>
48173
48174         * modules/stat-macros: New module.
48175         * modules/canonicalize, modules/euidaccess, modules/file-type,
48176         * modules/filemode, modules/lchown, modules/makepath,
48177         * modules/rmdir, modules/stat: Depend on new stat-macros module
48178         rather than listing lib/stat-macros.h manually.
48179         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
48180
48181 2005-03-22  Jim Meyering  <jim@meyering.net>
48182
48183         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
48184
48185 2005-03-22  Bruno Haible  <bruno@clisp.org>
48186
48187         * config/srclist.txt: Replace target directory 'config' with
48188         'build-aux'.
48189         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
48190         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
48191         ../build-aux/.
48192
48193 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
48194
48195         * modules/chdir-long (Depends-on): Add mempcpy.
48196
48197         * modules/acl, modules/backupfile, modules/c-strtod,
48198         modules/c-strtold, modules/canon-host, modules/canonicalize,
48199         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
48200         modules/exclude, modules/exitfail, modules/file-type,
48201         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
48202         modules/getdate, modules/getline, modules/getpagesize,
48203         modules/getpass, modules/getugroups, modules/group-member,
48204         modules/hard-locale, modules/hash, modules/human, modules/idcache,
48205         modules/inttostr, modules/long-options, modules/makepath,
48206         modules/md5, modules/memcasecmp, modules/memcoll,
48207         modules/modechange, modules/mountlist, modules/path-concat,
48208         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
48209         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
48210         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
48211         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
48212         modules/strftime, modules/strndup, modules/strverscmp,
48213         modules/timespec, modules/unlocked-io, modules/userspec,
48214         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
48215         modules/yesno:
48216         Remove lib_SOURCES line from Makefile.am section, as this is now
48217         done automatically by the corresponding Autoconf macro.
48218
48219 2005-03-21  Jim Meyering  <jim@meyering.net>
48220
48221         Changes imported from coreutils.
48222
48223         * lib/cycle-check.c: Don't include xalloc.h.
48224
48225         * lib/path-concat.c: Don't include assert.h.
48226         (path_concat): Remove assertion that would have triggered
48227         for ABASE starting with more than one slash.
48228         Reported by Andreas Schwab.
48229
48230         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
48231         properly when ABASE is an absolute file name.
48232         Correct the description of this function.
48233         Include <assert.h>.
48234         Add an assertion and a test driver.
48235         This fixes a bug introduced on 2004-07-02.
48236         Andreas Schwab reported the resulting failure of cp --parents:
48237         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
48238
48239 2005-03-21  Jim Meyering  <jim@meyering.net>
48240
48241         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
48242         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
48243
48244 2005-03-21  Jim Meyering  <jim@meyering.net>
48245         and  Paul Eggert  <eggert@cs.ucla.edu>
48246
48247         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
48248         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
48249         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
48250         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
48251         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
48252         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
48253         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
48254         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
48255         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
48256         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
48257         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
48258         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
48259         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
48260         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
48261         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
48262         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
48263         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
48264         for these modules.
48265
48266 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
48267
48268         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
48269         (which shouldn't happen), generate nothing instead of returning 0
48270         immediately, so that nstrftime (NULL, ...) doesn't return 0.
48271
48272 2005-03-16  Bruno Haible  <bruno@clisp.org>
48273
48274         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
48275         HAVE_LONGLONG_64BIT.
48276
48277 2005-03-16  Bruno Haible  <bruno@clisp.org>
48278
48279         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
48280         HAVE_LONGLONG_64BIT.
48281
48282 2005-03-16  Bruno Haible  <bruno@clisp.org>
48283
48284         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
48285         HAVE_LONGLONG_64BIT.
48286
48287 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
48288
48289         * lib/strftime.c (my_strftime): Prepend space to format so that we can
48290         reliably distinguish strftime failure from empty output on POSIX
48291         hosts.
48292
48293 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
48294
48295         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
48296         (iconv_string): Don't guess a size-zero buffer, as that might cause
48297         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
48298         result would be 'too large', where 'too large' is (heuristically)
48299         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
48300         overflow concerns.  This will prevent some unwanted malloc failures
48301         when the inputs are very large.
48302
48303 2005-03-15  Karl Berry  <karl@gnu.org>
48304
48305         * config/srclist.txt (config.rpath): from gettext.
48306         * config/config.rpath: update.
48307
48308 2005-03-15  Bruno Haible  <bruno@clisp.org>
48309
48310         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
48311         to 'negate'.
48312
48313         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
48314         variable.
48315
48316         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
48317         results.
48318
48319 2005-03-14  Simon Josefsson  <jas@extundo.com>
48320
48321         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
48322         <fx@gnu.org>.
48323
48324 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
48325
48326         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
48327         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
48328         intprops.h.
48329         * lib/strtol.c: Likewise.
48330
48331 2005-03-14  Jim Meyering  <jim@meyering.net>
48332
48333         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
48334         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
48335         to be nonzero so that we (and caller) can detect the difference
48336         between a valid zero-length expansion and an error return, even
48337         when the underlying strftime fails before writing anything into
48338         that location.
48339
48340 2005-03-14  Bruno Haible  <bruno@clisp.org>
48341
48342         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
48343         Update from GNU gettext 0.14.3.
48344
48345 2005-03-10  Jim Meyering  <jim@meyering.net>
48346
48347         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
48348
48349 2005-03-10  Jim Meyering  <jim@meyering.net>
48350
48351         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
48352         so that this module works on systems without fchdir.
48353
48354 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
48355
48356         Factor int-properties macros into a single file, except for
48357         glibc-related files.
48358         * lib/intprops.h: New file.
48359         * lib/getloadavg.c: Include it instead of limits.h.
48360         (INT_STRLEN_BOUND): Remove.
48361         * lib/human.c: Include intprops.h.
48362         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
48363         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
48364         302/1000.
48365         * lib/inttostr.h: Include intprops.h instead of limits.h.
48366         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
48367         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
48368         for consistency with intprops.h.
48369         (time_t_is_integer, twos_complement_arithmetic): Use them.
48370         * lib/sig2str.h: Include <signal.h>, intprops.h.
48371         (INT_STRLEN_BOUND): Remove.
48372         * lib/strftime.c (TYPE_SIGNED): Remove.
48373         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
48374         * lib/strtol.c: Adjust comments to match intprops.h.
48375         * lib/userspec.c: Include intprops.h.
48376         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
48377         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
48378         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
48379         instead of rolling our own expressions.
48380         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
48381
48382         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
48383         instead of int.
48384         (my_strftime): Do not mishandle years close to INT_MAX, by doing
48385         the right thing even if adding 1900 would overflow.  Similarly
48386         for tm_mon + 1 and tm_yday + 1.
48387         Make %Y always equivalent to %C%y, and similarly for %G and %g.
48388         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
48389         (DO_SIGNED_NUMBER): New macro.
48390         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
48391
48392 2005-03-07  Bruno Haible  <bruno@clisp.org>
48393
48394         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
48395
48396 2005-03-07  Bruno Haible  <bruno@clisp.org>
48397
48398         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
48399
48400 2005-03-04  Derek R. Price  <derek@ximbiot.com>
48401
48402         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
48403         (func_import): Only replace files via --import when they have actually
48404         changed.
48405
48406 2005-03-03  Derek R. Price  <derek@ximbiot.com>
48407
48408         * m4/mmap-anon.m4: New file.
48409         * m4/pagealign_alloc.m4: New file.
48410
48411 2005-03-03  Derek R. Price  <derek@ximbiot.com>
48412             Bruno Haible  <bruno@clisp.org>
48413
48414         * modules/pagealign_alloc: New file.
48415         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
48416
48417 2005-03-03  Derek R. Price  <derek@ximbiot.com>
48418             Bruno Haible  <bruno@clisp.org>
48419
48420         * lib/pagealign_alloc.h: New file.
48421         * lib/pagealign_alloc.c: New file.
48422
48423 2005-03-03  Bruno Haible  <bruno@clisp.org>
48424
48425         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
48426         Use an all-permissive copyright notice, recommended by RMS.
48427
48428 2005-03-02  Bruno Haible  <bruno@clisp.org>
48429
48430         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
48431         of AIX, the replacement has to be done only after <string.h> is
48432         included, therefore not in config.h. stpncpy.h does the replacement,
48433         and stpncpy.c uses it.
48434
48435 2005-03-02  Bruno Haible  <bruno@clisp.org>
48436
48437         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
48438         stpncpy.c uses it.
48439
48440 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
48441
48442         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
48443         The workaround isn't strictly needed for POSIX conformance, and
48444         it's too much of a pain to configure and maintain.  We'll ask
48445         people to fix their kernels instead.
48446         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
48447         (NANOSLEEP_BUG_WORKAROUND): Remove.
48448         (xnanosleep): Remove the workaround.
48449
48450 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
48451
48452         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
48453         Reported by Derek Price.
48454         (Include): Add "timespec.h".
48455
48456         * modules/xnanosleep (Depends-on): Remove gethrxtime.
48457
48458 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
48459
48460         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
48461         to detect nanosleep bug.
48462
48463 2005-03-01  Bruno Haible  <bruno@clisp.org>
48464
48465         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
48466
48467 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
48468
48469         * modules/gethrxtime: New file.
48470         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
48471         (Depends-on): Add gethrxtime.
48472         (configure.ac): Add gl_XNANOSLEEP.
48473         (Makefile.am): Remove lib_SOURCES line.
48474
48475 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
48476
48477         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
48478         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
48479
48480 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
48481
48482         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
48483         * lib/timespec.h (gettime): Return void, since it always
48484         succeeds now.  All uses changed.
48485         * lib/gettime.c (gettime) Likewise.
48486         [HAVE_NANOTIME]: Prefer nanotime.
48487         Assume gettimeofday succeeds, as POSIX requires.
48488         Assime time () succeeds, since other code already does.
48489         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
48490         (timespec_subtract): Remove.
48491         (NANOSLEEP_BUG_WORKAROUND): New constant.
48492         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
48493         things considerably.  Use it only on GNU/Linux hosts, since the
48494         workaround shouldn't be needed elsewhere.
48495
48496 2005-02-24  Bruno Haible  <bruno@clisp.org>
48497
48498         * modules/gettext (Files): Add m4/glibc2.m4.
48499
48500 2005-02-24  Bruno Haible  <bruno@clisp.org>
48501
48502         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
48503         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
48504         * m4/progtest.m4:
48505         Update from GNU gettext 0.14.2.
48506         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
48507
48508 2005-02-24  Bruno Haible  <bruno@clisp.org>
48509
48510         * lib/localcharset.c: Update from GNU gettext 0.14.2.
48511         * lib/config.charset: Update from GNU gettext 0.14.2.
48512
48513 2005-02-24  Bruno Haible  <bruno@clisp.org>
48514
48515         * lib/gettext.h: Update from GNU gettext 0.14.2.
48516
48517 2005-02-23  Simon Josefsson  <jas@extundo.com>
48518
48519         * m4/iconvme.m4: New file.
48520
48521 2005-02-23  Jim Meyering  <jim@meyering.net>
48522
48523         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
48524         change.
48525         Thanks to Bruno Haible for catching it.
48526
48527 2005-02-22  Simon Josefsson  <jas@extundo.com>
48528
48529         * modules/iconvme: New file.
48530
48531         * MODULES.html.sh: Add iconvme.
48532
48533 2005-02-22  Simon Josefsson  <jas@extundo.com>
48534
48535         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
48536
48537 2005-02-22  Simon Josefsson  <jas@extundo.com>
48538
48539         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
48540
48541 2005-02-22  Jim Meyering  <jim@meyering.net>
48542
48543         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
48544         s/ifndef/ifdef/.
48545
48546 2005-02-20  Neil Conway  <neilc@samurai.com>
48547
48548         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
48549         returned by OSX/Darwin if the specified buffer is not large
48550         enough for the hostname.
48551
48552 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
48553
48554         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
48555         pass it to _help, otherwise the latter coredumps trying to
48556         dereference state.root_argp.
48557
48558 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
48559
48560         * modules/chdir-long (Depends-on): Add memrchr.
48561         * modules/memrchr (Files): Add lib/memrchr.h.
48562         (Include): "memrchr.h".
48563
48564 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
48565
48566         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
48567
48568 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
48569
48570         * lib/memrchr.h: New file.
48571         * lib/chdir-long.c: Include it.
48572         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
48573         Don't bother including stddef.h.
48574
48575 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
48576
48577         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
48578         inclusion.
48579         Include <sys/types.h>, for dev_t.
48580         (ME_DUMMY, ME_REMOTE): Move from here....
48581         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
48582         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
48583         Dmitry V. Levin.
48584         Include mountlist.h first, to test the interface.
48585
48586 2005-01-29  Bruno Haible  <bruno@clisp.org>
48587
48588         * lib/progname.c (program_name): Initialize.
48589         Needed when linking statically on MacOS X.
48590
48591 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
48592
48593         Sync from coreutils.
48594         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
48595         (Depends-on): Add c-strtod.
48596         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
48597
48598 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
48599
48600         Sync from coreutils.
48601         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
48602
48603         Remove files that are specific to coreutils.
48604         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
48605
48606 2005-01-28  Bruno Haible  <bruno@clisp.org>
48607
48608         * modules/javacomp: New file.
48609         * MODULES.html.sh (Java): Add javacomp.
48610
48611 2005-01-28  Bruno Haible  <bruno@clisp.org>
48612
48613         * m4/javacomp.m4: New file, from GNU gettext.
48614
48615 2005-01-28  Bruno Haible  <bruno@clisp.org>
48616
48617         * lib/javacomp.sh.in: New file, from GNU gettext.
48618         * lib/javacomp.h: New file, from GNU gettext.
48619         * lib/javacomp.c: New file, from GNU gettext.
48620
48621 2005-01-26  Simon Josefsson  <jas@extundo.com>
48622
48623         * lib/gai_strerror.c: Use GPL in header.
48624
48625 2005-01-26  Bruno Haible  <bruno@clisp.org>
48626
48627         * modules/javaexec: New file.
48628         * MODULES.html.sh (Java): Add javaexec.
48629
48630 2005-01-26  Bruno Haible  <bruno@clisp.org>
48631
48632         * m4/javaexec.m4: New file, from GNU gettext.
48633
48634 2005-01-26  Bruno Haible  <bruno@clisp.org>
48635
48636         * lib/javaexec.sh.in: New file, from GNU gettext.
48637         * lib/javaexec.h: New file, from GNU gettext.
48638         * lib/javaexec.c: New file, from GNU gettext.
48639
48640 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
48641
48642         * modules/lchown (Depends-on): Remove lchown.h
48643
48644 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
48645
48646         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
48647         must be defined if the header file was not found, in order
48648         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
48649
48650 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
48651
48652         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
48653         initializers for struct pentry_state.
48654         (__argp_error): Check return value of __asprintf
48655         (__argp_failure): Translate error message
48656
48657         * lib/argp-parse.c: Removed braces around the expansion of N_()
48658
48659 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
48660
48661         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
48662         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
48663         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
48664         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
48665         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
48666         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
48667         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
48668         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
48669         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
48670         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
48671         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
48672         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
48673         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
48674         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
48675         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
48676         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
48677         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
48678         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
48679         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
48680         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
48681         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
48682         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
48683         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
48684         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
48685         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
48686         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
48687         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
48688         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
48689         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
48690         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
48691         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
48692         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
48693         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
48694         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
48695         xstrtol.m4, xstrtoumax.m4, yesno.m4:
48696         Use an all-permissive copyright notice, recommended by RMS.
48697
48698 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
48699
48700         * modules/chdir-long (Depends-on): Remove mempcpy.
48701
48702 2005-01-21  Jim Meyering  <jim@meyering.net>
48703
48704         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
48705         same value as for Solaris 9.
48706
48707         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
48708         component length.  This included changing the parameter to be
48709         of type `char *' rather than `char const *'.
48710         * lib/chdir-long.h (chdir_long): Update prototype.
48711
48712         * lib/openat.c (fdopendir, fstatat): New functions.
48713         * lib/openat.h: Include headers required for use of DIR and struct
48714         stat.
48715         [AT_SYMLINK_NOFOLLOW]: Define.
48716         (fdopendir, fstatat): Add prototypes.
48717
48718 2005-01-21  Bruno Haible  <bruno@clisp.org>
48719
48720         * modules/classpath: New file.
48721         * MODULES.html.sh (Java): Add classpath.
48722
48723 2005-01-21  Bruno Haible  <bruno@clisp.org>
48724
48725         * lib/classpath.h: New file, from GNU gettext.
48726         * lib/classpath.c: New file, from GNU gettext.
48727
48728 2005-01-20  Simon Josefsson  <jas@extundo.com>
48729
48730         * modules/version-etc-fsf: New file.
48731
48732 2005-01-20  Simon Josefsson  <jas@extundo.com>
48733
48734         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
48735         * lib/version-etc.c: Remove version_etc_copyright.
48736         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
48737         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
48738
48739 2005-01-20  Simon Josefsson  <jas@extundo.com>
48740
48741         * lib/base64.h (isbase64): Add.
48742
48743         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
48744         using a unsigned prototype, don't inline.
48745         (base64_decode): Use it.
48746
48747 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
48748
48749         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
48750         it.
48751
48752 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
48753
48754         * lib/save-cwd.c (save_cwd): Remove code to support the case
48755         where fchdir is missing or flaky.
48756
48757 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
48758
48759         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
48760
48761 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
48762
48763         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
48764         AC_LIBSOURCES now does this.
48765         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
48766         with new ullong_max module.
48767
48768 2005-01-19  Bruno Haible  <bruno@clisp.org>
48769
48770         * modules/sh-quote: New file.
48771         * MODULES.html.sh (Executing programs): Add sh-quote.
48772
48773 2005-01-19  Bruno Haible  <bruno@clisp.org>
48774
48775         * lib/sh-quote.h: New file, from GNU gettext.
48776         * lib/sh-quote.c: New file, from GNU gettext.
48777
48778 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
48779
48780         Merge from coreutils.
48781         * m4/ullong_max.m4: New file.
48782         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
48783         (gl_MACROS): Assume localeconv exists.
48784
48785 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
48786
48787         Merge changes from coreutils, as described below in several
48788         changelogs dated today.
48789
48790         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
48791         (O_DIRECTORY): Remove; not needed here, since "." must be
48792         a directory.  All uses removed.
48793         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
48794         universal on Suns, and we also need to test for IRIX.
48795         Revamp code to use 'if' rather than '#if'.
48796         Avoid unnecessary comparison of cwd->desc to 0.
48797
48798         * lib/utimens.c (futimens): Robustify the previous patch, by checking
48799         for known valid error numbers rather than observed invalid ones.
48800
48801 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
48802
48803         * modules/ullong_max: New file.
48804
48805         * modules/chdir-long, modules/openat: New files.
48806         * modules/save-cwd (Depends-on): Depend on chdir-long.
48807         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
48808
48809 2005-01-18  Jim Meyering  <jim@meyering.net>
48810
48811         Merge from coreutils.
48812         * m4/chdir-long.m4, m4/openat.m4: New files.
48813         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
48814         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
48815         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
48816         is sane and DOES follow symlinks.  Besides, testing 20 different
48817         systems found no broken chown implementations.
48818         Prompted by a change in rsync's copy of this macro.
48819         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
48820
48821         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
48822
48823         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
48824         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
48825         NULL-means-set-to-current-time semantics.
48826         Remove temporary file immediately, rather than waiting
48827         for configure's at-exit trap code to do it.
48828
48829 2005-01-18  Jim Meyering  <jim@meyering.net>
48830
48831         * lib/version-etc.c (version_etc_copyright): Update copyright date.
48832
48833         * lib/utimens.c (futimens): Account for the fact that futimes
48834         can also fail with errno == ENOSYS or errno == ENOENT.
48835         Patch from Dmitry V. Levin.
48836
48837         Change the name of the robust chdir function from chdir to chdir_long.
48838         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
48839         (restore_cwd): Use chdir_long, not chdir.
48840         * lib/chdir-long.c: Renamed from chdir.c.
48841         * lib/chdir-long.h: Renamed from chdir.h.
48842         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
48843         Hurd.
48844
48845 2005-01-18  Bruno Haible  <bruno@clisp.org>
48846
48847         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
48848         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
48849         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
48850         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
48851         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
48852         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
48853         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
48854         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
48855         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
48856         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
48857         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
48858         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
48859         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
48860         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
48861         Use an all-permissive copyright notice, recommended by RMS.
48862
48863 2005-01-18  Bob Proulx  <bob@proulx.com>
48864
48865         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
48866         simplify offsetof() macro construct to avoid compile failure with
48867         native HP-UX 11.0 ANSI C compiler.
48868
48869 2005-01-17  Bruno Haible  <bruno@clisp.org>
48870
48871         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
48872         redundant because stpncpy.m4 takes care of it.
48873
48874 2005-01-17  Bruno Haible  <bruno@clisp.org>
48875
48876         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
48877
48878 2005-01-17  Bruno Haible  <bruno@clisp.org>
48879
48880         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
48881         used.
48882
48883 2005-01-17  Bruno Haible  <bruno@clisp.org>
48884
48885         * lib/fwriteerror.h (fwriteerror): Change specification to include
48886         fclose.
48887         * lib/fwriteerror.c: Include <stdbool.h>.
48888         (fwriteerror): At the end, close the file stream. Record whether
48889         stdout was already closed.
48890
48891 2005-01-17  Bruno Haible  <bruno@clisp.org>
48892
48893         * lib/execute.c (environ): Declare if needed.
48894         * lib/pipe.c (environ): Likewise.
48895         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
48896
48897 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
48898
48899         * modules/argp: Depend on vsnprintf
48900
48901 2005-01-10  Jim Meyering  <jim@meyering.net>
48902
48903         * modules/closeout (Depends-on): Add atexit.
48904
48905 2005-01-06  Bruno Haible  <bruno@clisp.org>
48906
48907         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
48908
48909 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
48910
48911         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
48912         definitions to be after all include files, to avoid collisions.
48913         Problem reported by Bob Proulx.
48914
48915 2005-01-04  Jim Meyering  <jim@meyering.net>
48916
48917         Changes imported from coreutils.
48918         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
48919         as the mkstemp template, use a temporary directory and an
48920         8.3-friendly template to avoid trouble on systems like DJGPP.
48921         Reported by Juan M. Guerrero via Stepan Kasal.
48922         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
48923         close. Remove the temporary directory right away, rather than waiting
48924         for configure's at-exit trap code to do it.
48925         Suggestion from Stepan Kasal.
48926
48927 2005-01-01  Simon Josefsson  <jas@extundo.com>
48928
48929         * gnulib-tool: Print #include directives when --import'ing.
48930
48931 2004-12-28  Simon Josefsson  <jas@extundo.com>
48932
48933         * tests/test-base64.c: Include required header files.  Remove
48934         unused variables.
48935
48936 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
48937
48938         * modules/error (Depends-on): Remove gettext.
48939
48940 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
48941
48942         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
48943         not needed.  This removes a dependency on the gettext module.
48944         [defined _LIBC]: Do not include <libintl.h>; not needed.
48945
48946 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
48947
48948         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
48949         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
48950
48951 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
48952
48953         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
48954         HAVE_DECL_STRTOLD.
48955
48956 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
48957
48958         * modules/getdate (Depends-on): Remove alloca-opt.
48959
48960 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
48961
48962         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
48963
48964 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
48965
48966         * lib/argp-parse.c: Include <stddef.h>.
48967         (alignof, alignto): New macros.
48968         (parser_init): Don't assume that void * is aligned sufficiently
48969         for struct option.
48970
48971         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
48972         need to extend the stack.
48973         (YYINITDEPTH): New macro, so that the initial stack isn't overly
48974         large.
48975
48976 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
48977
48978         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
48979
48980 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
48981
48982         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
48983         (2004-10-24) change.  Apparently this was a false alarm.
48984
48985         * modules/getdate: Depend on alloca-opt, not alloca.
48986
48987 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
48988
48989         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
48990         Remove now-obsolete comment about AIX.
48991         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
48992         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
48993         (YYMAXDEPTH): New macro.
48994
48995 2004-12-18  Simon Josefsson  <jas@extundo.com>
48996
48997         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
48998
48999 2004-12-18  Bruno Haible  <bruno@clisp.org>
49000
49001         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
49002
49003 2004-12-18  Bruno Haible  <bruno@clisp.org>
49004
49005         * lib/fatal-signal.c (fatal_signals): Make non-const.
49006         (init_fatal_signals): New function.
49007         (uninstall_handlers, install_handlers): Ignore signals that were set to
49008         SIG_IGN.
49009         (at_fatal_signal): Call init_fatal_signals.
49010         (init_fatal_signal_set): Likewise. Ignore signals that were set to
49011         SIG_IGN.
49012         Reported by Paul Eggert.
49013
49014 2004-12-18  Bruno Haible  <bruno@clisp.org>
49015
49016         * doc/alloca.texi: New file.
49017         * doc/alloca-opt.texi: New file.
49018
49019 2004-12-17  Jim Meyering  <jim@meyering.net>
49020
49021         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
49022         Otherwise, install-sh could exit with improper exit status when
49023         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
49024
49025 2004-12-16  Simon Josefsson  <jas@extundo.com>
49026
49027         * tests/test-base64.c: Add license.
49028
49029 2004-12-15  Stepan Kasal  <address@hidden>
49030
49031         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
49032
49033 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
49034
49035         * modules/getcwd (Files): Add m4/d-ino.m4.
49036         Suggested by Mark D. Baushke.
49037
49038 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
49039
49040         * lib/getdate.y (textint): New member "negative".
49041         (time_zone_hhmm): New function.
49042         Expect 14 shift-reduce conflicts, not 13.
49043         (o_colon_minutes): New rule.
49044         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
49045         (yylex): Set the "negative" member of signed numbers.
49046
49047 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
49048
49049         * doc/getdate.texi (Time of day items, Time zone items):
49050         Describe new formats +00:00, UTC+00:00.
49051
49052 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
49053
49054         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
49055         spurious "-l"s.  Problem reported by Stepan Kasal.
49056
49057 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
49058
49059         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
49060         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
49061
49062 2004-12-04  Simon Josefsson  <jas@extundo.com>
49063
49064         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
49065         Vandoorselaere <yoann@prelude-ids.org>.
49066
49067 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
49068
49069         Changes imported from coreutils.
49070         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
49071         exist.
49072         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
49073
49074 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
49075
49076         Changes imported from coreutils.
49077         * lib/hard-locale.c: Assume <locale.h> exists.
49078         Include "strdup.h".
49079         (GLIBC_VERSION): New macro.
49080         (hard_locale): Assume setlocale exists.
49081         Rewrite to avoid #ifdef.
49082         Use strdup rather than malloc + strcpy.
49083         * lib/human.c: Assume <locale.h> exists.
49084         (human_readable): Assume localeconv exists.
49085
49086 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
49087
49088         * modules/hard-locale (Depends-on): Add strdup.
49089
49090 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
49091
49092         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
49093         convert T2, not T.  (Imported from libc.)
49094
49095 2004-11-30  Simon Josefsson  <jas@extundo.com>
49096
49097         * modules/restrict (License): Change to LGPL.
49098
49099 2004-11-30  Simon Josefsson  <jas@extundo.com>
49100
49101         * m4/restrict.m4: Add copyright and copying conditions.
49102
49103 2004-11-30  Simon Josefsson  <jas@extundo.com>
49104
49105         * m4/base64.m4: New file.
49106
49107 2004-11-30  Simon Josefsson  <jas@extundo.com>
49108
49109         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
49110         base64.
49111
49112         * tests/test-base64.c: New file.
49113
49114         * modules/base64: New file.
49115
49116 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
49117
49118         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
49119         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
49120
49121         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
49122
49123 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
49124
49125         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
49126         (__getcwd.c): Don't restore errno; glibc doesn't.
49127         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
49128         first, falling back to our code only if its results look suspicious.
49129         Ensure that the resulting buffer is only as large as necessary.
49130
49131         * lib/readutmp.c: Include readutmp.h first.
49132         Include <errno.h>, since readutmp.h no longer does that.
49133         * lib/readutmp.h: Don't include <errno.h>,
49134         <sys/param.h>, <time.h>; not needed to establish interface.
49135         (errno): Remove decl.
49136         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
49137         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
49138         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
49139
49140 2004-11-28  Simon Josefsson  <jas@extundo.com>
49141
49142         * lib/base64.h, base64.c: New file.
49143
49144 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
49145
49146         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
49147
49148 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
49149
49150         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
49151         (Depends-on): Remove pathmax, same.  Add mempcpy.
49152         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
49153         (Makefile.am): Append getcwd.h to lib_SOURCES.
49154         (Include): Add getcwd.h.
49155         (Maintainer): Change from Jim Meyering to "all, glibc",
49156         since getdate now uses intended-for-glibc code.
49157         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
49158         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
49159
49160 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
49161
49162         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
49163         HP's ANSI C compiler.
49164         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
49165         Declaring int functions causes warnings on some modern systems and
49166         shouldn't be needed to compile on ancient ones.
49167         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
49168         defined.
49169
49170         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
49171         with the following changes.
49172         (__set_errno): Parenthesize properly.
49173         Include <stdbool.h>.
49174         (MIN, MAX, MATCHING_INO): New macros.
49175         (__getcwd): Define with prototype, not K&R form.
49176         Use heuristics to allocate default buffer on stack if possible.
49177         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
49178         behavior, and to avoid the PATH_MAX limit when computing
49179         ../../../../...
49180         Use MATCHING_INO to compare inode number to file.
49181         Check for arithmetic overflow in size calculations.
49182         Fix bug in reallocation of dot array that caused getcwd to fail
49183         on directories nested deeper than 75.
49184         Be more careful about saving errno on error.
49185         Do not use realloc; use only free+malloc, as this is a bit
49186         more flexible and avoids a needless copy operation.
49187         Do not inspect st_dev and st_ino for symbolic links; POSIX
49188         doesn't specify the latter.
49189         Check for closedir errors.
49190         Avoid needless casts.
49191         Use "#ifdef weak_alias" around weak_alias, to be like other
49192         glibc code.
49193         The following changes to getcwd.c have effect only when used in
49194         gnulib; they have no effect inside glibc proper.
49195         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
49196         as alloca isn't used.
49197         (alloca, __alloca): Likewise.
49198         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
49199         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
49200         unconditionally, as gnulib assumes C89 or better.
49201         Do not include <sys/param.h>.
49202         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
49203         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
49204         better.
49205         (NULL) [!defined NULL]: Remove; we assume C89 or better.
49206         Include <dirent.h> in a way that is compatible with modern Autoconf.
49207         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
49208         New macros, if not already defined.
49209         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
49210         Use "_LIBC", not "defined _LIBC", for consistency.
49211         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
49212         a mempcpy module.
49213         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
49214         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
49215         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
49216         credit only to Jim Meyering and adjust the copyright dates.
49217         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
49218         <stdlib.h>, <unistd.h>, "pathmax.h".
49219         Instead, include "xgetcwd.h" (first) and "getcwd.h".
49220         (INITIAL_BUFFER_SIZE): Remove.
49221         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
49222
49223 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
49224
49225         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
49226         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
49227         Use the _ONCE methods, for efficiency.
49228         Check for fcntl.h.  In test program, include <errno.h>
49229         and <fcntl.h> if available.  Remove old K&R cruft from
49230         test program.  Check for common errors in GNU/Linux,
49231         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
49232         don't do AC_LIBOBJ, as that's getcwd.m4's job.
49233         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
49234         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
49235         name accordingly.
49236         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
49237         accommodate new getcwd.c.
49238         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
49239         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
49240         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
49241         that's all we need now.
49242
49243 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
49244
49245         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
49246         argp-parse.c depends on getopt internals, that means we should
49247         always use our getopt, to be on the safe side.
49248         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
49249         order not to spoil the result of an eventual previous invocation
49250         of gl_GETOPT_SUBSTITUTE.
49251
49252 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
49253
49254         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
49255         redefinition warnings. To avoid them, include the defines
49256         in `#if !defined __need_getopt ... #endif'. The only place
49257         where __getopt_argv_const is used is in definitions
49258         of getopt_long and getopt_long_only below, which are as well
49259         protected by `#ifndef __need_getopt'.
49260         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
49261         __need_getopt after including <stdio.h> and <unistd.h> These
49262         headers might have defined it.
49263
49264 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
49265
49266         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
49267
49268 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
49269
49270         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
49271         (futimens): New function, which uses futimes if available.
49272         (futimens, utimens): Support timespec==NULL, with same semantics
49273         as utime and utimens.
49274         * lib/utimens.h (futimens): New decl.
49275
49276 2004-11-23  Jim Meyering  <jim@meyering.net>
49277
49278         * lib/getopt_.h: Remove trailing blanks.
49279
49280 2004-11-23  Jim Meyering  <jim@meyering.net>
49281
49282         * lib/__fpending.c: Add comment.
49283
49284 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
49285
49286         * modules/canonicalize (Depends-on): Add xreadlink.
49287         Problem reported by James Youngman.
49288
49289 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
49290
49291         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
49292         New macros.
49293         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
49294         optopt): Use them instead of invoking ## directly; otherwise, the
49295         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
49296
49297 2004-11-19  Bruno Haible  <bruno@clisp.org>
49298
49299         * lib/strtok_r.c: Move comments from here...
49300         * lib/strtok_r.h: ... to here.
49301
49302 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
49303
49304         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
49305         implementations that mishandle size_t overflow.
49306
49307 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
49308
49309         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
49310         might fail.  Problem reported by Yoann Vandoorselaere.
49311         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
49312         implementations that mishandle size_t overflow.
49313
49314 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
49315
49316         * modules/canon-host (Depends-on): Add strdup.
49317
49318 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
49319
49320         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
49321
49322 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
49323
49324         * lib/canon-host.c: Include "strdup.h".
49325         (canon_host): Use getaddrinfo if available, so that IPv6 works.
49326         Use strdup instead of malloc/strcpy to duplicate strings.
49327
49328         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
49329         (human_space_before_unit): New constant.
49330         * lib/human.c (human_readable): Support it.
49331
49332         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
49333         (xgetcwd): Set errno correctly when failing.
49334         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
49335         the failure is actually due to a PATH_MAX problem.
49336
49337         Further getopt changes to make it more likely that glibc will
49338         buy the changes back.
49339         * lib/getopt.c (POSIXLY_CORRECT): New constant.
49340         (getopt): Use it, so to preserve glibc semantic
49341         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
49342         when compiling for libc.
49343         * lib/getopt_.h (__getopt_argv_const): Bring it back.
49344         (getopt_long, getopt_long_only): Use it.
49345
49346         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
49347         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
49348         (getopt): Argv is now char * const *, as per standard.
49349         (_getopt_internal_r, _getopt_internal): Argv is now char **,
49350         not char *__getopt_argv_const *.
49351         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
49352         _getopt_long_only_r): Likewise.
49353         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
49354         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
49355         _getopt_long_r, _getopt_long_only_r): Likewise.
49356         * lib/getopt_.h (__getopt_argv_const): Remove.
49357         (getopt): Argv is now char * const *, as per standard.
49358
49359         * lib/getdate.y (tORDINAL): New token.
49360         (day, relunit): Allow it for relative times.
49361         (relative_time_table): Use tORDINAL for ordinals.
49362
49363 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
49364
49365         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
49366         Document that "second" isn't allowed as an ordinal number.
49367
49368 2004-11-16  Jim Meyering  <jim@meyering.net>
49369
49370         * modules/closeout (Depends-on): Add fpending.
49371
49372 2004-11-15  Jim Meyering  <jim@meyering.net>
49373
49374         * lib/closeout.c: Include "__fpending.h" once again.
49375         Include <stdbool.h>.
49376         (close_stdout): Don't fail just because stdout was closed initially,
49377         since some programs don't write to stdout in the normal course of
49378         operation (other than --version and --help), and we don't want this
49379         function to make e.g. `touch file >&-' fail.
49380         But do fail if it was closed and someone has tried to write to it.
49381         E.g., `printf foo >&-' must fail.
49382
49383 2004-11-13  Jim Meyering  <jim@meyering.net>
49384
49385         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
49386
49387 2004-11-12  Simon Josefsson  <jas@extundo.com>
49388
49389         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
49390         small doc fix is still pending.
49391
49392 2004-11-11  Simon Josefsson  <jas@extundo.com>
49393
49394         * modules/strtok_r: New file.
49395
49396         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
49397         strtok_r.
49398
49399 2004-11-11  Simon Josefsson  <jas@extundo.com>
49400
49401         * m4/strtok_r.m4: New file.
49402
49403         * m4/getopt.m4: Replace opterr.
49404
49405 2004-11-11  Simon Josefsson  <jas@extundo.com>
49406
49407         * lib/strtok_r.h, strtok_r.c: New file.
49408
49409 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
49410
49411         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
49412         of replacing opterr, getopt, etc.  This should handle the
49413         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
49414
49415 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
49416
49417         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
49418         we can stop lying to compilers about the constness of argv when we
49419         are compiled outside glibc.
49420         (getopt, getopt_long, getopt_long_only): Use it.
49421         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
49422         _getopt_internal, getopt): Likewise.
49423         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
49424         _getopt_long_only_r): Likewise.
49425         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
49426         _getopt_long_r, _getopt_long_only_r): Likewise.
49427
49428         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
49429         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
49430         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
49431         the other external symbols.
49432         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
49433         declaration, since the above renaming now works around collisions.
49434
49435 2004-11-11  Jim Meyering  <jim@meyering.net>
49436
49437         * lib/linebreak.c: Remove trailing blanks.
49438         * lib/alloca_.h: Likewise.
49439         * lib/acosl.c: Likewise.
49440         * lib/euidaccess.c: Likewise.
49441         * lib/allocsa.h: Likewise.
49442
49443 2004-11-10  Simon Josefsson  <jas@extundo.com>
49444
49445         * m4/getaddrinfo.m4: New file.
49446
49447 2004-11-10  Simon Josefsson  <jas@extundo.com>
49448
49449         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
49450
49451 2004-11-10  Simon Josefsson  <jas@extundo.com>
49452
49453         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
49454         getaddrinfo.
49455
49456         * modules/getaddrinfo: New file.
49457
49458 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
49459
49460         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
49461
49462 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
49463
49464         * lib/mktime.c (SHR): New macro, which is a portable
49465         substitute for >> that should work even on Crays.
49466         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
49467         Problem reported by Mark D. Baushke in
49468         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
49469         * lib/getdate.y (SHR): Likewise.
49470         (tm_diff): Use it.
49471         * lib/strftime.c (SHR): Likewise.
49472         (tm_diff): Use it.
49473         * lib/quotearg.c (struct quoting_options): Use unsigned int for
49474         quote_these_too, so that right shifts are well defined.  All uses
49475         changed.
49476
49477 2004-11-10  Jim Meyering  <jim@meyering.net>
49478
49479         Ensure that no close failure goes unreported.
49480         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
49481         return early when it seems there's nothing to flush.
49482         Don't include __fpending.h.
49483
49484 2004-11-10  Jim Meyering  <jim@meyering.net>
49485
49486         * modules/closeout (Depends-on): Remove fpending.
49487
49488 2004-11-10  Jim Meyering  <jim@meyering.net>
49489
49490         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
49491
49492 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
49493
49494         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
49495         gl_FUNC_STRFTIME.
49496         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
49497         and AC_REQUIRE when possible, to avoid duplicate checks.
49498         Check for <wchar.h>.
49499
49500 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
49501
49502         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
49503
49504 2004-11-09  Bruno Haible  <bruno@clisp.org>
49505
49506         * m4/sockpfaf.m4: New file.
49507
49508 2004-11-05  Bruno Haible  <bruno@clisp.org>
49509
49510         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
49511         Reported by Mark D. Baushke <mdb@cvshome.org>.
49512
49513 2004-11-04  Bruno Haible  <bruno@clisp.org>
49514
49515         2004-09-11  Bruno Haible  <bruno@clisp.org>
49516                 * allocsa.valgrind: New file.
49517         2004-02-06  Bruno Haible  <bruno@clisp.org>
49518                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
49519                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
49520                 Reported by Christopher Seip <chris.seip@hp.com>.
49521
49522 2004-11-04  Bruno Haible  <bruno@clisp.org>
49523
49524         * modules/allocsa (Files): Add lib/allocsa.valgrind.
49525         (Makefile.am): Distribute it.
49526
49527 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
49528
49529         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
49530         with errno == ERANGE if the buffer is too small.
49531         Problem reported by Mark D. Baushke.
49532
49533 2004-11-03  Albert Chin  <china@thewrittenword.com>
49534             Paul Eggert  <eggert@cs.ucla.edu>
49535
49536         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
49537         equivalent, substitute $ac_type for equivalent type rather than
49538         blindly using uint32_t *always* which won't work if uint32_t is not
49539         available.  Define _UINT32_T to work around typedef of uint32_t if
49540         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
49541         2.5.1.
49542
49543 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
49544
49545         * m4/jm-macros.m4: Sync from coreutils.
49546         (gl_MACROS): Check for mbrlen, for pathchk.
49547         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
49548
49549 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
49550
49551         * lib/xreadlink.c (MAXSIZE): New macro.
49552         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
49553         size does not exceed MAXSIZE.  Avoid cast.
49554         As suggested by Mark D. Baushke in
49555         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
49556         if readlink fails with buffer size just under MAXSIZE, try again
49557         with MAXSIZE.
49558
49559 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
49560
49561         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
49562
49563 2004-11-02  Derek R. Price  <derek@ximbiot.com>
49564         and  Paul Eggert  <eggert@cs.ucla.edu>
49565
49566         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
49567         (get_date): Overparenthesize to avoid GCC warning.
49568
49569 2004-11-02  Bruno Haible  <bruno@clisp.org>
49570
49571         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
49572         returns void.
49573
49574 2004-11-02  Bruno Haible  <bruno@clisp.org>
49575
49576         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
49577         function returns void.
49578
49579 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
49580
49581         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
49582         fflush_unlocked, flockfile, funlockfile, funlockfile,
49583         fputs_unlocked, putc_unlocked.
49584
49585 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
49586
49587         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
49588         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
49589         already declared.
49590
49591 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
49592
49593         * modules/getdate (Files): Add doc/getdate.texi.
49594         (Depends-on): Add setenv, xalloc.
49595
49596 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
49597
49598         * lib/getdate.y: Add support for TZ="foo" within a date string.
49599         Fix some bugs near time_t boundaries.  Reject dates with
49600         out-of-range components, e.g., "Sept 31".
49601         Include <stdlib.h>, "setenv.h", "xalloc.h".
49602         (ISDIGIT_LOCALE): Remove; unused.
49603         Note that the TZ and time functions used here are not reentrant.
49604         (mktime_ok, get_tz): New functions.
49605         (TZBUFSIZE): New constant.
49606         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
49607         This requires that we sometimes generate our own TZ="XXX..." setting.
49608
49609 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
49610
49611         * doc/getdate.texi: New file, from coreutils with modifications for
49612         the new TZ parsing.
49613
49614 2004-10-27  Derek R. Price  <derek@ximbiot.com>
49615
49616         * lib/mktime.c (not_equal_tm): Remove redundant check.
49617
49618 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
49619
49620         * modules/regex (lib_SOURCES): Add regex.c.
49621         Reported by James Youngman in
49622         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
49623
49624 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
49625
49626         * lib/getdate.y: Use Bison 1.875 features, and some minor
49627         code cleanups.  This change does not affect semantics.
49628         Don't include <stdlib.h>; no longer needed.
49629         Don't include unlocked-io.h; only the "#if TEST" code uses
49630         stdio, and performance isn't crucial there.
49631         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
49632         Bison 1.875 features as described below.
49633         All uses of "PC." replaced by "pc->".
49634         (YYSTYPE): Add a forward declaration.
49635         (yylex, yyerror): Use full prototypes in forward decls.
49636         Use "%pure-parser" rather than obsolescent "%pure_parser".
49637         Use %parse-param and %lex-param instead of obsolescent
49638         YYPARSE_PARAM and YYLEX_PARAM.
49639         (meridian_table, month_and_day_table, time_units_table,
49640         relative_time_table, time_zone_table, military_table,
49641         lookup_zone, lookup_word, get_date):
49642         Use NULL instead of 0 where appropriate.
49643         (to_hour): Avoid abort (), to avoid a dependency on
49644         stdlib.h.
49645         (yyerror, yylex): Now accepts parser_control * arg.
49646         (main) [TEST]: Use '\0' rather than 0 for char.
49647
49648 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
49649
49650         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
49651
49652 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
49653
49654         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
49655         It's now the caller's responsibility to handle the case where
49656         !HAVE_GETPAGESIZE && !defined getpagesize.
49657
49658         * lib/mktime.c (leapyear): Arg is long int, not int.
49659
49660 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
49661
49662         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
49663
49664 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
49665
49666         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
49667         missing.  Problem reported by James Youngman.
49668
49669 2004-10-16  Simon Josefsson  <jas@extundo.com>
49670
49671         * gnulib-tool: Fix comments.  Fix parse problem.
49672         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
49673
49674 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
49675
49676         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
49677         implementation of getopt_long.  Problem reported by Alexander Taler in:
49678         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
49679
49680 2004-10-15  Bruno Haible  <bruno@clisp.org>
49681
49682         * gnulib-tool: Untabify. Initialize supplied_libname.
49683         (func_usage): More homogenous output.
49684         (func_modules_transitive_closure, func_modules_to_filelist,
49685         func_emit_lib_Makefile_am): New functions.
49686         (func_import): New function, extracted from big case statement. Use
49687         func_get_license, func_modules_transitive_closure,
49688         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
49689         opt_lgpl. Don't use test -a, as it's not portable.
49690         (func_create_testdir): Use func_modules_transitive_closure,
49691         func_modules_to_filelist, func_emit_lib_Makefile_am.
49692
49693 2004-10-15  Bruno Haible  <bruno@clisp.org>
49694
49695         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
49696
49697 2004-10-15  Bruno Haible  <bruno@clisp.org>
49698
49699         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
49700         the portions belonging to each module.
49701         Suggested by Derek Robert Price <derek@ximbiot.com>.
49702
49703 2004-10-12  Simon Josefsson  <jas@extundo.com>
49704
49705         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
49706         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
49707         to real functions.
49708
49709 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
49710
49711         * modules/vsnprintf: New file.
49712
49713 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
49714
49715         * m4/vsnprintf.m4: New file.
49716
49717 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
49718
49719         * lib/vsnprintf.h: New file.
49720         * lib/vsnprintf.c: New file.
49721
49722 2004-10-11  Bruno Haible  <bruno@clisp.org>
49723
49724         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
49725         vsnprintf.
49726
49727 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
49728
49729         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
49730
49731 2004-10-07  Bruno Haible  <bruno@clisp.org>
49732
49733         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
49734         fits into the provided buffer.
49735
49736 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
49737
49738         * lib/diacrit.c, diacrit.h: Add GPL notice.
49739
49740         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
49741         notice.
49742         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
49743         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
49744         This avoids a potential constant-folding bug.
49745
49746 2004-10-05  Bruno Haible  <bruno@clisp.org>
49747
49748         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
49749         for the declaration of strsep.
49750
49751 2004-10-05  Bruno Haible  <bruno@clisp.org>
49752
49753         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
49754
49755 2004-10-04  Simon Josefsson  <jas@extundo.com>
49756
49757         * modules/memmem: New file.
49758         * tests/test-memmem.c: New file.
49759         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
49760
49761 2004-10-04  Simon Josefsson  <jas@extundo.com>
49762
49763         * m4/memmem.m4: New file.
49764
49765 2004-10-04  Simon Josefsson  <jas@extundo.com>
49766
49767         * lib/memmem.h: New file.
49768         * lib/memmem.c: New file, taken from glibc.
49769
49770 2004-10-04  Simon Josefsson  <jas@extundo.com>
49771
49772         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
49773         '#ifdef USE_UNLOCKED_IO'.
49774
49775 2004-10-04  Simon Josefsson  <jas@extundo.com>
49776
49777         * config/srclist.txt: Add memmem from glibc.
49778
49779 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
49780
49781         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
49782
49783         * modules/argmatch, modules/argp, modules/closeout, modules/error,
49784         modules/exclude, modules/getdate, modules/getline,
49785         modules/getndelim2, modules/getpass, modules/getpass-gnu,
49786         modules/getusershell, modules/linebuffer, modules/md5,
49787         modules/mountlist, modules/posixtm, modules/readtokens,
49788         modules/readutmp, modules/regex, modules/sha1,
49789         modules/version-etc, modules/yesno:
49790         Remove dependency on unlocked-io.
49791
49792 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
49793
49794         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
49795
49796         * m4/unlocked-io.m4: Add copyright notice.
49797         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
49798
49799 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
49800
49801         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
49802         * lib/xmalloc.c (xmemdup): Likewise.
49803         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
49804         XFREE): Remove these long-obsolescent macros.
49805         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
49806         * lib/xstrdup.c: Remove.
49807
49808         * lib/regex.c (re_comp): Cast gettext return value to char *,
49809         Problem reported by Martin Neitzel via Mark D. Baushke.
49810
49811 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
49812
49813         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
49814         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
49815         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
49816         regex.c, sha1.c, version-etc.c, yesno.c:
49817         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
49818         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
49819         the includer's responsibility.
49820
49821         Sync from coreutils.
49822
49823         * lib/modechange.c (mode_compile): Don't decrement a pointer that
49824         points to the start of a string, as the C Standard says the
49825         resulting behavior is undefined.
49826
49827         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
49828         simple -> simple_backups, numbered_existing ->
49829         numbered_existing_backups, numbered -> numbered_backups
49830         to avoid shadowing problems.  All uses changed.
49831         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
49832         * lib/backupfile.c (check_extension, numbered_backup):
49833         Rename locals to avoid shadowing 'basename'.
49834         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
49835         once.
49836
49837         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
49838         * lib/.cvsignore: Add getopt.h.
49839
49840 2004-10-04  Bruno Haible  <bruno@clisp.org>
49841
49842         * modules/README: New file.
49843         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
49844         not a module.
49845
49846 2004-10-02  Jim Meyering  <jim@meyering.net>
49847
49848         * lib/dirfd.h, getpagesize.h: Add copyright notice.
49849
49850 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
49851
49852         * modules/strsep: New file.
49853
49854 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
49855
49856         * m4/strsep.m4: New file.
49857
49858 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
49859
49860         * lib/strsep.h: New file.
49861         * lib/strsep.c: New file.
49862
49863 2004-10-01  Simon Josefsson  <jas@extundo.com>
49864
49865         * lib/snprintf.c (snprintf): Handle size==0.
49866
49867 2004-10-01  Simon Josefsson  <jas@extundo.com>
49868             Bruno Haible  <bruno@clisp.org>
49869
49870         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
49871         (snprintf): Declare 'args'.
49872
49873 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
49874
49875         * lib/snprintf.c: Remove comments as to why each header is needed.
49876
49877 2004-10-01  Bruno Haible  <bruno@clisp.org>
49878
49879         * MODULES.html.sh: Add strsep.
49880
49881 2004-09-30  Simon Josefsson  <jas@extundo.com>
49882
49883         * modules/snprintf: New file.
49884
49885 2004-09-30  Simon Josefsson  <jas@extundo.com>
49886
49887         * m4/snprintf.m4: New file.
49888
49889 2004-09-30  Simon Josefsson  <jas@extundo.com>
49890
49891         * lib/snprintf.h, lib/snprintf.c: New files.
49892
49893 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
49894
49895         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
49896         (hol_entry_help): Never translate an empty string.
49897         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
49898         * lib/argp.h (OPTION_NO_TRANS): New option.
49899
49900 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
49901
49902         * modules/argp (Maintainer): Replace Simon Josefsson
49903         by Sergey Poznyakoff.
49904
49905 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
49906
49907         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
49908         changes merged back into glibc.
49909
49910 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
49911
49912         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
49913
49914 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
49915
49916         * lib/xvasprintf.c: Include xalloc.h.
49917         (xvasprintf): Use xalloc_die, not xmalloc_die.
49918
49919 2004-09-29  Bruno Haible  <bruno@clisp.org>
49920
49921         * modules/alloca-opt: New file, derived from modules/alloca.
49922         * modules/allocsa: Depend on alloca-opt instead of alloca.
49923         * modules/setenv: Likewise.
49924         * modules/vasnprintf: Likewise.
49925         * MODULES.html.sh: Add alloca-opt.
49926
49927 2004-09-28  Simon Josefsson  <jas@extundo.com>
49928
49929         * gnulib-tool: New parameter --lgpl, to asseert that modules are
49930         LGPL, and to replace license template from GPL to LGPL.
49931
49932 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
49933
49934         * modules/dummy: Change license to LGPL.
49935
49936 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
49937
49938         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
49939
49940 2004-09-24  Simon Josefsson  <jas@extundo.com>
49941
49942         * modules/minmax (License): Change from GPL to LGPL.
49943
49944 2004-09-23  Simon Josefsson  <jas@extundo.com>
49945
49946         * gnulib-tool (--import): Typo.
49947
49948 2004-09-23  Simon Josefsson  <jas@extundo.com>
49949
49950         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
49951
49952 2004-09-22  Bruno Haible  <bruno@clisp.org>
49953
49954         * modules/*: Add 'License' field.
49955         * gnulib-tool: Accept --extract-license option.
49956         (func_get_license): New function.
49957
49958 2004-09-21  Bruno Haible  <bruno@clisp.org>
49959
49960         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
49961         Reported by Simon Josefsson.
49962
49963 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
49964
49965         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
49966         gl_AC_TYPE_LONG_LONG.
49967
49968 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
49969
49970         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
49971
49972 2004-09-18  Simon Josefsson  <jas@extundo.com>
49973         and  Paul Eggert  <eggert@cs.ucla.edu>
49974
49975         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
49976         calls with autoreconf.  Define GL_LIB.
49977
49978 2004-09-14  Karl Berry  <karl@gnu.org>
49979
49980         * config/srclist.txt: unsync setenv.c, sigh.
49981
49982 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
49983
49984         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
49985         Problem reported by Bruno Haible in:
49986         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
49987
49988 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
49989
49990         * config/srclist.txt: Comment out argp-pvh.c.
49991
49992 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
49993
49994         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
49995         in case some system header has #define'd it.  Problem reported by
49996         Soeren D. Schulze in
49997         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
49998
49999 2004-09-09  Karl Berry  <karl@gnu.org>
50000
50001         * regex.[ch]: delete from the root.  These were supposed to be
50002                 synced with emacs cvs, but this has not happened for about
50003                 a year, and anyway nothing else uses emacs regex.[ch].
50004                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
50005                 lib/regex[.ch] is untouched.
50006
50007 2004-09-09  Bruno Haible  <bruno@clisp.org>
50008
50009         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
50010
50011 2004-09-09  Bruno Haible  <bruno@clisp.org>
50012
50013         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
50014         modifications.
50015         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
50016
50017 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
50018
50019         * modules/xvasprintf: New file.
50020         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
50021
50022 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
50023
50024         * lib/xvasprintf.h: New file.
50025         * lib/xvasprintf.c: New file.
50026         * lib/xasprintf.c: New file.
50027
50028 2004-09-08  Bruno Haible  <bruno@clisp.org>
50029
50030         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
50031
50032 2004-09-08  Bruno Haible  <bruno@clisp.org>
50033
50034         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
50035         length is > INT_MAX.
50036         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
50037         more.
50038
50039 2004-09-08  Bruno Haible  <bruno@clisp.org>
50040
50041         * lib/stdint_.h: New file, taken from GNU clisp.
50042
50043 2004-09-08  Bruno Haible  <bruno@clisp.org>
50044             Oskar Liljeblad  <oskar@osk.mine.nu>
50045
50046         * modules/stdint: New file.
50047         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
50048
50049 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
50050
50051         Import from coreutils.
50052         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
50053         strings on unbounded length.  alloca's performance benefits aren't
50054         that important here.
50055         (V_STRDUP): Remove.
50056         (parse_with_separator): New function, with most of the internals
50057         of the old parse_user_spec.  Allow user to omit both user and group,
50058         for compatibility with FreeBSD.
50059         Clone only the user name, not the entire spec.
50060         Do not set *uid, *gid unless entirely successful.
50061         Avoid memory leak in some failing cases.
50062         Fix regression for USER.GROUP reported by Dmitry V. Levin in
50063         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
50064         (parse_user_spec): Rewrite to use parse_with_separator.
50065
50066 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
50067
50068         * modules/userspec: Don't depend on alloca.
50069
50070 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
50071
50072         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
50073
50074 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
50075
50076         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
50077         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
50078         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
50079
50080 2004-08-16  Simon Josefsson  <jas@extundo.com>
50081
50082         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
50083         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
50084         Add --dry-run for --import.
50085         Let user provided command line parameters override configure.ac
50086         settings.
50087
50088 2004-08-12  Simon Josefsson  <jas@extundo.com>
50089
50090         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
50091         as discussed with Paul Eggert in threads rooted at
50092         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
50093         and
50094         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
50095         Before, the test was empty, and relied on ELIDE_CODE in source
50096         code.)
50097         (gl_PREREQ_GETOPT): New macro.
50098         (gl_GETOPT): Use them.
50099
50100 2004-08-12  Simon Josefsson  <jas@extundo.com>
50101
50102         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
50103         * lib/getopt_.h: Renamed from getopt.h.
50104
50105 2004-08-12  Simon Josefsson  <jas@extundo.com>
50106
50107         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
50108         Change default library name from libfoo to libgnu.
50109         Now, if you have a configure.ac that says:
50110                 gl_SOURCE_BASE(gl)
50111                 gl_M4_BASE(gl/m4)
50112                 gl_MODULES(error getopt etcetera)
50113                 gl_INIT
50114         you can import all you need by running:
50115                 ../gnulib/gnulib-tool --import
50116
50117         * modules/getopt (Files): Rename getopt.h to getopt_.h.
50118         (Makefile.am): Rewrite, use logic from argz.
50119         (Include): Use <getopt.h> instead of "getopt.h".
50120
50121 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
50122
50123         * modules/argp (Files): Add m4/unlocked-io.m4.
50124         (Depends-on): Add extensions.
50125
50126 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
50127
50128         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
50129         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
50130         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
50131         Check for program_invocation_name, program_invocation_short_name,
50132         flockfile, funlockfile, features.h, _getopt_long_only_r.
50133
50134 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
50135
50136         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
50137         its complicated substitute.
50138         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
50139         and program_invocation_name.
50140         (__argp_basename) [!_LIBC]: Remove; the only use was
50141         replaced by its body.
50142         (__argp_short_program_name): Change condition from
50143         !defined __argp_short_program_name to
50144         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
50145         to match argp-namefrob.h.
50146         (__argp_failure): Don't assume strerror_r returns char *.
50147         * lib/argp-parse.c (N_): Define unconditionally.
50148         (argp_default_options): Fill out initializers with 0 to avoid
50149         gcc warnings.
50150
50151 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
50152
50153         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
50154         getopt1.c.
50155
50156 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
50157
50158         Merge from coreutils.
50159
50160         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
50161
50162         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
50163         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
50164
50165 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
50166
50167         Merge from coreutils.
50168
50169         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
50170         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
50171         for Reliant Unix 5.43.
50172
50173         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
50174         (union fooround): Use uintmax_t, not long int.
50175         The rest is a merge from libc:
50176         [defined _LIBC]: Include <shlib-compat.h>.
50177         (_obstack) [defined _LIBC]: Remove after 2.3.4.
50178
50179         * lib/settime.c (settime): Recode to avoid warning with
50180         Sun Forte C 6U2.
50181
50182         * lib/strverscmp.c: Convert to UTF-8.
50183
50184 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
50185
50186         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
50187         m4/uintmax_t.m4.
50188
50189 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
50190
50191         * modules/xalloc-die: New file.
50192         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
50193
50194         * modules/md5 (Files): Add m4/uint32_t.m4.
50195         * modules/sha1: Renamed from modules/sha.
50196         (Files):
50197         Rename lib/sha.h to lib/sha1.h.
50198         Rename lib/sha.c to lib/sha1.c.
50199         Rename m4/sha.m4 to m4/sha1.m4.
50200         (lib_SOURCES): Likewise.
50201         (configure.ac): Rename gl_SHA to gl_SHA1.
50202         (Include): sha.h -> sha1.h.
50203
50204 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
50205
50206         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
50207         * m4/sha1.m4: Renamed from sha.m4.
50208         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
50209
50210 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
50211
50212         * lib/obstack.h (obstack_empty_p):
50213         Don't assume that chunk->contents is suitably aligned.
50214         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
50215         Likewise. Problem reported by Benno in
50216         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
50217
50218         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
50219         readable.  This could be improved further but it'd take some work.
50220
50221 2004-08-08  Simon Josefsson  <jas@extundo.com>
50222
50223         * modules/xgethostname (Depends-on): Remove exit and error (not
50224         used).
50225
50226         * modules/getpass-gnu: Add getpass.h.
50227         (Depends-on): Add stdbool.
50228         * modules/getpass: Add getpass.h.
50229
50230 2004-08-08  Simon Josefsson  <jas@extundo.com>
50231
50232         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
50233         Check getpass declaration.
50234
50235 2004-08-08  Simon Josefsson  <jas@extundo.com>
50236
50237         * lib/xgethostname.c: Don't include error.h (not used).
50238
50239         * lib/getpass.h: Add.
50240         * lib/getpass.c: Include getpass.h first.
50241
50242 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
50243
50244         * lib/xalloc-die.c: New file.
50245         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
50246         All uses removed.
50247         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
50248         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
50249         xalloc-die.c.
50250         (_, N_, xalloc_die): Move to xalloc-die.c.
50251         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
50252         so that we needn't mess with xalloc_msg_memory_exhausted.
50253
50254         * lib/sha1.h: Renamed from sha.h.
50255         (SHA1_H): Renamed from _SHA_H.
50256         (sha1_ctx): Renamed from sha_ctx.
50257         (sha1_init_ctx): Renamed from sha_init_ctx.
50258         (sha1_process_block): Renamed from sha_process_block.
50259         (sha1_process_bytes): Renamed from sha_process_bytes.
50260         (sha1_finish_ctx): Renamed from sha_finish_ctx.
50261         (sha1_read_ctx): Renamed from sha_read_ctx.
50262         (sha1_stream): Renamed from sha_stream.
50263         (sha1_buffer): Renamed from sha_buffer.
50264         * lib/sha1.c: Likewise; renamed from sha.c.
50265         Do not include <sys/types.h>.
50266         Include <stddef.h> rather than <stdlib.h>.
50267
50268 2004-08-08  Bruno Haible  <bruno@clisp.org>
50269
50270         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
50271         FILESYSTEM_PREFIX_LEN.
50272         * lib/progreloc.c: Likewise.
50273         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
50274
50275 2004-08-06  Simon Josefsson  <jas@extundo.com>
50276
50277         * modules/progname (Depends-on): Don't depend on stdbool.
50278
50279 2004-08-06  Simon Josefsson  <jas@extundo.com>
50280
50281         * modules/getsubopt: New file.
50282         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
50283         getsubopt.
50284
50285 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
50286
50287         More merge from coreutils.
50288
50289         * m4/utimens.m4, m4/utimecmp.m4: New files.
50290         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
50291         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
50292         prereq.m4, sha.m4: Import changes from coreutils.
50293
50294 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
50295
50296         More merge from coreutils.
50297         * modules/raise, modules/readtokens0, modules/utimens:
50298         * modules/utimecmp, module/xnanosleep: New files.
50299         * modules/strftime: Add lib/strftime.h.
50300         Change include from <time.h> to "strftime.h".
50301         * modules/yesno: Add lib/yesno.h.
50302         * modules/backupfile: Remove lib/addext.c.
50303         * modules/euidaccess: Add stat-macros.h.
50304         * modules/canonicalize, modules/euidaccess,
50305         modules/filemode, modules/lchown, modules/makepath,
50306         modules/rmdir, modules/stat: Likewise.
50307
50308 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
50309
50310         Merge from tar.
50311         * lib/argp-help.c (make_hol, hol_append): Don't assume that
50312         SIZE_MAX is a valid preprocessor constant.
50313         (__argp_basename): Change from "#ifndef _LIBC"
50314         to "#ifndef __argp_short_program_name", so that
50315         we don't compile these functions for tar.
50316
50317         More merges from coreutils.
50318         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
50319         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
50320         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
50321         * lib/addext.c: Remove; no longer needed.
50322         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
50323         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
50324         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
50325         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
50326         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
50327         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
50328         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
50329         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
50330         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
50331         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
50332         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
50333         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
50334         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
50335         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
50336         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
50337         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
50338         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
50339         Import changes from coreutils.
50340
50341 2004-08-05  Simon Josefsson  <jas@extundo.com>
50342
50343         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
50344
50345 2004-08-05  Simon Josefsson  <jas@extundo.com>
50346
50347         * m4/getsubopt.m4: New file.
50348
50349 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
50350
50351         Merge from coreutils.
50352
50353         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
50354         * m4/getcwd-path-max.m4: New files.
50355
50356         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
50357         FILESYSTEM_PREFIX_LEN ->
50358         FILE_SYSTEM_PREFIX_LEN.
50359         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
50360         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
50361         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
50362         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
50363
50364         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
50365         prerequisite modules now handle the DOS stuff.
50366         Don't check for unistd.h.
50367
50368 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
50369
50370         Merge from coreutils.
50371
50372         * lib/.gdb-history: Remove; this doesn't belong here.
50373
50374         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
50375         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
50376         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
50377         * lib/getcwd.c: New files.
50378
50379         * lib/dirname.h: Include <stdbool.h>.
50380         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
50381         for consistency with POSIX terminology.  All uses changed.
50382         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
50383         (strip_trailing_slashes): Use bool for booleans.
50384         * lib/stripslash.c (strip_trailing_slashes): Likewise.
50385
50386         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
50387         sometimes returns a positive errno value even when it succeeds.
50388         (print_errno_message) [!LIBC]: Fall back on strerror if
50389         __strerror_r fails.
50390
50391         * lib/path-concat.c (mempcpy): Don't define if a system header defines
50392         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
50393         (longest_relative_suffix): New function.
50394         (path_concat): Use it.  Assume first argument is not NULL.
50395         Port to DOS.  Omit redundant separators.
50396         Report an error instead of returning NULL.
50397         Use mempcpy instead of memcpy.
50398         (xpath_concat): Remove: not declared or used.
50399
50400         * lib/same.h: Include <stdbool.h>
50401         (same_name): Return bool, not int.
50402         * lib/same.c (same_name): Likewise.
50403         (errno): Don't declare; we assume C89 or better now.
50404
50405         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
50406         if not already defined.
50407
50408         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
50409         * lib/dup-safer.c (errno): Likewise.
50410
50411 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
50412
50413         Merge from coreutils.
50414         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
50415         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
50416         * modules/path-concat: Don't depend on strdup.
50417
50418 2004-08-03  Simon Josefsson  <jas@extundo.com>
50419
50420         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
50421         * lib/progname.h: Don't include stdbool.h.
50422
50423 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
50424
50425         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
50426         * MODULES.html.sh (func_all_modules): Remove fatal.
50427
50428 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
50429
50430         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
50431
50432 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
50433
50434         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
50435         working.
50436
50437 2004-08-02  Simon Josefsson  <jas@extundo.com>
50438
50439         * lib/getsubopt.h: New file, with comments from Bruno Haible.
50440         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
50441         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
50442
50443 2004-08-01  Simon Josefsson  <jas@extundo.com>
50444
50445         * lib/xgetdomainname.c: Include stdlib.h, for free().
50446
50447 2004-07-19  Bruno Haible  <bruno@clisp.org>
50448
50449         * MODULES.html.sh (func_all_modules): Add dummy.
50450
50451 2004-07-16  Simon Josefsson  <jas@extundo.com>
50452
50453         * modules/dummy: New file.
50454
50455 2004-07-16  Simon Josefsson  <jas@extundo.com>
50456
50457         * lib/dummy.c: New file.
50458
50459 2004-07-16  Bruno Haible  <bruno@clisp.org>
50460
50461         * lib/backupfile.h: Add extern "C" for C++.
50462         * lib/closeout.h: Likewise.
50463         * lib/copy-file.h: Likewise.
50464         * lib/findprog.h: Likewise.
50465         * lib/full-write.h: Likewise.
50466         * lib/pathname.h: Likewise.
50467         * lib/progname.h: Likewise.
50468         * lib/stpcpy.h: Likewise.
50469         * lib/stpncpy.h: Likewise.
50470         * lib/strcase.h: Likewise.
50471         * lib/strstr.h: Likewise.
50472         * lib/xalloc.h: Likewise.
50473
50474         * lib/mbswidth.h: Add extern "C" for C++.
50475         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
50476
50477 2004-07-13  Robert Millan  <robertmh@gnu.org>
50478
50479         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
50480
50481 2004-07-09  Simon Josefsson  <jas@extundo.com>
50482
50483         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
50484         failed without this.)
50485
50486 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
50487
50488         * modules/chown (Files): Add lib/fchown-stub.c, since
50489         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
50490
50491 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
50492
50493         * lib/fchown-stub.c: New file.
50494
50495 2004-06-24  Jim Meyering  <jim@meyering.net>
50496
50497         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
50498
50499 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
50500
50501         * modules/argz: Omit "#include".
50502
50503         * MODULES.html.sh (func_all_modules): Add calloc, to match
50504         2004-06-01 addition of calloc module.
50505
50506 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
50507
50508         * m4/argz.m4: New file, which is autoupdated from libtool.
50509
50510 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
50511
50512         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
50513         libtool.
50514
50515 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
50516
50517         * config/srclist-update: Don't insist on "USA." before the
50518         close-comment, as libtool omits the period and puts the */ on a
50519         separate line.
50520         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
50521         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
50522
50523 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
50524
50525         * modules/argz: New file.
50526         * MODULES.html.sh (func_all_modules): Add argz.
50527
50528 2004-06-12  Jim Meyering  <jim@meyering.net>
50529         and  Paul Eggert  <eggert@cs.ucla.edu>
50530
50531         * modules/hash (Files): Add lib/xalloc.h.
50532         * modules/pipe (Depends-on): Add wait-process.
50533         * modules/stat (Depends-on): Add xalloc.
50534         * modules/userspec (Files): Add lib/userspec.h.
50535         * modules/xstrto
50536
50537         Upgrade from gettext-0.13.
50538         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
50539         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
50540         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
50541
50542 2004-06-10  Jim Meyering  <jim@meyering.net>
50543
50544         * lib/calloc.c: New file.
50545
50546 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
50547
50548         * lib/getdate.y (yylex): Allow space between sign and number.
50549         Problem reported by Dan Jacobson.
50550
50551 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
50552
50553         Merge from coreutils CVS.
50554
50555         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
50556         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
50557         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
50558         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
50559         xstrtol.m4: Fix copyright date and/or serial number.
50560
50561         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
50562         See if we need an fchown replacement.
50563         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
50564         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
50565         and use the replacement function if we detect either defect.
50566
50567         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
50568         gl_UTIMECMP.
50569
50570 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
50571         and  Jim Meyering  <jim@meyering.net>
50572
50573         Merge from coreutils CVS.
50574
50575         * lib/stat-macros.h: New file, with contents from file-type.h
50576         and coreutils' system.h.
50577         * lib/file-type.c: Include "stat-macros.h".
50578         * lib/file-type.h (file_type): Move all macro definitions to new file,
50579         stat-macros.h.
50580
50581         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
50582         Wrap old code with this conditional.
50583         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
50584         function that does not dereference symlinks.
50585         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
50586
50587         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
50588         dependency problems.
50589         (xreadlink): Accept new arg SIZE, for efficiency.
50590         All decls and uses changed.
50591         * lib/xreadlink.h: Include <stddef.h>, for size_t.
50592
50593         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
50594         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
50595
50596         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
50597         sysexits.h.
50598
50599 2004-06-01  Jim Meyering  <jim@meyering.net>
50600
50601         * m4/calloc.m4: New file.
50602
50603 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
50604
50605         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
50606         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
50607         Also, fix a typo in a diagnostic.
50608
50609 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
50610
50611         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
50612         or AC_FUNC_REALLOC.
50613
50614 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
50615
50616         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
50617         macros to be defined.
50618         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
50619         the allocator returns NULL because the requested size is zero.
50620
50621 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
50622
50623         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
50624         var.  Add comment explaining why libc still defines it.  This
50625         merges the following patch from glibc:
50626         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
50627
50628 2004-05-20  Andreas Schwab  <schwab@suse.de>
50629
50630         * m4/free.m4: Replace free if it not known to work, not the other
50631         way round.
50632
50633 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
50634
50635         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
50636         present in glibc since revision 1.1 of this file.
50637         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
50638         obstack_alignment_mask, obstack_alloc, obstack_base,
50639         obstack_blank, obstack_blank_fast, obstack_chunk_size,
50640         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
50641         obstack_grow0, obstack_init, obstack_int_grow,
50642         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
50643         obstack_next_free, obstack_object_size, obstack_ptr_grow,
50644         obstack_ptr_grow_fast, obstack_room): Remove declarations of
50645         nonexistent functions.
50646
50647 2004-05-18  Karl Berry  <karl@gnu.org>
50648
50649         * config/srclist.txt: break link for vasnprintf.c.
50650
50651 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
50652
50653         Port obstack to the AS/400, where pointers are 16 bytes wide and
50654         you cannot cast an integer to a valid pointer.  This patch is
50655         currently waiting to be integrated into glibc; see
50656         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
50657
50658         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
50659         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
50660         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
50661         (struct obstack): temp member is now a union of a pointer and
50662         an integer, instead of an integer.  All integer uses changed.
50663         This does not affect the physical layout of struct obstack,
50664         except on hosts (like the AS/400) where the size or alignment of
50665         void * is greater than that of ptrdiff_t.
50666         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
50667         __STDC__)]: Store temporary in pointer member of union, not
50668         integer member.
50669         * lib/obstack.c: Include <stddef.h>, for offsetof.
50670         (struct fooalign): Remove; it doesn't need a name.
50671         (union fooround): Change double to long double, and add void *.
50672         (DEFAULT_ALIGNMENT): Use offsetof to compute.
50673         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
50674         not a macro.  Hence the values are always int; so remove all
50675         casts-to-int in uses.
50676
50677 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
50678
50679         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
50680         we can get this patch merged into glibc.
50681
50682 2004-05-17  Derek R. Price  <derek@ximbiot.com>
50683             Paul Eggert  <eggert@cs.ucla.edu>
50684
50685         * m4/argp: Depend on alloca.
50686
50687 2004-05-17  Derek R. Price  <derek@ximbiot.com>
50688             Paul Eggert  <eggert@cs.ucla.edu>
50689
50690         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
50691         freecoding.
50692
50693 2004-05-17  Bruno Haible  <bruno@clisp.org>
50694
50695         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
50696         precision that consists of a '.' followed by an empty digit string.
50697         Patch by Tor Lillqvist <tml@iki.fi>.
50698
50699 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
50700
50701         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
50702         for backward compatibility with older code.  We need our own
50703         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
50704         it under some other name, and our alloca.h will define it.
50705
50706 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
50707             Derek Price  <derek@ximbiot.com>
50708
50709         * lib/alloca.c: Include <alloca.h>, to get our interface.
50710         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
50711         include <alloca.h> first.  Use C89 prototype for alloca; this
50712         requires including <stddef.h> for size_t.  Use extern "C" if C++.
50713         Use #elif for simplicity, since we can assume C89 now.
50714         Don't try to source the system alloca.h since it will not be found
50715         and to prevent recursively including its replacement.
50716         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
50717         * lib/regex.c: Likewise.
50718
50719 2004-05-16  Derek Price  <derek@ximbiot.com>
50720             Paul Eggert  <eggert@cs.ucla.edu>
50721
50722         getline cleanup.  This changes the getndelim2 API: both order of
50723         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
50724         no delimiter).
50725
50726         * lib/getline.c: Don't include stddef.h or stdio.h, since our
50727         interface does that.
50728         (getline): Always use getdelim, so that we don't have two
50729         copies of this code.
50730         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
50731         if available.
50732         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
50733         (GETNDELIM2_MAXIMUM): New macro.
50734         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
50735         instead of the old practice of delim2==0.  All callers changed.
50736         Return -1 on overflow, instead of returning junk.
50737         Do not set *linesize unless allocation succeeds.
50738         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
50739         that we include sys/types.h.
50740         * lib/getnline.h: Likewise.
50741         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
50742         (getndelim2): Reorder arguments.
50743         * lib/getnline.c (getnline, getndelim):
50744         Don't discard the NMAX argument.
50745         (getnline): Invoke getndelim, to avoid code duplication.
50746         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
50747         of (size_t) -1 by callers of the getnline family.
50748
50749 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
50750
50751         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
50752         Check for gettimeofday.
50753         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
50754         Check for settimeofday, stime.
50755
50756 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
50757
50758         * lib/nanosleep.c (suspended): Change its type from int to
50759         sig_atomic_t volatile.
50760         (first_call): Make it private to rpl_nanosleep, and have it
50761         be zero initially as that's a bit faster.
50762         (my_usleep): Round up fractional times instead of truncating them,
50763         as this is the usual meaning for 'sleep'.
50764
50765         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
50766         doesn't work.
50767         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
50768         (ENOSYS): Define if not defined.
50769         (settime): Fall back on stime if it exists and settimeofday fails.
50770         But don't bother with fallbacks if a method fails with errno == EPERM.
50771
50772 2004-05-11  Jim Meyering  <jim@meyering.net>
50773
50774         Prior to this change, the save_cwd caller required read access to the
50775         current directory on most systems (ones with the fchdir function).
50776
50777         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
50778         fails, try write-only, and finally, resort to using xgetcwd.
50779
50780 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
50781
50782         * lib/obstack.c, obstack.h: Import changes from libc.
50783
50784 2004-04-28  Bruno Haible  <bruno@clisp.org>
50785
50786         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
50787         also implicitly appends .exe to executables.
50788         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
50789         accepts Windows pathnames.
50790         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
50791         Treat Cygwin like Windows, since it now accepts Windows pathnames.
50792         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
50793         Treat Cygwin like Windows, since it now accepts Windows pathnames.
50794         Reported by Derek Robert Price <derek@ximbiot.com>.
50795
50796 2004-04-21  Karl Berry  <karl@gnu.org>
50797
50798         * config/srclist.txt (localcharset.c): break sync.
50799
50800 2004-04-20  Paul Eggert  <eggert@twinsun.com>
50801
50802         * m4/host-os.m4: Add a copyright notice.
50803
50804 2004-04-20  Jim Meyering  <jim@meyering.net>
50805
50806         Change UTILS_ to gl_ in AC_DEFINE'd names.
50807         Change utils_- and jm_-prefixed variables, too.
50808         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
50809         UTILS_FUNC_MKDIR_TRAILING_SLASH.
50810         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
50811
50812         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
50813         Don't emit trailing blanks.
50814         Also rename jm_-prefixed variables to have gl_ prefix.
50815
50816         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
50817         Also rename jm_-prefixed variables to have gl_ prefix.
50818
50819         * m4/jm-macros.m4: Reflect the renamings.
50820         * m4/prereq.m4: Likewise.
50821
50822 2004-04-20  Jim Meyering  <jim@meyering.net>
50823
50824         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
50825         memory.
50826
50827 2004-04-20  Jim Meyering  <jim@meyering.net>
50828             Bruno Haible  <bruno@clisp.org>
50829
50830         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
50831         memory when realloc fails.
50832
50833 2004-04-19  Jim Meyering  <jim@meyering.net>
50834
50835         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
50836         now that readutmp.c may call `free (0)'.
50837
50838 2004-04-19  Bruno Haible  <bruno@clisp.org>
50839
50840         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
50841         * m4/inttypes_h.m4: Likewise.
50842         * m4/stdint_h.m4: Likewise.
50843         * m4/intmax_t.m4: Likewise.
50844         * m4/uintmax_t.m4: Likewise.
50845
50846 2004-04-18  Jim Meyering  <jim@meyering.net>
50847
50848         * m4/prereq.m4: Don't forbid jm_ prefix.
50849
50850         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
50851         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
50852         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
50853         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
50854         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
50855         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
50856         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
50857         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
50858         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
50859         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
50860         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
50861         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
50862         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
50863         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
50864         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
50865         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
50866         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
50867         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
50868         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
50869
50870 2004-04-18  Jim Meyering  <jim@meyering.net>
50871
50872         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
50873         failure, don't leak memory and do call END_UTMP_ENT.
50874
50875 2004-04-16  Jim Meyering  <jim@meyering.net>
50876
50877         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
50878         coreutils' stat program.
50879         (gl_PREREQ): Don't require jm_PREREQ_STAT.
50880
50881 2004-04-11  Paul Eggert  <eggert@twinsun.com>
50882
50883         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
50884         C89.
50885         (CHAR_BIT): Remove, since we assume C89.
50886         Include <stdint.h> if available, as per current Autoconf CVS advice.
50887
50888 2004-03-31  Jim Meyering  <jim@meyering.net>
50889
50890         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
50891         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
50892         * m4/xalloc.m4: Likewise.
50893
50894 2004-03-30  Paul Eggert  <eggert@twinsun.com>
50895
50896         Merge from coreutils.
50897
50898         * m4/inttostr.m4: New file.
50899         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
50900         Require AM_STDBOOL_H and gl_TIMESPEC instead.
50901         Require gl_CLOCK_TIME.
50902         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
50903
50904 2004-03-30  Paul Eggert  <eggert@twinsun.com>
50905
50906         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
50907         not bool, to be more consistent with Unix conventions.
50908         Suggested by Bruno Haible.
50909
50910         Merge from coreutils.
50911
50912         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
50913         * lib/umaxtostr.c: New files.
50914
50915         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
50916         the usual <time.h> dance.
50917         (get_date): Change signature to support fractional time stamps.
50918         All callers changed.
50919         * lib/getdate.y: Include "getdate.h" first, as we can now
50920         assume C89 and don't need to worry about 'const'.
50921         Similarly, include "unlocked-io.h" near start, not in middle.
50922         Include <limits.h>.
50923         (textint.value): Use long int rather than int.
50924         (textint.digits): Use size_t rather than int.
50925         (BILLION, LOG10_BILLION): New constants.
50926         (parser_control): New member rel_ns.  Members day_ordinal,
50927         time_zone, month, day, hour, minutes, rel_year, rel_month,
50928         rel_day, rel_hour, rel_minutes, rel_seconds
50929         are now long int, not int.  Member seconds is now struct timespec,
50930         not int.  New member timespec_seen.  Members dates_seen, days_seen,
50931         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
50932         not int.
50933         (%union.intval): Now long int, not int.
50934         New member timespec.
50935         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
50936         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
50937         (spec): Now is a timespec or an item list.
50938         (timespec, items): New nonterminals.
50939         (time, rel, relunit, number, get_date):
50940         Add support for fractional seconds.
50941         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
50942         (gmtime, localtime, mktime): Remove decls; not needed with C89.
50943         (to_hour): First arg is now long int, not int.
50944         (to_year): Returns long int, not int.
50945         Don't treat year -70 like 70.
50946         (tm_diff): Returns long int, not int.
50947         (lookup_word): Use bool instead of int when appropriate.
50948         (yylex): Use size_t for count, not int.
50949         Detect overflow when parsing large integer constants.
50950         Add support for fractions.
50951         (get_date): Make pointers 'const' if possible.
50952         Use more-portable code to detect integer overflow.
50953         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
50954         Don't use ctime; it's not reliable if the year has >4 digits.
50955
50956         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
50957         This is for compatibility with BSD.
50958
50959         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
50960         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
50961         From coreutils' system.h.
50962
50963         * lib/userspec.c: Don't include "posixver.h".
50964         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
50965         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
50966         compatible extension.  Simplify code by removing a boolean int
50967         that was always nonzero if a string was nonnull.
50968
50969 2004-03-30  Jim Meyering  <jim@meyering.net>
50970
50971         Merge from coreutils.
50972
50973         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
50974         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
50975         on some systems one must include <grp.h> before it.
50976         Reported by Christian Krackowizer.
50977
50978 2004-03-30  Jim Meyering  <jim@meyering.net>
50979
50980         Merge from coreutils.
50981
50982         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
50983
50984         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
50985         an empty input stream.
50986
50987         * lib/readtokens.c: Include <stdbool.h>.
50988         (readtoken): Use `size_t' rather than int/long.
50989         All callers adjusted.
50990         Use `bool' rather than `int' where appropriate.
50991         Use memset rather than an explicit loop.
50992         Use x2nrealloc rather than xrealloc.
50993         Allow the use of `\0' as a delimiter.
50994         (readtokens): Likewise.
50995         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
50996
50997 2004-03-30  Jim Meyering  <jim@meyering.net>
50998
50999         * m4/realloc.m4: Remove file, since now it does no more than
51000         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
51001         the `configure.ac' section of module/realloc.
51002         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
51003
51004 2004-03-30  Bruno Haible  <bruno@clisp.org>
51005
51006         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
51007         nonnull.
51008
51009 2004-03-29  Paul Eggert  <eggert@twinsun.com>
51010
51011         Merge changes to getloadavg.c from coreutils and Emacs.
51012
51013         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
51014         Define to an expression, not to the empty string.
51015         Include cloexec.h and xalloc.h.
51016         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
51017         Use set_cloexec_flag rather than rolling our own.
51018         * lib/cloexec.c, lib/cloexec.h: New files.
51019
51020 2004-03-29  Paul Eggert  <eggert@twinsun.com>
51021
51022         * m4/cloexec.m4: New file.
51023
51024 2004-03-18  Paul Eggert  <eggert@twinsun.com>
51025
51026         * lib/getopt.h: Sync with libc CVS.
51027
51028 2004-03-18  Paul Eggert  <eggert@twinsun.com>
51029             Bruno Haible  <bruno@clisp.org>
51030
51031         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
51032         mbswidth.
51033
51034 2004-03-18  Paul Eggert  <eggert@twinsun.com>
51035             Bruno Haible  <bruno@clisp.org>
51036
51037         * lib/mbswidth.h: Include <wchar.h> only if
51038         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
51039         <wchar.h>.
51040         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
51041
51042 2004-03-09  Paul Eggert  <eggert@twinsun.com>
51043
51044         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
51045         Sync with libc CVS.
51046         * lib/getopt_int.h: New file, also synced from libc.
51047
51048 2004-03-09  Paul Eggert  <eggert@twinsun.com>
51049
51050         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
51051         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
51052         Bring back getopt.c, getopt.h, getopt1.c.
51053
51054 2004-03-07  Paul Eggert  <eggert@twinsun.com>
51055
51056         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
51057         All uses changed.  Check for sa_sigaction member; this fixes
51058         a bug first reported by Jason Andrade in
51059         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
51060
51061 2004-03-07  Paul Eggert  <eggert@twinsun.com>
51062
51063         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
51064         '#if' expressions.  Unlike the code it replaces, it does not
51065         depend on (defined _SC_PAGESIZE).  However, it does depend on
51066         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
51067         first reported by Jason Andrade in
51068         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
51069
51070 2004-02-25  Simon Josefsson  <jas@extundo.com>
51071
51072         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
51073
51074 2004-02-25  Simon Josefsson  <jas@extundo.com>
51075
51076         * lib/strdup.h: New file.
51077         * lib/strdup.c: Include it.
51078         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
51079         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
51080
51081 2004-02-23  Karl Berry  <karl@gnu.org>
51082
51083         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
51084         (from fencepost.gnu.org:/gd/gnuorg).
51085
51086 2004-02-23  Karl Berry  <karl@gnu.org>
51087
51088         * config/srclistvars.sh (GNUORG) [karl]: redefine.
51089         * config/srclist.txt: add maintain/standards documents.
51090
51091 2004-02-18  Bruno Haible  <bruno@clisp.org>
51092
51093         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
51094         Reported by Derek Robert Price <derek@ximbiot.com>.
51095
51096 2004-02-16  Karl Berry  <karl@gnu.org>
51097
51098         * config/mkinstalldirs, install-sh: update from automake.
51099
51100 2004-02-06  Karl Berry  <karl@gnu.org>
51101
51102         * m4/po.m4: update from gettext 0.14.1.
51103
51104 2004-02-06  Karl Berry  <karl@gnu.org>
51105
51106         * lib/config.charset: update from gettext 0.14.1.
51107
51108 2004-02-05  Paul Eggert  <eggert@twinsun.com>
51109
51110         Add comments and code, prompted by suggestions from Bruno Haible
51111         for sh-quote.
51112         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
51113         describing the enum quoting_style values.
51114         * lib/quotearg.c (quotearg_alloc): New function.
51115         (quotearg_buffer_restyled): Treat lone { and } as special.
51116         Treat = as special.  Work around bug with older shells
51117         that "see" a '\' that is really the 2nd byte of a multibyte char.
51118         Quote empty string with shell_quoting_style.
51119
51120 2004-02-03  Bruno Haible  <bruno@clisp.org>
51121
51122         * m4/pipe.m4: New file, from GNU gettext.
51123
51124 2004-02-03  Bruno Haible  <bruno@clisp.org>
51125
51126         * lib/pipe.h: New file, from GNU gettext.
51127         * lib/pipe.c: New file, from GNU gettext.
51128
51129 2004-01-27  Bruno Haible  <bruno@clisp.org>
51130
51131         * m4/execute.m4: New file, from GNU gettext.
51132
51133 2004-01-27  Bruno Haible  <bruno@clisp.org>
51134
51135         * lib/execute.h: New file, from GNU gettext.
51136         * lib/execute.c: New file, from GNU gettext.
51137         * lib/w32spawn.h: New file, from GNU gettext.
51138
51139 2004-01-24  Paul Eggert  <eggert@twinsun.com>
51140
51141         Merge from diffutils.
51142
51143         * lib/file-type.c (file_type): Add typed memory objects.
51144         * lib/file-type.h (S_TYPEISTMO): New macro.
51145
51146         * lib/c-stack.h (c_stack_action): Remove argv argument.
51147         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
51148         (die): Don't calculate message unless segv_action returns.
51149         (get_stack_location, min_address_from_argv, max_address_from_argv,
51150         volatile stack_base, volatile_stack_size): Remove.
51151         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
51152         that every segmentation violation is a stack overflow.  (Ouch!)
51153         See Debian bug 136249 (still outstanding) for more info about why
51154         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
51155
51156 2004-01-24  Paul Eggert  <eggert@twinsun.com>
51157
51158         Exit-status fix from coreutils.
51159
51160         Use exit_failure consistently in place of EXIT_FAILURE,
51161         so that program exit statuses are consistent on failure.
51162
51163         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
51164         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
51165         * lib/argmatch.h: Comment fix to match the above.
51166         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
51167         Now a macro referring to exit_failure, instead of a separate
51168         variable.  Include "exitfail.h" to get it.
51169         * lib/xstrtol.h: Include "exitfail.h".
51170         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
51171
51172         * lib/long-options.c (parse_long_options): Use prototype
51173         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
51174         for clarity.
51175
51176 2004-01-21  Jim Meyering  <jim@meyering.net>
51177
51178         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
51179         so as not to conflict with a different-sized __mktime_internal
51180         function in GNU libc.
51181         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
51182         Problem building statically-linked `ls' reported by Michael Brunnbauer.
51183
51184 2004-01-20  Karl Berry  <karl@gnu.org>
51185
51186         * config/config.guess: update from config.
51187
51188         * config/srclistvars.sh: GNUWWWLICENSES for karl.
51189
51190 2004-01-20  Bruno Haible  <bruno@clisp.org>
51191
51192         Safer stack allocation.
51193         * lib/setenv.c: Include allocsa.h.
51194         (alloca): Remove fallback definition.
51195         (freea): Remove macro.
51196         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
51197         instead of freea.
51198
51199 2004-01-20  Bruno Haible  <bruno@clisp.org>
51200
51201         * m4/eealloc.m4: New file, from GNU gettext.
51202
51203 2004-01-20  Bruno Haible  <bruno@clisp.org>
51204
51205         * m4/allocsa.m4: New file, from GNU gettext.
51206
51207 2004-01-20  Bruno Haible  <bruno@clisp.org>
51208
51209         * lib/xallocsa.h: New file, from GNU gettext.
51210         * lib/xallocsa.c: New file, from GNU gettext.
51211
51212 2004-01-20  Bruno Haible  <bruno@clisp.org>
51213
51214         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
51215
51216 2004-01-20  Bruno Haible  <bruno@clisp.org>
51217
51218         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
51219         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
51220         specially.
51221
51222 2004-01-20  Bruno Haible  <bruno@clisp.org>
51223
51224         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
51225         patch.
51226
51227 2004-01-20  Bruno Haible  <bruno@clisp.org>
51228
51229         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
51230
51231 2004-01-20  Bruno Haible  <bruno@clisp.org>
51232
51233         * lib/eealloc.h: New file.
51234
51235 2004-01-20  Bruno Haible  <bruno@clisp.org>
51236
51237         * lib/binary-io.h: Avoid warnings on Cygwin.
51238
51239 2004-01-20  Bruno Haible  <bruno@clisp.org>
51240
51241         * lib/allocsa.h: New file, from GNU gettext.
51242         * lib/allocsa.c: New file, from GNU gettext.
51243
51244 2004-01-18  Karl Berry  <karl@gnu.org>
51245
51246         * doc/gpl.texi, doc/lgpl.texi: new files.
51247
51248 2004-01-18  Karl Berry  <karl@gnu.org>
51249
51250         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
51251         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
51252
51253 2004-01-15  Paul Eggert  <eggert@twinsun.com>
51254
51255         Merge from coreutils.
51256
51257         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
51258         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
51259         (gl_DEFAULT_POSIX2_VERSION): Move
51260         the documentation from 'configure' into 'config.hin',
51261         so that 'configure --help' isn't burdened by it and
51262         we don't have to worry about its formatting there.
51263         Reword the documentation so that it's more succinct
51264         and can be run together into a single paragraph.
51265         * m4/same.m4 (gl_SAME): Check for pathconf.
51266
51267 2004-01-15  Paul Eggert  <eggert@twinsun.com>
51268
51269         Merge from coreutils.
51270
51271         * lib/posixver.c: Include posixver.h.
51272
51273         * lib/same.c: Include <stdbool.h>, <limits.h>.
51274         (_POSIX_NAME_MAX): Define if not defined.
51275         (MIN): New macro.
51276         (same_name): If file names are silently truncated, report
51277         that the file names are the same if they are the same after
51278         the silent truncation.
51279
51280         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
51281         conversion function.
51282         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
51283         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
51284         longer needed.
51285
51286 2004-01-15  Jim Meyering  <jim@meyering.net>
51287
51288         Merge from coreutils.
51289
51290         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
51291         if no library is required.
51292         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
51293         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
51294         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
51295         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
51296         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
51297         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
51298         value, $ac_cv_search_crypt, if it's "none required".
51299         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
51300         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
51301         not gl_FUNC_GETLOADAVG.
51302         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
51303         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
51304
51305 2004-01-15  Jim Meyering  <jim@meyering.net>
51306
51307         Merge from coreutils.
51308
51309         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
51310         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
51311         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
51312
51313         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
51314         optional configure-time default.
51315
51316         * lib/version-etc.c (version_etc_copyright): Update copyright date.
51317
51318         * lib/xreadlink.c (xreadlink): Correct outdated comment.
51319
51320 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
51321
51322         Merge from coreutils.
51323
51324         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
51325         value, $ac_cv_search_nanosleep, if it's "none required".
51326
51327 2004-01-14  Paul Eggert  <eggert@twinsun.com>
51328
51329         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
51330         with like-named macro in fnmatch.c.
51331         (EXT): Use an internal constant instead.
51332
51333         Merge fnmatch patches from glibc.
51334         * lib/fnmatch.c (mbsinit): Remove define.
51335         Add libc_hidden_ver (__fnmatch, fnmatch).
51336         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
51337         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
51338
51339 2004-01-14  Karl Berry  <karl@gnu.org>
51340
51341         * config/install-sh: update from automake.
51342
51343 2004-01-13  Karl Berry  <karl@gnu.org>
51344
51345         * config/install-sh: update from automake.
51346
51347 2004-01-09  Karl Berry  <karl@gnu.org>
51348
51349         * config/install-sh: update from automake.
51350
51351 2004-01-05  Karl Berry  <karl@gnu.org>
51352
51353         * config/config.{sub,guess}: update from config.
51354
51355 2003-12-31  Karl Berry  <karl@gnu.org>
51356
51357         * config/depcomp: update from automake.
51358
51359 2003-12-14  Karl Berry  <karl@gnu.org>
51360
51361         * lib/config.charset: update from gettext-runtime.
51362
51363 2003-12-03  Paul Eggert  <eggert@twinsun.com>
51364
51365         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
51366         Bug reported by Alfred M. Szmidt.
51367
51368 2003-12-03  Bruno Haible  <bruno@clisp.org>
51369
51370         * m4/gettext.m4: Upgrade from gettext-0.13.
51371         * m4/po.m4: Upgrade from gettext-0.13.
51372         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
51373         * m4/intmax.m4: New file, from gettext-0.13.
51374         * m4/printf-posix.m4: New file, from gettext-0.13.
51375
51376 2003-11-29  Karl Berry  <karl@gnu.org>
51377
51378         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
51379
51380 2003-11-25  Paul Eggert  <eggert@twinsun.com>
51381             Bruno Haible  <bruno@clisp.org>
51382
51383         * lib/printf-parse.h: Don't include sys/types.h.
51384         (ARG_NONE): New macro.
51385         (char_directive): Change type of *arg_index fields to size_t.
51386         * lib/printf-parse.c: Don't include sys/types.h.
51387         (SSIZE_MAX): Remove macro.
51388         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
51389         Remove unnecessary overflow check.
51390         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
51391         fields.
51392
51393 2003-11-25  Bruno Haible  <bruno@clisp.org>
51394
51395         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
51396
51397 2003-11-25  Bruno Haible  <bruno@clisp.org>
51398
51399         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
51400         gt_TYPE_SSIZE_T.
51401
51402 2003-11-24  Paul Eggert  <eggert@twinsun.com>
51403
51404         * modules/alloca: Remove dependency on xalloc.
51405
51406 2003-11-24  Paul Eggert  <eggert@twinsun.com>
51407
51408         * lib/alloca.c: Remove dependency on xalloc module.
51409         (xalloc_die): Remove.
51410         (memory_full) [!defined emacs]: New macro.
51411         [!defined emacs]: Don't include xalloc.h.
51412         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
51413         address arithmetic overflows.  Change datatypes a bit to avoid
51414         unnecessary casts.
51415
51416 2003-11-22  Jim Meyering  <jim@meyering.net>
51417
51418         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
51419         s/size/size_t/.
51420
51421 2003-11-21  Karl Berry  <karl@gnu.org>
51422
51423         * config/config.{sub,guess}: update from config.
51424
51425 2003-11-18  Karl Berry  <karl@gnu.org>
51426
51427         * config/config.{sub,guess}: update from config.
51428
51429         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
51430
51431 2003-11-17  Paul Eggert  <eggert@twinsun.com>
51432
51433         * README: Mention that S+T cannot overflow if S is the size of
51434         an existing object and T is sufficiently small.
51435
51436 2003-11-17  Jim Meyering  <jim@meyering.net>
51437
51438         On systems without utime and without a utimes function capable of
51439         dealing with a NULL struct utimbuf* argument, this utime replacement
51440         could -- in unusual circumstances -- leak a file descriptor.
51441         * lib/utime.c: Include <unistd.h> and <errno.h>.
51442         (utime_null): Be sure to close `fd' and to preserve errno.
51443         Reported by Geoff Collyer via Arnold Robbins.
51444
51445 2003-11-17  Bruno Haible  <bruno@clisp.org>
51446
51447         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
51448         (Depends-on): Add xsize.
51449
51450 2003-11-17  Bruno Haible  <bruno@clisp.org>
51451
51452         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
51453
51454 2003-11-17  Bruno Haible  <bruno@clisp.org>
51455
51456         * lib/vasnprintf.c (alloca): Remove fallback definition.
51457         (freea): Remove definition.
51458         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
51459         Reported by Paul Eggert.
51460
51461 2003-11-16  Paul Eggert  <eggert@twinsun.com>
51462             Bruno Haible  <bruno@clisp.org>
51463
51464         Protect against address arithmetic overflow.
51465         * lib/printf-args.h: Include stddef.h.
51466         (arguments): Change type of field 'count' to size_t.
51467         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
51468         'unsigned int' where appropriate.
51469         * lib/printf-parse.h: Include sys/types.h.
51470         (char_directive): Change type of *arg_index fields to ssize_t.
51471         (char_directives): Change type of fields 'count', max_*_length to
51472         size_t.
51473         * lib/printf-parse.c: Include sys/types.h and xsize.h.
51474         (SSIZE_MAX): Define fallback value.
51475         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
51476         instead of 'int' where appropriate. Check a_allocated, d_allocated
51477         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
51478         * lib/vasnprintf.c: Include xsize.h.
51479         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
51480         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
51481         overflow. Avoid wraparound when converting a width or precision from
51482         decimal to binary.
51483
51484 2003-11-16  Bruno Haible  <bruno@clisp.org>
51485
51486         Update from GNU gettext.
51487         * lib/printf-parse.c: Generalize to it can be compiled for wide
51488         strings.
51489         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
51490         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
51491         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
51492         SNPRINTF): New macros.
51493         Don't include <alloca.h> if the file is used inside libintl.
51494         (local_wcslen): New function, for Solaris 2.5.1.
51495         (VASNPRINTF): Use it instead of wcslen.
51496
51497 2003-11-16  Bruno Haible  <bruno@clisp.org>
51498
51499         * lib/xsize.h (xmax): New function.
51500         (xsum, xsum3, xsum4): Declare as "pure" functions.
51501
51502 2003-11-12  Paul Eggert  <eggert@twinsun.com>
51503
51504         * modules/xalloc (Files): Undo latest change, since xalloc.h
51505         no longer needs SIZE_MAX or PTRDIFF_MAX.
51506
51507 2003-11-12  Paul Eggert  <eggert@twinsun.com>
51508
51509         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
51510         gl_PTRDIFF_MAX.
51511
51512 2003-11-12  Paul Eggert  <eggert@twinsun.com>
51513
51514         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
51515         "return", to pacify some unknown compiler.  Problem reported
51516         by Joerg Schilling.
51517
51518 2003-11-12  Paul Eggert  <eggert@twinsun.com>
51519
51520         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
51521         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
51522         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
51523         heuristic is just as accurate as far as we know, and it removes a
51524         dependency on size_max.m4 and ptrdiff_max.m4.
51525
51526 2003-11-11  Bruno Haible  <bruno@clisp.org>
51527
51528         * modules/xsize (Files): Add m4/size_max.m4.
51529         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
51530
51531 2003-11-11  Bruno Haible  <bruno@clisp.org>
51532
51533         * m4/size_max.m4: New file.
51534         * m4/ptrdiff_max.m4: New file.
51535         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
51536         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
51537         (gl_XALLOC): Invoke it.
51538
51539 2003-11-11  Bruno Haible  <bruno@clisp.org>
51540
51541         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
51542         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
51543         defined.
51544
51545 2003-11-10  Paul Eggert  <eggert@twinsun.com>
51546
51547         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
51548         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
51549         rejected some allocations of exactly SIZE_MAX - 2 bytes.
51550         From Bruno Haible.
51551         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
51552         not (size_t) -1, since it's defined here.
51553
51554 2003-11-09  Karl Berry  <karl@gnu.org>
51555
51556         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
51557
51558 2003-11-06  Paul Eggert  <eggert@twinsun.com>
51559
51560         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
51561         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
51562         Reject sizes of exactly SIZE_MAX bytes.
51563         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
51564         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
51565
51566 2003-11-05  Bruno Haible  <bruno@clisp.org>
51567
51568         * lib/xsize.h: Include limits.h, to avoid a possible collision with
51569         SIZE_MAX defined in <limits.h> on Solaris.
51570
51571 2003-11-04  Jim Meyering  <jim@meyering.net>
51572
51573         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
51574         variable names, rather than @VAR@.
51575         * modules/poll: Likewise.
51576
51577 2003-11-04  Bruno Haible  <bruno@clisp.org>
51578
51579         * modules/xsize: New file.
51580         * modules/linebreak: Depend on xsize.
51581         * MODULES.html.sh (func_all_modules): Add xsize.
51582
51583 2003-11-04  Bruno Haible  <bruno@clisp.org>
51584
51585         * m4/xsize.m4: New file.
51586
51587 2003-11-04  Bruno Haible  <bruno@clisp.org>
51588
51589         * lib/xsize.h: New file.
51590         * lib/linebreak.c: Include xsize.h.
51591         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
51592         argument for overflow.
51593         Suggested by Paul Eggert.
51594
51595 2003-11-03  Karl Berry  <karl@gnu.org>
51596
51597         * config/config.{guess,sub}: update from config.
51598
51599 2003-11-03  Jim Meyering  <jim@meyering.net>
51600
51601         * modules/userspec (lib_SOURCES): Add userspec.h.
51602         (Include): Add "userspec.h".
51603         Improve description.
51604
51605 2003-11-03  Jim Meyering  <jim@meyering.net>
51606
51607         * lib/userspec.c: Include "userspec.h".
51608         * lib/userspec.h: New file.
51609
51610 2003-11-03  Bruno Haible  <bruno@clisp.org>
51611
51612         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
51613
51614 2003-11-03  Bruno Haible  <bruno@clisp.org>
51615
51616         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
51617         available, to avoid (extremely rare) race condition.
51618         Suggested by Paul Eggert.
51619
51620 2003-11-02  Karl Berry  <karl@gnu.org>
51621
51622         * config/srclist.txt (vasprintf.c): sync broken, sigh.
51623
51624 2003-10-31  Paul Eggert  <eggert@twinsun.com>
51625
51626         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
51627         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
51628         (read_filesystem_list): Set and use me_type_malloced.
51629         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
51630         whatever the type happens to be), for brevity and consistency.
51631         Check for size calculation overflow on Alphas running OSF/1.
51632
51633 2003-10-31  Jim Meyering  <jim@meyering.net>
51634
51635         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
51636
51637         * lib/linebuffer.c: Include <string.h> for declaration of memset.
51638
51639 2003-10-30  Paul Eggert  <eggert@twinsun.com>
51640             Bruno Haible  <bruno@clisp.org>
51641
51642         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
51643         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
51644
51645 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
51646
51647         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
51648         netbsd*-gnu*.  Suggested by Robert Millan.
51649
51650 2003-10-29  Paul Eggert  <eggert@twinsun.com>
51651
51652         * modules/group-member: Depend on stdbool.
51653
51654 2003-10-29  Paul Eggert  <eggert@twinsun.com>
51655
51656         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
51657
51658 2003-10-29  Paul Eggert  <eggert@twinsun.com>
51659
51660         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
51661         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
51662         after the 'gnu' in these cases.  This fixes some bugs in the
51663         previous change, and is based on suggestions by Robert Millan.
51664
51665 2003-10-29  Paul Eggert  <eggert@twinsun.com>
51666
51667         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
51668         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
51669         no longer needed.
51670         * lib/quotearg.c (quotearg_n_options): Use it.
51671         * lib/group-member.c: Include <stdbool.h>.
51672         (free_group_info): Arg is now const *; don't free arg.
51673         (get_group_info): Now returns bool and accepts struct group_info *,
51674         rather than returning a malloc'ed struct group_info *.
51675         All uses changed.  Check for overflow in internal size calculation.
51676
51677         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
51678         rather than xmalloc/xrealloc.
51679         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
51680         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
51681         conformance bug: the old code used a pointer after freeing the
51682         storage that it addressed.
51683         * lib/hash.c (hash_initialize): Simplify the code by using
51684         xalloc_oversized rather than doing it by hand.
51685         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
51686         the buffer preserved.  Use free and xmalloc instead.
51687         * lib/quotearg.c (quotearg_n_options): Likewise.
51688         Use a simpler test for size overflow.  Don't use xalloc_oversized
51689         because unsigned int might be wider than size_t (!); this suggests
51690         that we should switch from unsigned int to size_t for slot numbers.
51691
51692 2003-10-28  Paul Eggert  <eggert@twinsun.com>
51693
51694         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
51695         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
51696         NetBSD kernels.  Requested by Richard Stallman.
51697
51698 2003-10-27  Paul Eggert  <eggert@twinsun.com>
51699
51700         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
51701         to allocate the returned structure.  Do not allocate a subarray,
51702         as x2nrealloc will do that.
51703         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
51704         instead of xnrealloc.
51705         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
51706
51707 2003-10-27  Bruno Haible  <bruno@clisp.org>
51708
51709         * lib/stdbool_.h: Better support for BeOS.
51710
51711 2003-10-26  Paul Eggert  <eggert@twinsun.com>
51712
51713         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
51714         now uses inline.
51715
51716 2003-10-26  Paul Eggert  <eggert@twinsun.com>
51717
51718         * lib/xalloc.h (xalloc_oversized): New static inline function, for
51719         callers that want to do their own size-overflow checking.  Include
51720         <stdbool.h>, since xalloc_oversized returns bool.
51721         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
51722         to use xalloc_oversized.
51723
51724         Add two functions x2realloc, x2nrealloc, for programs that grow
51725         arrays dynamically by doubling their sizes.
51726         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
51727         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
51728         New functions.
51729
51730         Port to C99 semantics for 'inline' of external functions.
51731         Bug reported by Bruno Haible.
51732         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
51733         with the old contents of xnmalloc.
51734         (xnmalloc, xmalloc): Use it.
51735         (xnrealloc_inline): New static inline function,
51736         with the old contents of xnrealloc.
51737         (xnrealloc, xrealloc): Use it.
51738
51739         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
51740         that.
51741
51742 2003-10-26  Karl Berry  <karl@gnu.org>
51743
51744         * config/srclist.txt (COPYING.DOC): no longer available from
51745         /gd/gnuorg; don't know where the ultimate source is.
51746
51747 2003-10-25  Paul Eggert  <eggert@twinsun.com>
51748
51749         Fix several address-calculation bugs in the hash modules,
51750         plus some minor code cleanup.
51751
51752         * lib/hash.h: Include <stdbool.h>, for bool.
51753         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
51754         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
51755         hash_get_n_entries, hash_get_max_bucket_length,
51756         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
51757         hash_rehash): Use size_t rather than unsigned.
51758         * lib/hash.c (struct hash_table, hash_get_n_buckets,
51759         hash_get_n_buckets_used, hash_get_n_entries,
51760         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
51761         hash_get_entries, hash_do_for_each, hash_string, is_prime,
51762         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
51763         Likewise.
51764         (SIZE_MAX): Define if not defined.
51765         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
51766         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
51767         hash_print):
51768         Use const * when possible.
51769         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
51770         (check_tuning): Fix bug: if tuning parameters were very close to
51771         0 or 1, rounding errors could have caused subscript violations.
51772         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
51773         (hash_initialize): Add 'fail:' label
51774         to free table and return NULL, and use it to simplify code.
51775         Use calloc rather than clearing the storage ourself.
51776         (hash_initialize, hash_rehash): Check for arithmetic overflow in
51777         buffer size calculations.
51778         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
51779         Include <stddef.h>, for size_t.
51780         * lib/hash-pjw.c (hash_pjw): Likewise.
51781         Switch to method described by Bruno Haible.
51782         Include <limits.h>, for CHAR_BIT.
51783         (SIZE_BITS): New macro.
51784
51785 2003-10-23  Paul Eggert  <eggert@twinsun.com>
51786
51787         * m4/getline.m4 (AM_FUNC_GETLINE):
51788         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
51789         hosts.  Problem reported by Derek Robert Price in
51790         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
51791         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
51792         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
51793
51794 2003-10-21  Paul Eggert  <eggert@twinsun.com>
51795
51796         * lib/getndelim2.c (getndelim2): When size calculation overflows,
51797         ceiling the allocation at NMAX bytes rather than silently
51798         discarding input bytes before NMAX is reached.  This makes
51799         a difference only if NMAX exceeds SIZE_MAX / 2.
51800
51801         * lib/obstack.c: Merge from glibc.
51802         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
51803         Add libc_hidden_def (_obstack_newchunk).
51804         (_obstack_free) [! defined _LIBC]: Remove.
51805         [defined _LIBC]: Make a strong alias from obstack_free, rather than
51806         a clone of the function body.
51807         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
51808         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
51809
51810         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
51811         glibc.
51812         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
51813         arg to memcpy.
51814
51815         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
51816         (obstack_ptr_grow_fast, obstack_int_grow_fast):
51817         Don't use lvalue casts, as GCC plans to remove support for them
51818         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
51819         was also present in the non-GCC version, indicating that this
51820         code had always been buggy and had never been widely used.
51821         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
51822         Use the fast variant of each macro, rather than copying the
51823         definiens of the fast variant; that way, we'll be more likely to
51824         catch future bugs in the fast variants.
51825
51826 2003-10-20  Bruno Haible  <bruno@clisp.org>
51827
51828         * modules/wait-process: New file.
51829         * MODULES.html.sh (func_all_modules): Add wait-process.
51830
51831 2003-10-20  Bruno Haible  <bruno@clisp.org>
51832
51833         * m4/wait-process.m4: New file.
51834
51835 2003-10-20  Bruno Haible  <bruno@clisp.org>
51836
51837         * lib/wait-process.h: New file, from GNU gettext.
51838         * lib/wait-process.c: New file, from GNU gettext.
51839
51840 2003-10-19  Jim Meyering  <jim@meyering.net>
51841
51842         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
51843         HPUX 10.20.
51844
51845 2003-10-18  Karl Berry  <karl@gnu.org>
51846
51847         * config/config.guess: update from config.
51848
51849 2003-10-16  Paul Eggert  <eggert@twinsun.com>
51850
51851         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
51852         (getgroups): First arg is int, not size_t.
51853         Don't let 'free' mangle errno.
51854
51855 2003-10-16  Paul Eggert  <eggert@twinsun.com>
51856
51857         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
51858
51859 2003-10-16  Karl Berry  <karl@gnu.org>
51860
51861         * config/config.{guess,sub}: update from config.
51862
51863 2003-10-16  Jim Meyering  <jim@meyering.net>
51864
51865         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
51866         memcpy.
51867
51868 2003-10-15  Paul Eggert  <eggert@twinsun.com>
51869
51870         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
51871         (SIZE_MAX): Remove.
51872         (new_exclude, add_exclude_file): Initial size no longer needs to
51873         be a power of 2.
51874         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
51875         our own address arithmetic overflow checking.
51876
51877         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
51878         (fnmatch): Do not alloca more than 2000 wide characters;
51879         instead, use malloc for large buffers.
51880         Check for address arithmetic overflow, and return -1
51881         with errno set to ENOMEM in that case.
51882         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
51883         (NEW_PATTERN): Do not alloca more than 8000 bytes;
51884         instead, return -1.  Check for address arithmetic overflow.
51885
51886 2003-10-14  Paul Eggert  <eggert@twinsun.com>
51887
51888         Handle invalid suffixes and overflow independently, so that
51889         callers can treat them independently as needed.  Fix some bugs in
51890         suffix handling, e.g., "100k@" was not diagnosed as an invalid
51891         suffix for a human-readable blocksize.  The major caller-visible
51892         change is the addition of a new
51893         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
51894         that both overflow and suffix chars were found.
51895
51896         * lib/human.c (humblock): Don't check separately for invalid suffix
51897         char; that is xstrtoumax's job (now that its bug is fixed).
51898         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
51899         INTMAX_MAX]: New macros.
51900         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
51901         TYPE_MAXIMUM): New macros.
51902         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
51903         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
51904         if overflow occurs, as it's what __strtol does and it's more useful
51905         in practice.
51906         (__xstrtol): If __strtol reports some error other than ERANGE,
51907         reflect it to the caller as LONGINT_INVALID.  If it reports
51908         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
51909         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
51910         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
51911         value.
51912         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
51913         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
51914         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
51915         [defined UINTMAX_MAX]: New macros.
51916
51917 2003-10-14  Bruno Haible  <bruno@clisp.org>
51918
51919         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
51920
51921 2003-10-14  Bruno Haible  <bruno@clisp.org>
51922
51923         * m4/sig_atomic_t: New file, from GNU gettext.
51924         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
51925
51926 2003-10-14  Bruno Haible  <bruno@clisp.org>
51927
51928         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
51929         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
51930         Also use volatile where needed.
51931
51932 2003-10-12  Paul Eggert  <eggert@twinsun.com>
51933
51934         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
51935         Change maintainer from Bruno Haible to 'all'.
51936
51937 2003-10-12  Paul Eggert  <eggert@twinsun.com>
51938
51939         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
51940
51941 2003-10-12  Paul Eggert  <eggert@twinsun.com>
51942
51943         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
51944         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
51945         and define in terms of the other primitives.
51946         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
51947         (SIZE_MAX): Define if not already defined.
51948         (array_size_overflow): New function.
51949         (xalloc_die): Abort instead of exiting if 'error' returns.
51950         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
51951         (xmalloc, xrealloc): Use them.
51952         (xcalloc): Check for address arithmetic overflow.
51953         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
51954         a bit faster than strcpy.
51955
51956 2003-10-10  Simon Josefsson  <jas@extundo.com>
51957
51958         * modules/argp (Depends-on): Add restrict and strcase.
51959
51960 2003-10-10  Simon Josefsson  <jas@extundo.com>
51961
51962         * m4/argp.m4: Add AC_C_INLINE.
51963
51964 2003-10-08  Paul Eggert  <eggert@twinsun.com>
51965
51966         Merge getpass from libc, plus a few fixes.
51967
51968         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
51969         Include <stdbool.h>.
51970         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
51971         __fsetlocking to empty.
51972         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
51973         do include <bits/libc-lock.h>.
51974         Do not include <fcntl.h>; not needed.
51975         [_LIBC]: Include <wchar.h>.
51976         (NOTCANCEL_MODE): New macro.
51977         (flockfile, funlockfile) [_LIBC]: New macros.
51978         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
51979         [!_LIBC]: New macros.
51980         (call_fclose): New function.
51981         (getpass): Use it.  Save tty stream separately; this simplifies the
51982         code and makes it more reliable if stdin happens to equal stdout.
51983         Invoke __fsetlocking on tty.
51984         Handle thread cancellation if needed.
51985         Namespace cleanup (use __tcgetattr, __getline).
51986         Use bool for Booleans.
51987         [USE_IN_LIBIO]: Handle wide streams.
51988         [!_LIBC]: Unconditionally do the fseek, since we don't know what
51989         stream might go where.
51990
51991         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
51992         doesn't have to include <stdio.h> before us.
51993         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
51994         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
51995         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
51996         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
51997         if not declared, so that we can use getpass.c code from libc without
51998         rewriting it.
51999         (flockfile, ftrylockfile, funlockfile): New macros.
52000
52001 2003-10-08  Paul Eggert  <eggert@twinsun.com>
52002
52003         * modules/getpass: Depend on stdbool.
52004
52005 2003-10-08  Paul Eggert  <eggert@twinsun.com>
52006
52007         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
52008
52009 2003-10-07  Karl Berry  <karl@gnu.org>
52010
52011         * config/config.{guess,sub}: update from config.
52012
52013 2003-10-06  Jim Meyering  <jim@meyering.net>
52014             Bruno Haible  <bruno@clisp.org>
52015
52016         This lets translators provide better translations for the
52017         "Written by ..." part of --version output.
52018         * lib/version-etc.h: Include stdarg.h.
52019         (version_etc_copyright): Declare as readonly.
52020         (version_etc): Make this function variadic with a NULL-terminated list
52021         of author name strings.
52022         (version_etc_va): New declaration.
52023         * lib/version-etc.c: Include stdarg.h, stdlib.h.
52024         (version_etc_copyright): Declare as readonly.
52025         (version_etc_va): New function. Provide a different translatable string
52026         for each possible number of authors < 10. Abbreviate when there are 10
52027         authors or more.
52028         (version_etc): Make this function variadic. Call version_etc_va.
52029         Suggestion from Gary V. Vaughan.
52030
52031         * lib/long-options.h (parse_long_options): Change prototype: the
52032         authors string is moved to the end and becomes variadic.
52033         * lib/long-options.c: Include stdarg.h.
52034         (parse_long_options): Make this function variadic, too.
52035         Call version_etc_va, not version_etc.
52036
52037 2003-10-06  Bruno Haible  <bruno@clisp.org>
52038
52039         * modules/version-etc-2: Remove file.
52040         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
52041
52042 2003-10-06  Bruno Haible  <bruno@clisp.org>
52043
52044         * modules/fatal-signal: New file.
52045         * MODULES.html.sh (func_all_modules): Add fatal-signal.
52046
52047 2003-10-06  Bruno Haible  <bruno@clisp.org>
52048
52049         * m4/fatal-signal.m4: New file.
52050         * m4/signalblocking.m4: New file, from GNU gettext.
52051
52052 2003-10-06  Bruno Haible  <bruno@clisp.org>
52053
52054         * lib/version-etc-2.h: Remove file.
52055         * lib/version-etc-2.c: Remove file.
52056
52057 2003-10-06  Bruno Haible  <bruno@clisp.org>
52058
52059         * lib/fatal-signal.h: New file, from GNU gettext.
52060         * lib/fatal-signal.c: New file, from GNU gettext.
52061
52062 2003-10-05  Paul Eggert  <eggert@twinsun.com>
52063
52064         * README: Rework advice for preventing empty .o files.
52065         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
52066         not <sys/types.h>.
52067
52068 2003-10-04  Karl Berry  <karl@gnu.org>
52069
52070         * lib/argp*: update from libc.
52071
52072 2003-10-04  Karl Berry  <karl@gnu.org>
52073
52074         * config/config.{guess,sub}: update from config.
52075
52076 2003-10-02  Bruno Haible  <bruno@clisp.org>
52077
52078         * modules/lchown (Include): Add lchown.h.
52079         * modules/time_r (Include): Use "..." syntax.
52080         * modules/xgetdomainname (Include): Add xgetdomainname.h.
52081
52082 2003-10-01  Simon Josefsson  <jas@extundo.com>
52083
52084         * MODULES.html.sh (func_all_modules): Move gethostname from section
52085         'based on' to section 'lacking' POSIX:2001.
52086
52087 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
52088
52089         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
52090         to output mode on the same stream.
52091
52092 2003-09-29  Paul Eggert  <eggert@twinsun.com>
52093
52094         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
52095         Fix arg typo in previous patch.
52096
52097 2003-09-28  Jim Meyering  <jim@meyering.net>
52098
52099         * lib/error.c: Correct cpp indentation.
52100
52101 2003-09-27  Paul Eggert  <eggert@twinsun.com>
52102
52103         * modules/free: New file.
52104
52105 2003-09-27  Paul Eggert  <eggert@twinsun.com>
52106
52107         * m4/free.m4: New file.
52108
52109 2003-09-27  Paul Eggert  <eggert@twinsun.com>
52110
52111         * lib/minmax.h (MIN, MAX)
52112         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
52113         Omit the special code that used __typeof__, since we worry that
52114         it could be more trouble than it's worth.  See:
52115         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
52116         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
52117
52118         * lib/free.c: New file.
52119
52120 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
52121
52122         Trivial fixes to Makefile.am parts of module listings.
52123         * modules/strstr: Append strstr.h to lib_SOURCES.
52124         * modules/strcase: Likewise, for strcase.h.
52125
52126 2003-09-27  Karl Berry  <karl@gnu.org>
52127
52128         * config/mkinstalldirs: update from automake.
52129
52130 2003-09-26  Paul Eggert  <eggert@twinsun.com>
52131
52132         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
52133         (error_tail): Do not loop, reallocating temporary buffer, since
52134         the output cannot contain more wide characters than the input
52135         contains bytes, the size must be big enough already.  This avoids
52136         one potential size overflow calculation.  Check for size overflow
52137         when calculating temporary buffer size.  Free temporary buffer
52138         when done, if it was allocated with malloc; this plugs a memory
52139         leak.  Remove casts from void * to pointers, that are no longer
52140         needed now that we're assuming C89 or better.
52141
52142         Merge error changes from glibc.
52143
52144         * lib/error.c, error.h: Update copyright notice header to match glibc.
52145         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
52146         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
52147         Disable cancellation while printing error.
52148         * lib/error.h: Prepend __ to parameter names.
52149
52150 2003-09-26  Jim Meyering  <jim@meyering.net>
52151
52152         * lib/error.c (error_tail): Move some declarations
52153         into inner scope where the local variables are used.
52154
52155 2003-09-26  Bruno Haible  <bruno@clisp.org>
52156
52157         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
52158         stpncpy().
52159         Don't define stpncpy through config.h; it's now done through stpncpy.h.
52160
52161 2003-09-26  Bruno Haible  <bruno@clisp.org>
52162
52163         * lib/stpncpy.h (gnu_stpncpy): New declaration.
52164         (stpncpy): Define as alias for gnu_stpncpy.
52165         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
52166
52167 2003-09-25  Simon Josefsson  <jas@extundo.com>
52168
52169         * lib/xgetdomainname.h: New file.
52170         * lib/xgetdomainname.c: New file.
52171
52172 2003-09-25  Simon Josefsson  <jas@extundo.com>
52173             Bruno Haible  <bruno@clisp.org>
52174
52175         * modules/getdomainname: New file.
52176         * modules/xgetdomainname: New file.
52177         * MODULES.html.sh (func_all_modules): Add getdomainname,
52178         xgetdomainname.
52179
52180 2003-09-25  Simon Josefsson  <jas@extundo.com>
52181             Bruno Haible  <bruno@clisp.org>
52182
52183         * m4/getdomainname.m4: New file.
52184
52185 2003-09-25  Simon Josefsson  <jas@extundo.com>
52186             Bruno Haible  <bruno@clisp.org>
52187
52188         * lib/getdomainname.h: New file.
52189         * lib/getdomainname.c: New file.
52190
52191 2003-09-25  Karl Berry  <karl@gnu.org>
52192
52193         * lib/argp-fmtstream.c, argp-help.c: update from libc.
52194
52195 2003-09-25  Karl Berry  <karl@gnu.org>
52196
52197         * config/install-sh: update from automake.
52198
52199 2003-09-25  Bruno Haible  <bruno@clisp.org>
52200
52201         * modules/version-etc-2: New file, from modules/version-etc with
52202         modifications.
52203         * MODULES.html.sh (func_all_modules): Add version-etc-2.
52204
52205 2003-09-25  Bruno Haible  <bruno@clisp.org>
52206
52207         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
52208         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
52209
52210 2003-09-24  Simon Josefsson  <jas@extundo.com>
52211
52212         * modules/xgethostname: Add xgethostname.h.
52213
52214 2003-09-24  Paul Eggert  <eggert@twinsun.com>
52215
52216         * lib/linebuffer.c (freebuffer): Don't free the argument, just
52217         the buffer associated with the argument.  Bug reported by
52218         Simon Josefsson.
52219
52220 2003-09-24  Paul Eggert  <eggert@twinsun.com>
52221
52222         * README: Document assumptions that 'int' is at least 32 bits
52223         wide, that integer arithmetic is 2's complement without overflow,
52224         that there are no holes in integer values, that adding sizes of
52225         two nonoverlapping objects can't overflow, and that all-bits-zero
52226         yields scalar zero.  Fix spelling and capitalization typos.
52227
52228 2003-09-19  Karl Berry  <karl@gnu.org>
52229
52230         * lib/argp.h: update from libc.
52231
52232 2003-09-17  Paul Eggert  <eggert@twinsun.com>
52233
52234         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
52235         to avoid spurious warnings like "AC_RUN_IFELSE was called before
52236         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
52237
52238 2003-09-17  Paul Eggert  <eggert@twinsun.com>
52239
52240         * gnulib-tool: Use "test -h", not "test -L", for portability
52241         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
52242         (tags_regexp): Remove, since \| doesn't conform to POSIX.
52243         (sed_extract_prog): Issue s commands one-by-one, rather than
52244         using \| in one s command.
52245
52246 2003-09-16  Paul Eggert  <eggert@twinsun.com>
52247
52248         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
52249         input error, instead of returning NULL the next time we are called
52250         (and therefore losing track of errno).
52251
52252 2003-09-16  Bruno Haible  <bruno@clisp.org>
52253
52254         * gnulib-tool (func_create_testdir): Warn about duplicated
52255         dependencies.
52256
52257 2003-09-15  Paul Eggert  <eggert@twinsun.com>
52258
52259         * modules/argmatch, modules/fatal, modules/obstack,
52260         modules/xalloc, modules/xgethostname: Sort dependencies by
52261         importance, not alphabetically.
52262
52263 2003-09-15  Paul Eggert  <eggert@twinsun.com>
52264
52265         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
52266         fails, so that the caller gets the proper errno.
52267
52268         * lib/readutmp.c (read_utmp): Likewise.
52269         Check for fstat error.  Close stream and free storage
52270         when failing.
52271
52272 2003-09-14  Karl Berry  <karl@gnu.org>
52273
52274         * config/srclist.txt (strdup.c): disable for c89 changes.
52275
52276 2003-09-14  Jim Meyering  <jim@meyering.net>
52277
52278         * lib/getloadavg.c: Correct cpp indentation.
52279         * lib/strdup.c: Likewise.
52280         * lib/vasnprintf.c: Likewise.
52281
52282 2003-09-14  Bruno Haible  <bruno@clisp.org>
52283
52284         * modules/fwriteerror: New file.
52285         * MODULES.html.sh (func_all_modules): Add fwriteerror.
52286
52287 2003-09-14  Bruno Haible  <bruno@clisp.org>
52288
52289         * lib/fwriteerror.h: New file.
52290         * lib/fwriteerror.c: New file.
52291
52292 2003-09-12  Paul Eggert  <eggert@twinsun.com>
52293
52294         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
52295         modules/xgethostname, modules/xalloc: Depend on exit.
52296
52297 2003-09-12  Paul Eggert  <eggert@twinsun.com>
52298
52299         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
52300
52301         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
52302         and AC_MINIX, too, so that their extensions are available.
52303
52304         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
52305         This macro has been superseded by gl_BACKUPFILE.
52306
52307         More patches to assume C89 or better.
52308
52309         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
52310
52311         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
52312         unconditionally.
52313         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
52314         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
52315         Include <string.h>, <stdlib.h> unconditionally.
52316         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
52317         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
52318         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
52319         headers or for string.h.
52320         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
52321         or strtoul.
52322
52323         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
52324         headers.
52325         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
52326         * m4/userspec.m4 (gl_USERSPEC): Likewise.
52327         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
52328         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
52329         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
52330         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
52331         memcpy, memset.
52332         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
52333         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
52334         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
52335         strtol.
52336         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
52337         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
52338         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
52339         strtoul.
52340
52341 2003-09-12  Paul Eggert  <eggert@twinsun.com>
52342
52343         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
52344         * lib/obstack.c [!defined _LIBC]: Likewise.
52345         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
52346         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
52347         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
52348
52349         More changes to assume C89 or better.
52350
52351         * lib/error.c (error_tail): Assume vprintf.
52352
52353         * lib/argmatch.c (getenv): Remove decl.
52354         * lib/progreloc.c (get_full_program_name): Define via prototype.
52355         * lib/setenv.c (clearenv): Likewise.
52356         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
52357         needed.
52358         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
52359         (malloc, memcpy): Remove decls.
52360         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
52361         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
52362         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
52363         (memcpy): Remove macro.
52364         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
52365         (__P): Remove.  All uses removed.
52366         (PTR): Remove.  All uses changed to void *.
52367         (CHAR_BIT, NULL): Remove.
52368         (spaces, zeros, memset_space, memset_zero)
52369         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
52370         Remove.
52371         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
52372         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
52373         Define with prototype.
52374         Remove now-unnecessary prototype decl.
52375         (extra_args_spec): Assume ANSI C.  All uses changed.
52376         (extra_args_spec_iso): Remove.
52377         (my_strftime, emacs_strftimeu): Define via prototype.
52378         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
52379         unconditionally.
52380         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
52381         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
52382         (strtoul, strtol): Remove decls.
52383         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
52384         LONG_MAX): Remove.
52385         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
52386         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
52387         (LOCALE_PARAM_PROTO): New macro.
52388         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
52389         (INTERNAL (strtol), strtol): Define with a prototype.
52390         (PARAMS): Remove.  All uses removed.
52391         * lib/tempname.c: Include <string.h> unconditionally.
52392         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
52393         * lib/xgethostname.c (main): Define with a prototype.
52394         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
52395         Include <stdlib.h> unconditionally.
52396         (calloc, malloc, realloc, free): Remove decls.
52397         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
52398         Include <stdlib.h> unconditionally.  Sort include file names.
52399         (strtod): Remove.
52400         (xstrtod): Define with a prototype.
52401         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
52402         (strtol, strtoul): Remove decls.
52403
52404 2003-09-11  Paul Eggert  <eggert@twinsun.com>
52405
52406         More patches to assume C89 or better.
52407         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
52408         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
52409         string.h, memchr, STDC_HEADERS.
52410
52411 2003-09-11  Paul Eggert  <eggert@twinsun.com>
52412
52413         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
52414         Include <stdlib.h>, <string.h> unconditionally.
52415         Remove now-unnecessary cast to char *.
52416         * lib/strnlen.c: Include <string.h> unconditionally.
52417         * lib/yesno.c (yesno): Define with a prototype.
52418
52419 2003-09-11  Bruno Haible  <bruno@clisp.org>
52420
52421         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
52422
52423 2003-09-10  Jim Meyering  <jim@meyering.net>
52424
52425         * lib/error.c: Correct indentation of cpp directives.
52426
52427 2003-09-10  Bruno Haible  <bruno@clisp.org>
52428
52429         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
52430         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
52431         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
52432         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
52433         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
52434         <stdlib.h> and <string.h> checks.
52435         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
52436         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
52437
52438 2003-09-10  Bruno Haible  <bruno@clisp.org>
52439
52440         * lib/strcspn.c: Include <string.h> unconditionally.
52441         * lib/strpbrk.c: Include <string.h> unconditionally.
52442         * lib/strstr.c: Include <string.h> unconditionally.
52443         * lib/unicodeio.c: Include <string.h> unconditionally.
52444         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
52445         * lib/unsetenv.c: Likewise.
52446         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
52447         * lib/yesno.c: Include <stdlib.h> unconditionally.
52448         (rpmatch): Add prototype.
52449
52450 2003-09-09  Paul Eggert  <eggert@twinsun.com>
52451
52452         More patches to assume C89 or better.
52453         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
52454         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
52455         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
52456         or for string.h.
52457         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
52458         stdlib.h.
52459         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
52460         C headers.
52461         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
52462         string.h.
52463         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
52464         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
52465         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
52466         or for string.h.
52467         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
52468         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
52469         C headers.
52470         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
52471         memcpy.
52472         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
52473         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
52474         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
52475         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
52476         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
52477         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
52478         string.h, free.
52479         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
52480         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
52481         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
52482         C headers, or for string.h.
52483         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
52484         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
52485         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
52486         headers, memory.h, stdlib.h, string.h, strings.h.
52487         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
52488         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
52489         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
52490         strchr.
52491         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
52492         headers, memory.h, string.h.
52493         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
52494         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
52495         free.
52496         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
52497         headers.
52498         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
52499         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
52500         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
52501         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
52502         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
52503
52504 2003-09-09  Paul Eggert  <eggert@twinsun.com>
52505
52506         More K&R removal.
52507
52508         * lib/acosl.c (main): Use a prototype.
52509         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
52510         tanl.c: Likewise.
52511
52512         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
52513
52514         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
52515         (getopt, etopt_long, getopt_long_only, _getopt_internal)
52516         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
52517         with a prototype.
52518         * lib/getopt.c (const): Remove macro.
52519         Include <string.h> unconditionally.
52520         (my_index): Remove; all uses changed to strchr.
52521         (strlen): Remove decl.
52522         (exchange): Remove forward decl; no longer needed.
52523         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
52524         Define with prototype.
52525         * lib/getopt1.c (const): Remove macro.
52526         (getopt_long, getopt_long_only, main): Define with prototype.
52527
52528         * lib/getugroups.c: Include <string.h> unconditionally.
52529
52530         * lib/getusershell.c: Include <stdlib.h> unconditionally.
52531         (getusershell, setusershell, endusershell, readname, main):
52532         Define with prototypes.
52533
52534         * lib/group-member.c: Include group-member.h first.
52535         Include <stdlib.h> unconditionally.
52536
52537         * lib/hard-locale.c: Include hard-locale.h first.
52538         Include <stdlib.h>, <string.h> unconditionally.
52539
52540         * lib/hash.c (free, malloc): Remove decls.
52541         Include <stdlib.h> unconditionally.
52542
52543         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
52544         (getenv): Do not declare.
52545
52546         * lib/idcache.c: Include <string.h> unconditionally.
52547
52548         * lib/long-options.c: Include long-options.h first, to test interface.
52549         Include <stdlib.h> unconditionally.
52550
52551         * lib/makepath.c: Include makepath.h first, to test interface.
52552         Include <stdlib.h> and <string.h> unconditionally.
52553
52554         * lib/linebuffer.c: Include <stdlib.h>.
52555         (free): Remove decl.
52556
52557         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
52558         stddef.h. rpl_malloc returns void *, not char *.
52559         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
52560         prototype.
52561
52562         * lib/md5.h: Include <limits.h> unconditionally.
52563         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
52564         (__P): Remove; all uses removed.
52565         * lib/md5.c: Include "md5.h" first.
52566         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
52567         md5_buffer, md5_process_bytes, md5_process_block):
52568         Define with prototypes.
52569         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
52570         * lib/sha.c: Include "sha.h" first.
52571         Include <stdlib.h>, <string.h> unconditionally.
52572
52573         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
52574         * lib/memcmp.c (__ptr_t): Likewise.
52575         * lib/memrchr.c (__ptr_t): Likewise.
52576         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
52577         Include <string.h> unconditionally.
52578         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
52579         * lib/memchr.c: Include <stdlib.h> unconditionally.
52580         * lib/memchr.c (LONG_MAX): Remove.
52581         * lib/memrchr.c (LONG_MAX): Likewise.
52582         * lib/memchr.c (__memchr): Define via a prototype.
52583         * lib/memrchr.c (__memrchr): Likewise.
52584         * lib/memcmp.c (__P): Remove, and remove all uses.
52585         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
52586         Remove forward decls; no longer needed.
52587         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
52588         Use types required by C89 in prototype.
52589
52590         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
52591         * lib/savedir.c: Likewise.
52592         * lib/mkdir.c (free): Remove decl.
52593         * lib/rmdir.c (rmdir): Define with a prototype.
52594         * lib/savedir.c: Include savedir.h first, to test interface.
52595
52596         * lib/mktime.c (STDC_HEADERS): Remove.
52597         Include <stdlib.h>, <string.h> unconditionally.
52598
52599         * lib/modechange.c: Include <stdlib.h> unconditionally.
52600         (malloc): Remove decl.
52601
52602         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
52603         (free): Remove decl.
52604
52605         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
52606         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
52607         (This type really should be intptr_t, but that's a C99ism.)
52608         (_obstack_memcpy): Remove: all uses changed to memcpy.
52609         Include <string.h> unconditionally.
52610         (struct obstack): Assume __STDC__ for types of members
52611         chunkfun, freefun, extra_arg.
52612         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
52613         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
52614         obstack_begin, obstack_specify_allocation,
52615         obstack_specify_allocation_with_arg, obstack_chunkfun,
52616         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
52617         Remove unprototyped decls and the macros that use them.
52618         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
52619         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
52620         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
52621         (defined __STDC__ && __STDC__)]:
52622         Remove nonprototyped code.
52623         Include <stdlib.h> unconditionally.
52624         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
52625         _obstack_allocated_p, _obstack_free, obstack_free,
52626         _obstack_memory_used, print_and_abort):
52627         Define using prototypes.
52628         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
52629         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
52630         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
52631         obstack_next_free, obstack_object_size, obstack_room) [0]:
52632         Remove unused, unprototyped code.
52633
52634         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
52635
52636         * lib/physmem.c (physmem_total, physmem_available, main): Define
52637         with prototypes.
52638
52639         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
52640         (main): Define with a prototype.
52641
52642         * lib/posixver.c (getenv): Remove decl.
52643
52644         * lib/putenv.c (malloc): Returns void *, not char *.
52645         Include <string.h> unconditionally.
52646         (strchr, memcpy, NULL): Do not define.
52647
52648         * lib/readtokens.c: Include readtokens.h first, to test interface.
52649         Include <stdlib.h>, <string.h> unconditionally.
52650         (init_tokenbuffer): Define with a prototype.
52651
52652         * lib/regex.c (PARAMS): Remove.  All uses removed.
52653         All uses of _RE_ARGS removed, too.
52654         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
52655         unconditionally.
52656         (bzero): Assume memset exists.
52657         (memcmp, memcpy, NULL): Remove.
52658         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
52659         char, or assignments to local vars of type signed char.
52660         (init_syntax_once, PREFIX(extract_number_and_incr),
52661         PREFIX(print_partial_compiled_pattern),
52662         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
52663         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
52664         PREFIX(regex_grow_registers), PREFIX(regex_compile),
52665         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
52666         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
52667         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
52668         wcs_compile_range, byte_compile_range, truncate_wchar,
52669         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
52670         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
52671         count_mbs_length, wcs_re_match_2_internal,
52672         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
52673         PREFIX(alt_match_null_string_p),
52674         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
52675         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
52676         regfree, PREFIX(extract_number)): Define with prototype.  Remove
52677         now-unnecessary declaration, if any.
52678         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
52679         regcomp, regexec):
52680         Remove now-unnecessary casts among pointer types.
52681         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
52682
52683         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
52684         (free): Remove decl.
52685
52686         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
52687
52688         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
52689         (free): Remove decl.
52690
52691         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
52692         * lib/xgetcwd.c: Likewise.
52693
52694         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
52695         (free): Remove decl.
52696
52697         * lib/strchrnul.c (strchrnul): Define with a prototype.
52698         Fix bug: c_in was not converted to char before searching.
52699
52700         The following changes are not K&R related:
52701
52702         * lib/group-member.h: Include <sys/types.h>, so that this file is
52703         self-contained.
52704         * lib/makepath.h: Likewise.
52705
52706         * lib/getusershell.c (readname, default_index, line_size, readname):
52707         Use size_t, not int, for sizes.
52708         (readname): If the size overflows, report an error instead of
52709         looping forever.
52710
52711 2003-09-09  Paul Eggert  <eggert@twinsun.com>
52712
52713         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
52714         libc.
52715
52716 2003-09-09  Paul Eggert  <eggert@twinsun.com>
52717
52718         * README: New section: portability guidelines.
52719
52720 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
52721
52722         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
52723         C89 spec.
52724
52725 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
52726
52727         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
52728
52729 2003-09-08  Paul Eggert  <eggert@twinsun.com>
52730
52731         Assume C89 or better; remove K&R cruft.
52732         A few of these changes were first proposed by Derek Robert Price
52733         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
52734
52735         * lib/addext.c: Include <string.h> unconditionally.
52736         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
52737         Don't declare getenv or malloc.
52738
52739         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
52740         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
52741         (NULL): Remove.
52742         (find_stack_direction, alloca): Use prototypes.
52743
52744         * lib/atexit.c (atexit): Define using a prototype.
52745
52746         * lib/basename.c, dirname.c, stripslash.c:
52747         Include <string.h> unconditionally.
52748
52749         * lib/bcopy.c: Include <stddef.h>.
52750         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
52751
52752         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
52753
52754         * lib/error.h (error, error_at_line, error_print_progname)
52755         [! (defined (__STDC__) && __STDC__)]: Remove decls.
52756         * lib/error.c: Include error.h first, to check interface.
52757         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
52758         (VA_START): Remove; all uses changeed to va_start.
52759         (exit, strerror): Remove decls.
52760         (error_print_progname): Prototype uncondionally.
52761         Don't include <errno.h>; no longer needed.
52762         (private_strerror): Remove.
52763         (error_tail): Always define.
52764         (error, error_at_line): Assume C89 or better; always use prototypes.
52765         * lib/fatal.c: Include "fatal.h" first, to test interface.
52766         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
52767         (VA_START): Remove; all uses changed to va_start.
52768         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
52769         this case.
52770         (exit): Remove decl.
52771         (fatal): Prototype unconditionally.  Assume va_start works.
52772         Abort at end, to pacify gcc.
52773
52774         * lib/euidaccess.c (main): Define with a prototype.
52775
52776         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
52777
52778         * lib/exitfail.c: Include <stdlib.h> unconditionally.
52779
52780         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
52781         prototypes.
52782         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
52783         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
52784         (getenv): Remove decl.
52785         (fnmatch): Define using a prototype.
52786         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
52787         (FCT): Define using a prototype.
52788
52789         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
52790
52791         * lib/gethostname.c: Include <stddef.h>.
52792         (gethostname): Define with prototype.  Length is size_t, not int.
52793
52794 2003-09-08  Paul Eggert  <eggert@twinsun.com>
52795
52796         Assume C89 or better; remove K&R cruft.
52797         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
52798         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
52799         string.h, getenv, malloc.
52800         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
52801         headers.
52802         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
52803         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
52804         do not check for strerror.
52805         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
52806         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
52807         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
52808         do not check for doprnt or vprintf.
52809         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
52810         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
52811
52812 2003-09-08  Paul Eggert  <eggert@twinsun.com>
52813
52814         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
52815         getversion.c should have been removed then, but was accidentally
52816         preserved.
52817
52818         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
52819         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
52820
52821 2003-09-08  Karl Berry  <karl@gnu.org>
52822
52823         * config/config.sub, config.guess, srclistvars.sh: update from savannah
52824                 config, forget about prep.
52825
52826         * config/depcomp, missing: update from automake.
52827
52828 2003-09-07  Paul Eggert  <eggert@twinsun.com>
52829
52830         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
52831         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
52832
52833 2003-09-07  Paul Eggert  <eggert@twinsun.com>
52834
52835         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
52836         copy_tm_result.  Bug reported by Simon Josefsson in
52837         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
52838
52839 2003-09-06  Paul Eggert  <eggert@twinsun.com>
52840
52841         * m4/time_r.m4: New file.
52842         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
52843         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
52844         is. Check for timegm declaration.
52845         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
52846         Do not check for gmtime_r.
52847         Replace mktime if __mktime_internal does not exist and if mktime
52848         hasn't been replaced already.
52849
52850 2003-09-06  Paul Eggert  <eggert@twinsun.com>
52851
52852         * lib/time_r.c, lib/time_r.h: New files.
52853
52854         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
52855         __localtime_r.
52856         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
52857         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
52858
52859         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
52860         __gmtime_r.
52861         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
52862         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
52863         Include <time_r.h>.
52864
52865         * lib/timegm.c: Switch to glibc implementation, with the following
52866         changes:
52867         [defined HAVE_CONFIG_H]: Include <config.h>.
52868         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
52869         (__mktime_internal) [!defined _LIBC]: New decl.
52870         (__gmtime_r) [!defined _LIBC]: New macro and function.
52871         (timegm): Use a prototype, since gnulib assumes C89.
52872         Do not bother declaring tmp to be const, as it's not really usefu.
52873         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
52874         (timegm): Declare only if HAVE_DECL_TIMEGM.
52875
52876 2003-09-06  Paul Eggert  <eggert@twinsun.com>
52877
52878         * MODULES.html.sh (func_all_modules): Add time_r.
52879         * modules/time_r: New file.
52880         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
52881         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
52882
52883 2003-09-03  Paul Eggert  <eggert@twinsun.com>
52884
52885         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
52886         Bug reported by Lute Kamstra in
52887         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
52888
52889         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
52890         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
52891         course with correspondingly smaller numbers for tomorrow and
52892         yesterday.  From Tadayoshi Funaba.  Originally installed into
52893         sh-utils on 1999-08-07, but the patch got lost (I guess during the
52894         coreutils merge?).
52895
52896 2003-08-31  Simon Josefsson  <jas@extundo.com>
52897
52898         * modules/timegm: New file.
52899         * MODULES.html.sh (func_all_modules): Add timegm.
52900
52901 2003-08-31  Simon Josefsson  <jas@extundo.com>
52902
52903         * m4/timegm.m4: New file.
52904
52905 2003-08-31  Simon Josefsson  <jas@extundo.com>
52906
52907         * lib/timegm.h: New file.
52908         * lib/timegm.c: New file.  Based on
52909         wget-1.8.2/src/http.c:mktime_from_utc.
52910
52911 2003-08-31  Karl Berry  <karl@gnu.org>
52912
52913         * lib/argp.h: update from libc.
52914
52915 2003-08-28  Bruno Haible  <bruno@clisp.org>
52916
52917         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
52918         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
52919         followed by '#define fnmatch fnmatch_posix' gives an error.
52920
52921 2003-08-28  Bruno Haible  <bruno@clisp.org>
52922
52923         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
52924         warning on QNX, which defines O_BINARY to 000000.
52925
52926 2003-08-27  Jim Meyering  <jim@meyering.net>
52927
52928         * m4/mkstemp.m4: Require that the system mkstemp be able to create
52929         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
52930         would fail after 32.  Reported by Danny Levinson.  Details here:
52931         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
52932
52933 2003-08-24  Bruno Haible  <bruno@clisp.org>
52934
52935         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
52936         MSVC7 <stdio.h> is included later.
52937
52938 2003-08-22  Simon Josefsson  <jas@extundo.com>
52939
52940         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
52941
52942 2003-08-20  Karl Berry  <karl@gnu.org>
52943
52944         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
52945
52946 2003-08-20  Bruno Haible  <bruno@clisp.org>
52947
52948         * modules/progname: New file.
52949         * MODULES.html.sh (func_all_modules): Add progname.
52950
52951 2003-08-20  Bruno Haible  <bruno@clisp.org>
52952
52953         * lib/progname.h: New file, from GNU gettext.
52954         * lib/progname.c: New file, from GNU gettext.
52955         * lib/progreloc.c: New file, from GNU gettext.
52956
52957 2003-08-19  Jim Meyering  <jim@meyering.net>
52958
52959         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
52960         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
52961
52962 2003-08-19  Bruno Haible  <bruno@clisp.org>
52963
52964         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
52965         more.
52966
52967 2003-08-19  Bruno Haible  <bruno@clisp.org>
52968
52969         * lib/xstrdup.c: Assume <string.h> exists.
52970
52971 2003-08-18  Paul Eggert  <eggert@twinsun.com>
52972
52973         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
52974         in makefile rules.
52975
52976 2003-08-18  Jim Meyering  <jim@meyering.net>
52977
52978         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
52979         * m4/lib-ld.m4: Likewise.
52980
52981 2003-08-18  Jim Meyering  <jim@meyering.net>
52982
52983         * lib/setenv.h: Indent nested cpp directive.
52984         * lib/vasnprintf.c: Remove trailing blanks.
52985
52986 2003-08-17  Simon Josefsson  <jas@extundo.com>
52987
52988         * modules/xstrndup: New file.
52989         * MODULES.html.sh (func_all_modules): Add xstrndup.
52990
52991 2003-08-17  Simon Josefsson  <jas@extundo.com>
52992
52993         * modules/argp: Fix autoconf macro name. Add more dependencies.
52994
52995 2003-08-17  Simon Josefsson  <jas@extundo.com>
52996
52997         * m4/xstrndup.m4: New file.
52998
52999 2003-08-17  Simon Josefsson  <jas@extundo.com>
53000
53001         * m4/argp.m4: New file.
53002
53003 2003-08-17  Simon Josefsson  <jas@extundo.com>
53004             Bruno Haible  <bruno@clisp.org>
53005
53006         * lib/xstrndup.h: New file.
53007         * lib/xstrndup.c: New file.
53008
53009 2003-08-17  Bruno Haible  <bruno@clisp.org>
53010
53011         * modules/strndup (Files, Include): Add lib/strndup.h.
53012
53013 2003-08-17  Bruno Haible  <bruno@clisp.org>
53014
53015         * modules/euidaccess (Files): Add lib/euidaccess.h.
53016
53017 2003-08-17  Bruno Haible  <bruno@clisp.org>
53018
53019         * lib/strndup.h: New file.
53020
53021 2003-08-17  Bruno Haible  <bruno@clisp.org>
53022
53023         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
53024         like AC_GNU_SOURCE.
53025         * modules/extensions (configure.ac): Comment out the invocation of
53026         gl_USE_SYSTEM_EXTENSIONS.
53027
53028 2003-08-16  Paul Eggert  <eggert@twinsun.com>
53029
53030         Merges from coreutils, etc.
53031         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
53032         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
53033         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
53034         fixing a typo.
53035         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
53036         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
53037
53038 2003-08-16  Paul Eggert  <eggert@twinsun.com>
53039
53040         Document merge from coreutils.
53041         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
53042         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
53043         * modules/utime: Add m4/utimes-null.m4.
53044
53045 2003-08-16  Paul Eggert  <eggert@twinsun.com>
53046
53047         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
53048         space, undoing this 2003-08-12 change:
53049         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
53050
53051 2003-08-16  Paul Eggert  <eggert@twinsun.com>
53052
53053         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
53054         strtoul.c from libc, undoing this 2003-08-12 change:
53055         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
53056
53057 2003-08-16  Jim Meyering  <jim@meyering.net>
53058
53059         Merges from coreutils.
53060         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
53061         prefix.  Adjust cache variables similarly.  Create 500 rather than
53062         just 300 files, to exercise bug on Darwin6.5, too.
53063         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
53064         $missing_dir.
53065         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
53066         AM_SYS_POSIX_TERMIOS.
53067         Reported by mkc@mathdogs.com.
53068         Also change use of $am_cv_sys_posix_termios
53069         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
53070         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
53071         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
53072         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
53073         in /proc/mounts until it finds one with matching device number.  This
53074         is unnecessary when the FILE argument *is* a mount point.  No stat call
53075         is necessary in that case.  So, disable the statvfs-testing code on
53076         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
53077         as RedHat bug# 84846.
53078         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
53079         to 1MB, so as not to render systems with no stack size limit (e.g.,
53080         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
53081         Include <unistd.h>.  On some systems,
53082         it is required for the definition of _SC_PAGESIZE.
53083
53084 2003-08-16  Jim Meyering  <jim@meyering.net>
53085
53086         Merge from coreutils.
53087         * lib/xstrtoimax.c: #else #if -> #elif.
53088         * lib/xstrtoumax.c: Likewise.
53089
53090 2003-08-16  Jim Meyering  <jim@meyering.net>
53091
53092         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
53093         * m4/utimes.m4: Removed.
53094         * m4/utimes-null.m4: Renamed from utimes.m4.
53095
53096         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
53097         to 1MB, so as not to render systems with no stack size limit (e.g.,
53098         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
53099         Include <unistd.h>.  On some systems,
53100         it is required for the definition of _SC_PAGESIZE.
53101
53102 2003-08-16  Jim Meyering  <jim@meyering.net>
53103         and Paul Eggert  <eggert@cs.ucla.edu>
53104
53105         Merges from coreutils, etc.
53106
53107         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
53108         using the latest version from cvs.  This avoids problems with #line
53109         directives using a vendor (Sun) compiler.
53110         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
53111         Don't set GETGROUPS_LIB here; now it's
53112         done via getgroups.m4's wrapper function.
53113         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
53114         rather than just in sh-util/configure.in, so that the
53115         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
53116         same.
53117         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
53118         AC_FUNC_GETLOADAVG where to find getloadavg.c.
53119         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
53120         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
53121         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
53122         Remove code that is now done by the newly-required macros.
53123         Append $(EXEEXT) to DF_PROG.
53124         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
53125         Do not invoke or require the following here,
53126         since prereq.m4 or some gnulib .m4 now does this for us:
53127         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
53128         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
53129         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
53130         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
53131         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
53132         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
53133         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
53134         AC_FUNC_OBSTACK.
53135         Do not replace the following functions, as this is now the job
53136         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
53137         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
53138         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
53139         atexit getpass, strdup, getpagesize.
53140         Replace 'raise'.
53141         Do not check for the following functions, as this is now the job
53142         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
53143         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
53144         setregid.
53145         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
53146         Check for sys/sysctl.h.
53147         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
53148         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
53149         of checking for ssize_t ourselves.
53150
53151         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
53152         Require every macro that gnulib/modules/* suggests for us.
53153         (jm_PREREQ_ADDEXT): New macro.
53154         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
53155         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
53156
53157         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
53158         (gl_PHYSMEM): Use it.
53159         Also check for `table' function.
53160         Check for new headers and functions.
53161         Add check for sys/sysmp.h.
53162         With suggestions from Kaveh Ghazi.
53163         Ignore headers that are present but cannot be compiled.  This
53164         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
53165         C 5.4.
53166
53167 2003-08-15  Paul Eggert  <eggert@twinsun.com>
53168
53169         Document merge from coreutils.
53170         * modules/userspec: Depend on posixver.
53171         * modules/strftime: Depend on tzset.
53172
53173 2003-08-15  Paul Eggert  <eggert@twinsun.com>
53174
53175         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
53176         rather than tab, after '#' in shell-script copyright notices.
53177         Suggested by Bruno Haible.
53178
53179 2003-08-15  Paul Eggert  <eggert@twinsun.com>
53180
53181         * config/srclist-update: Use three spaces, rather than tab, after '#'
53182         in shell-script copyright notices.  Suggested by Bruno Haible.
53183         Remove unnecessary parenthesization in regular expression.
53184
53185 2003-08-15  Jim Meyering  <jim@meyering.net>
53186
53187         Merge from coreutils.
53188         * lib/xgethostname.c: Include <stdlib.h>.
53189         (xghostname): Don't exit for anything other than memory-related
53190         failure; just return NULL.
53191         * lib/userspec.c: Include "posixver.h".
53192         (parse_user_spec): Accept `.' as a separator only
53193         in pre-POSIX-200112 mode.
53194         * lib/strtoimax.c: Use #elif rather than #else #if.
53195         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
53196         Remove function, now that we can rely on a working tzset function.
53197         [!_LIBC]: Ensure that the required autoconf test has been run.
53198         [!defined _NL_CURRENT && HAVE_STRFTIME]:
53199         Use underlying_strftime for %r.
53200         * lib/sha.c: Merge in some clean-up and optimization changes from
53201         glibc.
53202         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
53203         Ensure that it is a multiple of 64.
53204         Rearrange loop exit tests so as to avoid performing an
53205         additional fread after encountering an error or EOF.
53206         * lib/realloc.c: Update copyright date.
53207
53208 2003-08-15  Jim Meyering  <jim@meyering.net>
53209         and Paul Eggert  <eggert@twinsun.com>
53210
53211         Merge from coreutils.
53212         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
53213         member but strut utmpx does not.  Needed for AIX 4.3.3.
53214         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
53215
53216 2003-08-15  Jim Meyering  <jim@meyering.net>
53217         and Paul Eggert  <eggert@cs.ucla.edu>
53218
53219         Merges from coreutils, etc.
53220         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
53221         Require gl_FUNC_TZSET_CLOBBER.
53222         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
53223         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
53224         members.
53225
53226 2003-08-14  Paul Eggert  <eggert@twinsun.com>
53227
53228         Help the merge from coreutils.
53229         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
53230         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
53231         * m4/tzset.m4: Use it too.
53232
53233 2003-08-14  Paul Eggert  <eggert@twinsun.com>
53234
53235         * modules/tzset: New file.
53236
53237 2003-08-14  Jim Meyering  <jim@meyering.net>
53238
53239         Merges from coreutils.
53240         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
53241         variable names, rather than @FNMATCH_H@.
53242         * modules/alloca: Likewise for $(ALLOCA_H).
53243
53244         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
53245         the three copies of the literal target, `fnmatch.h'.
53246         * modules/alloca (alloca.h): Likewise.
53247
53248 2003-08-14  Jim Meyering  <jim@meyering.net>
53249
53250         Merge from coreutils.
53251         * m4/tzset.m4: New file.
53252         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
53253         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
53254         otherwise, AIX 5.1 systems would end up using the latter.
53255         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
53256         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
53257         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
53258         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
53259
53260 2003-08-14  Jim Meyering  <jim@meyering.net>
53261
53262         Merge from coreutils.
53263         * lib/obstack.h: Whitespace changes.
53264         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
53265         and xcalloc return values.
53266         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
53267         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
53268         hang on OSF/1 5.1 for DIR on both local and remote file systems.
53269         Reported by (and fix confirmed by) Nelson H. F. Beebe.
53270         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
53271         error from mntctl.
53272         Use mntctl's return value to drive the entry-processing loop, since
53273         we can't rely on the value of the vmt_length member in the last
53274         entry.  On some systems doing so could result in exhausting
53275         virtual memory.  Based in part on a patch from Mike Jetzer.
53276
53277 2003-08-14  Jim Meyering  <jim@meyering.net>
53278         and Paul Eggert  <eggert@twinsun.com>
53279
53280         Merges from coreutils, plus other fixes.
53281         * lib/physmem.c: Merge in portability changes from gcc/libiberty
53282         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
53283         for credits and details.  Thanks to Kaveh Ghazi for helping
53284         to keep these files in sync.
53285         (ARRAY_SIZE): Define it.
53286         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
53287         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
53288         (memcasecmp): Don't assume size_t fits in unsigned int.
53289         Remove casts and duplicate code.
53290         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
53291         (memcpy): Remove definition.
53292         Merge in some clean-up and optimization changes from glibc.
53293         [BLOCKSIZE]: Move definition to top of file.
53294         Ensure that it is a multiple of 64.
53295         Rearrange loop exit tests so as to avoid performing an
53296         additional fread after encountering an error or EOF.
53297         * lib/md5.h (md5_uintptr): Define.
53298         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
53299         return to the initial working directory.  Preserve errno
53300         for caller.
53301         * lib/idcache.c: Include "xalloc.h".
53302         (xmalloc, xrealloc): Remove decls.
53303         (getuser): Remove casts no longer required in C89.
53304         * lib/human.c: Include stdio.h, for sprintf.
53305         * lib/group-member.c: Include "xalloc.h".
53306         (xmalloc, xrealloc): Remove decls.
53307         (get_group_info): Remove casts no longer required in C89.
53308         * lib/getusershell.c (readname): Remove casts no longer required in
53309         C89.
53310         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
53311         * lib/getline.c: Whitespace fix, from coreutils.
53312
53313 2003-08-13  Paul Eggert  <eggert@twinsun.com>
53314
53315         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
53316         Check for isascii.
53317
53318         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
53319         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
53320         Undo previous (whitespace-only) change.
53321
53322 2003-08-13  Paul Eggert  <eggert@twinsun.com>
53323
53324         * lib/exclude.c: Include <ctype.h>
53325         (IN_CTYPE_DOMAIN): New macro.
53326         (is_space): New fn.
53327         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
53328         and empty lines.
53329
53330         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
53331         Undo previous (whitespace-only) change.
53332
53333 2003-08-13  Paul Eggert  <eggert@twinsun.com>
53334
53335         * config/srclist-update: Change update back to the old behavior,
53336         leaving whitespace alone.  Use one 'sed' command rather than a
53337         pipeline.
53338         (fixlicense): Now a variable, not a function.
53339         (remove_trailing_blanks): Remove.
53340         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
53341         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
53342         Undo previous (whitespace-only) change.
53343
53344 2003-08-12  Paul Eggert  <eggert@twinsun.com>
53345
53346         Merge from coreutils.
53347         * modules/euidaccess: Add lib_SOURCES, include for new
53348         file euidaccess.h
53349
53350 2003-08-12  Paul Eggert  <eggert@twinsun.com>
53351
53352         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
53353         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
53354         Normalize leading white space and remove trailing white space.
53355
53356         Merge from coreutils
53357         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
53358
53359         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
53360         0.12.1.  These files are now being upgraded automatically by
53361         ../config/srclist-update.
53362
53363 2003-08-12  Paul Eggert  <eggert@twinsun.com>
53364
53365         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
53366         Normalize leading white space and remove trailing white space.
53367         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
53368         notice, as per ../config/srclist-update.
53369
53370         Merge from coreutils.
53371         * lib/euidaccess.h: New file.
53372         * lib/euidaccess.c: Include it.
53373         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
53374         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
53375         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
53376
53377 2003-08-12  Paul Eggert  <eggert@twinsun.com>
53378
53379         * config/srclist-update: Add copyright notice.
53380         (remove_id_lines, remove_trailing_blanks): New constants.
53381         (fixfile): Use them to normalize spacing a bit in copied files.
53382         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
53383         Normalize leading white space and remove trailing white space.
53384
53385         * config/texinfo.tex: Sync with texinfo.
53386
53387         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
53388         strtoul.c from libc, to merge coreutils whitespace changes.
53389
53390         * config/srclist.txt: Get the following m4 files from gettext:
53391         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
53392         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
53393         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
53394         wint_t.m4.
53395
53396 2003-08-12  Karl Berry  <karl@gnu.org>
53397
53398         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
53399         been made.
53400
53401 2003-08-11  Paul Eggert  <eggert@twinsun.com>
53402
53403         * modules/gnu-source, m4/gnu-source.m4:
53404         Remove; we're assuming Autoconf 2.54 or later now.
53405         Suggested by Bruno Haible.
53406         * MODULES.html.sh (func_all_modules): Remove gnu-source.
53407
53408 2003-08-11  Bruno Haible  <bruno@clisp.org>
53409
53410         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
53411
53412 2003-08-11  Bruno Haible  <bruno@clisp.org>
53413
53414         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
53415         (vasnprintf): Use it instead of wcslen.
53416
53417 2003-08-11  Bruno Haible  <bruno@clisp.org>
53418
53419         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
53420         value to ensure that _Bool promotes to int. Use #define for _Bool when
53421         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
53422
53423 2003-08-10  Karl Berry  <karl@gnu.org>
53424
53425         * lib/regex.h: update from libc (whitespace fix).
53426
53427 2003-08-09  Paul Eggert  <eggert@twinsun.com>
53428
53429         Merge some files from coreutils.  These changes were
53430         originally made by Jim Meyering.
53431         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
53432         many older Unixes require this.
53433         * lib/alloca.c (alloca): Remove cast to argument of free;
53434         no longer needed in C89.
53435         * lib/alloca_.h, regex.h: Fix white space to match
53436         what GNU indent does.
53437
53438 2003-08-09  Paul Eggert  <eggert@twinsun.com>
53439
53440         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
53441         apparently Emacs's Unicode mode got confused before my 2003-08-05
53442         checkin.
53443
53444 2003-08-08  Paul Eggert  <eggert@twinsun.com>
53445
53446         * m4/extensions.m4: New file.
53447         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
53448         Require gl_USE_SYSTEM_EXTENSIONS.
53449         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
53450         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
53451
53452 2003-08-08  Paul Eggert  <eggert@twinsun.com>
53453
53454         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
53455         * modules/extensions, modules/gnu-source: New files.
53456         * modules/timespec, modules/unlocked-io: Depend on extensions.
53457
53458 2003-08-07  Paul Eggert  <eggert@twinsun.com>
53459
53460         * modules/restrict: New file.
53461         * MODULES.html.sh (func_all_modules): Add restrict.
53462         * modules/regex: Depend on restrict.
53463
53464 2003-08-07  Paul Eggert  <eggert@twinsun.com>
53465
53466         * m4/restrict.m4: New file.
53467         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
53468
53469 2003-08-07  Bruno Haible  <bruno@clisp.org>
53470
53471         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
53472         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
53473
53474 2003-08-07  Bruno Haible  <bruno@clisp.org>
53475
53476         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
53477         makes the module 'getndelim2' compatible with the module 'getline'.
53478
53479 2003-08-05  Paul Eggert  <eggert@twinsun.com>
53480
53481         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
53482         byte with "\201" to avoid glitches when editing that source file
53483         with multi-gnome-terminal.
53484
53485 2003-08-05  Paul Eggert  <eggert@twinsun.com>
53486
53487         * lib/bumpalloc.h: Remove.
53488
53489 2003-08-05  Paul Eggert  <eggert@twinsun.com>
53490
53491         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
53492         * modules/bumpalloc: Remove.
53493
53494 2003-08-04  Paul Eggert  <eggert@twinsun.com>
53495
53496         * lib/getloadavg.c: Change copyright notice and spacing to conform to
53497         GNU coding style.
53498
53499         Merge from coreutils.
53500         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
53501         1. From glibc.
53502         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
53503         from Karl Berry, implemented by Jim Meyering.
53504         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
53505         from Dmitry V. Levin.
53506         Remove anachronistic cast of xrealloc.
53507         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
53508         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
53509         type. Otherwise, it wouldn't compile with at least /bin/cc on
53510         ymp-cray-unicos9.0.2.X.
53511         Combine two mostly-identical uses of alloca into one.
53512         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
53513
53514 2003-08-04  Dave Love  <d.love@dl.ac.uk>
53515
53516         [From Emacs.]
53517
53518         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
53519         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
53520         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
53521         obsolete NLIST_NAME_UNION.
53522         [__GNU__]: Undef BSD and FSCALE.
53523         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
53524
53525 2003-08-03  Paul Eggert  <eggert@twinsun.com>
53526
53527         * lib/stdbool_.h (_Bool): Make it signed char, instead of
53528         an enum type, so that it's guaranteed to promote to int.  See:
53529         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
53530
53531 2003-08-03  Karl Berry  <karl@gnu.org>
53532
53533         * config/depcomp: update from automake.
53534
53535 2003-07-31  Paul Eggert  <eggert@twinsun.com>
53536
53537         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
53538         (strerror): Don't assume that a printable int fits in 14 bytes.
53539
53540 2003-07-31  Bruno Haible  <bruno@clisp.org>
53541
53542         * modules/getpass-gnu: New file.
53543         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
53544
53545 2003-07-31  Bruno Haible  <bruno@clisp.org>
53546
53547         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
53548
53549 2003-07-24  Karl Berry  <karl@gnu.org>
53550
53551         * config/missing: update from automake.
53552
53553 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
53554             Bruno Haible  <bruno@clisp.org>
53555
53556         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
53557         * lib/getline.c (getline, getdelim): Likewise.
53558         Remove _GNU_SOURCE define; now it's defined in config.h through
53559         m4/getline.m4.
53560
53561 2003-07-23  Karl Berry  <karl@gnu.org>
53562
53563         * config/config.sub: update from prep.
53564
53565 2003-07-22  Paul Eggert  <eggert@twinsun.com>
53566
53567         * modules/xalloc (Depends-on): Add exitfail.
53568         * modules/xmemcoll: Likewise.
53569
53570 2003-07-22  Paul Eggert  <eggert@twinsun.com>
53571
53572         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
53573         over-parenthesization in macros.
53574
53575         Sync with coreutils.
53576
53577         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
53578         required by C99.
53579
53580         Use `exit_failure' for xalloc and xmemcoll instead of their own
53581         private exit-failure variables.
53582         * lib/xalloc.h (xalloc_exit_failure): Remove.
53583         * lib/xmalloc.c: Likewise.  Include exitfail.h.
53584         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
53585         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
53586         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
53587         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
53588
53589 2003-07-20  Jim Meyering  <jim@meyering.net>
53590
53591         * modules/closeout (Depends-on): Add exitfail.
53592         Suggestion from Bruno Haible.
53593
53594 2003-07-19  Karl Berry  <karl@gnu.org>
53595
53596         * config/config.sub: update from prep.
53597
53598 2003-07-18  Paul Eggert  <eggert@twinsun.com>
53599
53600         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
53601         Remove.
53602         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
53603         to test that it can stand by itself.  Include "exitfail.h".
53604         Clients should set exit_failure instead.
53605         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
53606
53607 2003-07-18  Bruno Haible  <bruno@clisp.org>
53608
53609         * modules/getndelim2: New file.
53610         * modules/getline: Share files with module getndelim2.
53611         * modules/getnline: Depend on getndelim2 instead of sharing files with
53612         it. Add getnline.c to lib_SOURCES.
53613         * MODULES.html.sh (func_all_modules): Add getndelim2.
53614
53615 2003-07-18  Bruno Haible  <bruno@clisp.org>
53616
53617         * m4/getndelim2.m4: New file.
53618         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
53619         invoke gl_PREREQ_GETNDELIM2.
53620         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
53621         gl_PREREQ_GETNDELIM2.
53622         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
53623         gl_GETNDELIM2.
53624
53625 2003-07-18  Bruno Haible  <bruno@clisp.org>
53626
53627         * lib/getndelim2.h: New file.
53628         * lib/getndelim2.c: Make into a module of its own. Include config.h,
53629         getndelim2.h.
53630         (getndelim2): Make non-static. Change return type to ssize_t.
53631         * lib/getline.h: Change argument names.
53632         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
53633         * lib/getnline.c: Include getndelim2.h.
53634
53635 2003-07-18  Andreas Schwab  <schwab@suse.de>
53636
53637         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
53638
53639 2003-07-17  Karl Berry  <karl@gnu.org>
53640
53641         * config/config.sub: update from prep.
53642
53643 2003-07-17  Bruno Haible  <bruno@clisp.org>
53644
53645         * modules/getnline: New file.
53646         * modules/getline: Add lib/getndelim2.c to source file list.
53647         * MODULES.html.sh (func_all_modules): Add getnline.
53648
53649 2003-07-17  Bruno Haible  <bruno@clisp.org>
53650
53651         * m4/getnline.m4: New file.
53652
53653 2003-07-17  Bruno Haible  <bruno@clisp.org>
53654
53655         * m4/Makefile.am.in: Remove file.
53656         * m4/Makefile.am: Remove file.
53657         * m4/Makefile.in: Remove file.
53658
53659 2003-07-17  Bruno Haible  <bruno@clisp.org>
53660
53661         * lib/getnline.h: New file.
53662         * lib/getnline.c: New file.
53663         * lib/getndelim2.c: New file, extracted from getline.c.
53664         (getndelim2): Renamed from getdelim2, with added nmax argument.
53665         * lib/getline.c: Include getndelim2.c.
53666         (getdelim2): Moved out to getndelim2.c.
53667         (getline, getdelim): Update.
53668
53669 2003-07-17  Bruno Haible  <bruno@clisp.org>
53670
53671         * lib/Makefile.am: Remove file.
53672         * lib/Makefile.in: Remove file.
53673
53674 2003-07-17  Bruno Haible  <bruno@clisp.org>
53675
53676         * configure.in: Remove file.
53677         * Makefile.in: Remove file.
53678
53679 2003-07-17  Bruno Haible  <bruno@clisp.org>
53680
53681         * MODULES.html.sh: Put the </BODY> right before </HTML>.
53682
53683 2003-07-16  Karl Berry  <karl@gnu.org>
53684
53685         * config/srclist-update: was running fixlicense twice, which caused
53686                 texinfo.tex to be nullified for some reason.  Simplify,
53687                 $gplsrc is no longer needed as far as I can see?
53688
53689 2003-07-16  Jim Meyering  <jim@meyering.net>
53690
53691         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
53692
53693 2003-07-15  Paul Eggert  <eggert@twinsun.com>
53694
53695         * config/srclist.txt: Get the following files from gettext-runtime/intl
53696         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
53697         ref-del.sin.  From Bruno Haible.
53698         * config/srclist-update (fixfile): Change grep pattern again, since the
53699         previous fix didn't work (there was another trailing $).  Use
53700         '[$]' to escape the $s.
53701
53702 2003-07-15  Karl Berry  <karl@gnu.org>
53703
53704         * lib/vasnprintf.c: update from gettext.
53705
53706 2003-07-15  Karl Berry  <karl@gnu.org>
53707
53708         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
53709         gets expanded when surrounded by '$'.
53710
53711 2003-07-15  Jim Meyering  <jim@meyering.net>
53712
53713         * modules/save-cwd: Don't depend on error.  From Derek Price.
53714
53715 2003-07-15  Jim Meyering  <jim@meyering.net>
53716
53717         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
53718
53719 2003-07-14  Simon Josefsson  <jas@extundo.com>
53720
53721         * modules/mempcpy: New file.
53722         * MODULES.html.sh (func_all_modules): Add mempcpy.
53723
53724 2003-07-14  Simon Josefsson  <jas@extundo.com>
53725
53726         * m4/mempcpy.m4: New file.
53727
53728 2003-07-14  Simon Josefsson  <jas@extundo.com>
53729
53730         * lib/mempcpy.h: New file.
53731         * lib/mempcpy.c: New file.
53732
53733 2003-07-14  Paul Eggert  <eggert@twinsun.com>
53734
53735         * modules/getdate, modules/posixtm: Depend on mktime.
53736
53737 2003-07-14  Paul Eggert  <eggert@twinsun.com>
53738
53739         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
53740         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
53741         unicodeio.c, unicodeio.h, unlocked-io.h:
53742         Switch from LGPL to GPL.
53743
53744 2003-07-14  Paul Eggert  <eggert@twinsun.com>
53745
53746         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
53747         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
53748         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
53749         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
53750         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
53751         updated automatically by ../config/srclist-update.  This changes
53752         their license from LPGL to GPL.
53753
53754 2003-07-14  Paul Eggert  <eggert@twinsun.com>
53755
53756         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
53757         assumed to refer to the root of the most recent stable gettext version.
53758         * config/srclistvars.sh: Add defaults for eggert.
53759         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
53760         Match "This program" as well as "The program".  This is needed
53761         for gettext.
53762
53763 2003-07-14  Jim Meyering  <jim@meyering.net>
53764
53765         Don't emit diagnostics.  Let callers do that.
53766         * lib/save-cwd.c: Don't include "error.h".
53767         (save_cwd): Don't call error.  Ensure that errno is valid
53768         when returning nonzero.
53769
53770         * lib/save-cwd.h (restore_cwd): Update prototype.
53771         * lib/save-cwd.c (restore_cwd): Remove two parameters.
53772         Simplify.  Don't call error upon failure.  Let callers do that.
53773         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
53774         when auditing is enabled.  But don't bother updating the #if.
53775
53776 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
53777
53778         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
53779         it breaks C++ compilation.
53780         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
53781
53782 2003-07-10  Simon Josefsson  <jas@extundo.com>
53783
53784         * modules/strchrnul (Makefile.am): Add strchrnul.h.
53785
53786 2003-07-10  Jim Meyering  <jim@meyering.net>
53787
53788         * m4/clock_time.m4: Remove trailing blank.
53789         * m4/intmax_t.m4: Likewise.
53790
53791 2003-07-10  Jim Meyering  <jim@meyering.net>
53792
53793         * lib/vasnprintf.c: Remove trailing blanks.
53794         Make cpp indentation consistent.
53795
53796 2003-07-09  Paul Eggert  <eggert@twinsun.com>
53797
53798         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
53799         posixver.c, strftime.c, strnlen.c, strverscmp.c:
53800         Switch from LGPL to GPL.
53801
53802 2003-07-09  Paul Eggert  <eggert@twinsun.com>
53803
53804         * config/srclist.txt: Sort sublists.  Add
53805         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
53806         that differ from gnulib for one reason or another; we'd like this list
53807         to be smaller but for now let's document what we have.
53808
53809 2003-07-08  Paul Eggert  <eggert@twinsun.com>
53810
53811         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
53812         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
53813         and sweeter "eval x=$x".
53814         * config/srclist.txt: Get lib/argp* from glibc.
53815
53816 2003-07-07  Paul Eggert  <eggert@twinsun.com>
53817
53818         * lib/mktime.c: Fix some boundary cases and remove need for floating
53819         point.
53820
53821         Issue a compile-time diagnostic if time_t is floating point, or if
53822         two's complement arithmetic is not in effect, or if arithmetic
53823         right shift does not propagate the sign.  These assumptions were
53824         all in the original code but they weren't checked.
53825
53826         (TIME_T_MIDPOINT, verify): New macros.
53827         (__isleap): Remove; it has integer overflow problems.
53828         (leapyear): New function, without those problems.
53829         (ydhms_tm_diff): Remove; splitting into two parts.
53830         (ydhms_diff): New function, containing the arithmetic part of
53831         the old ydhms_tm_diff function.  Issue a compile-time
53832         diagnostic if we are not using C99 integer division.
53833         Avoid casts when possible.
53834         (guess_time_tm): New function, containing the checking part of
53835         the old ydhms_tm_diff function.  Return the new value, rather than
53836         the difference between it and the old.  Accept a new argument T
53837         so that *T specifies the old value.  Check for overflow in the result.
53838
53839         (__mktime_internal): Use a time_t offset, not a long int offset.
53840         This undoes the 2003-06-04 change, which is no longer needed now
53841         that we have better overflow checking.
53842         (localtime_offset): Likewise.
53843
53844         (__mktime_internal): Avoid harmful overflow on hosts where time_t
53845         and long are 64-bit but int is only 32-bit.
53846         (ydhms_diff): Use long int to store year1 and yday1.
53847         Issue a compile-time diagnostic if long int is not wide enough.
53848
53849         (__mktime_internal): Use long int to store adjusted year and yday.
53850         Use plain C rather than preprocessor commands, if that doesn't
53851         affect efficiency.
53852         Check for overflow (and try to repair) after each probe
53853         rather than checking only at the very end.  This avoids some bugs
53854         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
53855         does not equal GMT offset at maximum time).
53856         Use integer to check for overflow rather than floating point; this
53857         is more portable to non-IEEE hosts, and is a tad faster.
53858         When we detect that we are oscillating between two values,
53859         don't check whether tm_isdst has the requested value, since
53860         we already know the answer.  When tm_isdst has the wrong value,
53861         use a different heuristic to find the right one, based on the
53862         extreme values actually observed in practice in tz2003a,
53863         rather than the (overly optimistic) "previous 3 calendar quarters".
53864
53865         (not_equal_tm, print_tm, check_result): Use "const T" rather than
53866         "T const" to accommodate glibc style.
53867         (check_result): Use less-confusing report format.  "long" -> "long int.
53868         (main): Likewise.
53869         Don't loop if the iteration overflows time_t.
53870         Allow a negative step in the iteration.
53871
53872 2003-07-06  Karl Berry  <karl@gnu.org>
53873
53874         * config/depcomp: update from automake.
53875         * config/config.sub: update from prep.
53876
53877 2003-07-03  Karl Berry  <karl@gnu.org>
53878
53879         * config/config.guess: update from prep.
53880
53881 2003-07-01  Paul Eggert  <eggert@twinsun.com>
53882
53883         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
53884         xreadlink.c now includes it unconditionally.
53885
53886 2003-07-01  Paul Eggert  <eggert@twinsun.com>
53887
53888         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
53889         having it depend on HAVE_SYS_TYPES_H.
53890
53891 2003-07-01  Bruno Haible  <bruno@clisp.org>
53892
53893         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
53894         <sys/types.h> should be sufficient.
53895         Reported by Paul Eggert.
53896
53897 2003-06-26  Karl Berry  <karl@gnu.org>
53898
53899         * config/depcomp: update from automake.
53900
53901 2003-06-26  Bruno Haible  <bruno@clisp.org>
53902
53903         * modules/human: Depend on module stdbool.
53904
53905 2003-06-25  Bruno Haible  <bruno@clisp.org>
53906
53907         * modules/readlink: New file.
53908         * modules/xreadlink: Depend on it.
53909         * MODULES.html.sh (func_all_modules): Add readlink.
53910
53911 2003-06-25  Bruno Haible  <bruno@clisp.org>
53912
53913         * m4/readlink.m4: New file.
53914
53915 2003-06-25  Bruno Haible  <bruno@clisp.org>
53916
53917         * lib/readlink.c: New file.
53918
53919 2003-06-22  Karl Berry  <karl@gnu.org>
53920
53921         * config/srclist.txt: update mkinstalldirs from automake.
53922         * config/mkinstalldirs: update.
53923
53924 2003-06-22  Bruno Haible  <bruno@clisp.org>
53925
53926         Portability to mingw32.
53927         * m4/ssize_t.m4: New file, from GNU gettext.
53928         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
53929         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
53930
53931 2003-06-22  Bruno Haible  <bruno@clisp.org>
53932
53933         * modules/safe-read: Add m4/ssize_t.m4.
53934         * modules/xreadlink: Add m4/ssize_t.m4.
53935
53936 2003-06-20  Bruno Haible  <bruno@clisp.org>
53937
53938         Assume C89, so PARAMS isn't needed.
53939         * lib/unicodeio.h (PARAMS): Remove.
53940         * lib/unicodeio.c: Don't use PARAMS.
53941
53942 2003-06-18  Karl Berry  <karl@gnu.org>
53943
53944         * config/config.{guess,sub}: update from prep.
53945
53946 2003-06-18  Jim Meyering  <jim@meyering.net>
53947
53948         Merge changes from coreutils.
53949         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
53950         Remove explicit declarations of xmalloc and realloc.
53951         Include xalloc.h.
53952         (read_utmp): Remove anachronistic cast of xmalloc.
53953
53954 2003-06-17  Paul Eggert  <eggert@twinsun.com>
53955
53956         Assume C89, so PARAMS isn't needed.
53957         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
53958         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
53959         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
53960         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
53961         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
53962         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
53963         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
53964         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
53965         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
53966         lib/xstrtod.h, lib/xstrtol.h: Likewise.
53967         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
53968         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
53969         no longer needed. Anyway, config.h should always be included before any
53970         other file.
53971
53972 2003-06-11  Simon Josefsson  <jas@extundo.com>
53973
53974         * modules/sysexits: New file.
53975         * MODULES.html.sh (func_all_modules): Add sysexits.
53976
53977 2003-06-11  Simon Josefsson  <jas@extundo.com>
53978
53979         * lib/sysexit_.h: New file.
53980
53981 2003-06-11  Derek Price  <derek@ximbiot.com>
53982
53983         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
53984         necessary.
53985
53986 2003-06-11  Bruno Haible  <bruno@clisp.org>
53987
53988         * m4/sysexits.m4: New file.
53989
53990 2003-06-10  Simon Josefsson  <jas@extundo.com>
53991
53992         * lib/argp.h: New file, from glibc.
53993         * lib/argp-ba.c: New file, from glibc.
53994         * lib/argp-eexst.c: New file, from glibc.
53995         * lib/argp-fmtstream.c: New file, from glibc.
53996         * lib/argp-fmtstream.h: New file, from glibc.
53997         * lib/argp-fs-xinl.c: New file, from glibc.
53998         * lib/argp-help.c: New file, from glibc.
53999         * lib/argp-namefrob.h: New file, from glibc.
54000         * lib/argp-parse.c: New file, from glibc.
54001         * lib/argp-pv.c: New file, from glibc.
54002         * lib/argp-pvh.c: New file, from glibc.
54003         * lib/argp-xinl.c: New file, from glibc.
54004
54005 2003-06-10  Simon Josefsson  <jas@extundo.com>
54006
54007         * modules/strchrnul: New file.
54008
54009 2003-06-10  Simon Josefsson  <jas@extundo.com>
54010
54011         * modules/argp: New file.
54012
54013 2003-06-10  Simon Josefsson  <jas@extundo.com>
54014
54015         * m4/strchrnul.m4: New file.
54016
54017 2003-06-10  Simon Josefsson  <jas@extundo.com>
54018
54019         * lib/strchrnul.h: New file.
54020         * lib/strchrnul.c: New file.
54021
54022 2003-06-10  Bruno Haible  <bruno@clisp.org>
54023
54024         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
54025
54026 2003-06-07  Karl Berry  <karl@gnu.org>
54027
54028         * config/config.{guess,sub}: update from prep.
54029
54030 2003-06-07  Jim Meyering  <jim@meyering.net>
54031
54032         * modules/strtod: Use $(...) notation, not @...@ for
54033         AC_REPLACE'd variables.
54034         * modules/localcharset: Likewise.
54035
54036 2003-06-07  Jim Meyering  <jim@meyering.net>
54037
54038         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
54039         in place of my name in the copyright comment.
54040         Remove definition and uses of __P.
54041
54042         From coreutils.
54043         * lib/stat.c: Don't declare xmalloc explicitly.
54044         Instead, include "xalloc.h".
54045         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
54046         xrealloc, and xcalloc return values.
54047         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
54048         Improve comment.
54049         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
54050
54051 2003-06-07  Bruno Haible  <bruno@clisp.org>
54052
54053         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
54054         avoid AC_CONFIG_LINKS.
54055         * modules/fnmatch (Makefile.am): Use explicit creation rule for
54056         fnmatch.h, to avoid AC_CONFIG_LINKS.
54057         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
54058
54059 2003-06-07  Bruno Haible  <bruno@clisp.org>
54060
54061         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
54062         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
54063         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
54064         directory.
54065         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
54066         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
54067         directory.
54068
54069 2003-06-06  Jim Meyering  <jim@meyering.net>
54070
54071         Merge from coreutils.
54072         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
54073         Consolidate declarations and initializations of *_base* locals.
54074
54075         Merge from coreutils.
54076         This avoids a core dump on systems without GNU putenv,
54077         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
54078         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
54079         (unsetenv): New static function, from GNU libc.
54080         (rpl_putenv): Use it.
54081
54082         * lib/modechange.c: Remove trailing blanks.
54083
54084         Merge from coreutils.
54085         * lib/fsusage.c: Remove declaration of statfs.
54086         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
54087
54088         * lib/posixtm.c: Include <stdbool.h> unconditionally.
54089
54090 2003-06-06  Jim Meyering  <jim@meyering.net>
54091
54092         * lib/stdbool_.h: Renamed from stdbool.h.in.
54093
54094 2003-06-06  Jim Meyering  <jim@meyering.net>
54095             Bruno Haible  <bruno@clisp.org>
54096
54097         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
54098         Adjust Makefile.am snippet not to redirect directly to target.
54099         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
54100
54101 2003-06-05  Paul Eggert  <eggert@twinsun.com>
54102
54103         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
54104         mismatch, look in future quarters as well as past.  This fixes a
54105         bug when processing fall-backwards gaps immediately after a long
54106         period of daylight-saving time.
54107
54108         * lib/mktime.c: Assume freestanding C89 or better.
54109         (HAVE_LIMITS_H): Remove.  Assume it's 1.
54110         (__P): Remove; not used.
54111         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
54112         (mktime, not_equal_tm, print_tm, check_result,
54113         main): Use prototypes.  Use const * where appropriate.
54114         (main): Fix typo in testing code that uncovered by above changes.
54115         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
54116
54117 2003-06-04  Paul Eggert  <eggert@twinsun.com>
54118
54119         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
54120         locale.h, localeconv.  This merges changes from coreutils.
54121
54122         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
54123         It can be removed after the next Autoconf is released.
54124         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
54125         needed.
54126
54127 2003-06-04  Paul Eggert  <eggert@twinsun.com>
54128
54129         * lib/mktime.c: Fix Debian bug 177940
54130         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
54131         (localtime_offset): Now long int, not time_t, because we want it
54132         to be guaranteed to be signed.  All uses changed.
54133         (__mktime_internal): If overflow would occur when adding offset,
54134         don't add it.
54135
54136         Merge 'human' changes from coreutils.  Rewrite to support
54137         locale-specific notations like thousands separators.
54138         * lib/human.c: Simplify authorship notice.
54139         Include human.h immediately after config.h.
54140         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
54141         <limits.h>: Do not include, since human.h does.
54142         (SIZE_MAX, UINTMAX_MAX): New macros.
54143         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
54144         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
54145         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
54146         (power_letter): Renamed from suffixes.
54147         (generate_suffix_backwards): Remove.
54148         (adjust_value): Now takes int style (because of human.h changes)
54149         and long double value (for greater precision on some platforms).
54150         (group_number): New function.
54151         (human_readable): Use it.  Use integer options, not enum.
54152         Put the options before the sizes in the arg list.
54153         Support all the new options.
54154         The old human_readable function has been removed;
54155         use inttostr.h instead.
54156         (human_readable, default_block_size, humblock):
54157         Use uintmax_t, not int, for block sizes.
54158         (human_readable_inexact, block_size_types): Remove.
54159         (block_size_opts): New constant.
54160         (human_options): Renamed from human_block_size, with new signature
54161         that allows block sizes up to UINTMAX_MAX.  All callers changed.
54162         * lib/human.h: Add copyright and authorship notice.
54163         Include <limits.h> and <stdbool.h> unconditionally.
54164         (PARAMS): Remove.  All uses removed.
54165         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
54166         (enum human_inexact_style): Remove tag; now a nameless enum.
54167         (human_floor, human_ceiling, human_round_to_even): Now have
54168         values 2, 0, 1 rather than -1, 1, 0.
54169         (human_group_digits, human_suppress_point_zero, human_autoscale,
54170         human_base_1024, human_SI, human_B): New constants.
54171         (human_readable_inexact, human_block_size): Remove.
54172         (human_readable): Size args are now uintmax_t, not int.
54173         (human_options): New decl.
54174
54175         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
54176         unnecessary now that we assume C89 or better.  This change
54177         imported from coreutils.
54178
54179         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
54180         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
54181         in the 2003-05-30 sync from glibc.
54182
54183         .h files should stand alone, but we shouldn't include <sys/types.h>
54184         if we can get away with just <stddef.h>.
54185
54186         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
54187         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
54188         rather than <sys/types.h>, as we merely need size_t.
54189         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
54190         to get size_t.
54191         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
54192         Include <stdio.h>, to get FILE.
54193         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
54194         memcasecmp.h has included <stddef.h> and all we need is size_t.
54195         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
54196         our interface, instead of including <sys/types.h>
54197
54198 2003-06-04  Paul Eggert  <eggert@twinsun.com>
54199
54200         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
54201         now, as glibc mktime is buggy on non-glibc systems.
54202
54203 2003-06-03  Karl Berry  <karl@gnu.org>
54204
54205         * config/config.sub: update from prep.
54206
54207 2003-06-02  Paul Eggert  <eggert@twinsun.com>
54208
54209         [from coreutils]
54210         Fix some minor time-related bugs with POSIX time arguments.
54211         Some valid time stamps were being rejected (notably -1, and
54212         time stamps before 1900 on 64-bit hosts).  And some invalid
54213         time stamps were being accepted, e.g. September 31.
54214
54215         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
54216         that we can return (time_t) -1 successfully.
54217         * lib/posixtm.c: Likewise.
54218         [HAVE_STDBOOL_H]: Include <stdbool.h>.
54219         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
54220         (t): Remove static var.
54221         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
54222         of static var.  All uses changed.
54223         (year): Do not reject years before 1900; they can occur with
54224         64-bit time_t.
54225         (posix_time_parse): Do not check for out-of-range components;
54226         that is now the caller's responsibility, since our checks were
54227         only approximations.
54228         (posixtime): Use mktime to check for out-of-range components,
54229         since it knows them exactly.
54230         If mktime returns (time_t) -1, check whether an error actually occurred
54231         by invoking localtime on -1.
54232         (main) [TEST_POSIXTIME]: Check for input data errors, and report
54233         posixtime failures better.
54234         Improve the test data (in comments only).
54235
54236 2003-06-02  Karl Berry  <karl@gnu.org>
54237
54238         * config/mkinstalldirs (version): new variable.
54239         (--version): new option.
54240         (usage): improve message.
54241
54242 2003-05-30  Karl Berry  <karl@gnu.org>
54243
54244         * lib/mktime.c: update from libc.
54245
54246 2003-05-30  Bruno Haible  <bruno@clisp.org>
54247
54248         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
54249         * config/config.rpath: Upgrade to gettext-0.12.1.
54250
54251 2003-05-30  Bruno Haible  <bruno@clisp.org>
54252
54253         * m4/gettext.m4: Upgrade to gettext-0.12.1.
54254         * m4/nls.m4: New file, from gettext-0.12.1.
54255         * m4/po.m4: New file, from gettext-0.12.1.
54256         * m4/progtest.m4: Upgrade to gettext-0.12.1.
54257
54258 2003-05-30  Bruno Haible  <bruno@clisp.org>
54259
54260         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
54261         * lib/localcharset.h: Likewise.
54262         * lib/localcharset.c: Likewise.
54263
54264 2003-05-29  Karl Berry  <karl@gnu.org>
54265
54266         * config/config.rpath: update from gettext.
54267
54268 2003-05-28  Paul Eggert  <eggert@twinsun.com>
54269
54270         Assume the headers required for C89 freestanding compilers.
54271         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
54272         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
54273         * m4/human.m4 (gl_HUMAN): Likewise.
54274         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
54275         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
54276         * m4/userspec.m4 (gl_USERSPEC): Likewise.
54277         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
54278         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
54279         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
54280
54281 2003-05-28  Paul Eggert  <eggert@twinsun.com>
54282
54283         Assume the headers required for C89 freestanding compilers.
54284         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
54285         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
54286         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
54287         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
54288         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
54289         define, since <limits.h> is guaranteed to do that.
54290         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
54291         * lib/exclude.c: Include <stdbool.h> unconditionally.
54292         * lib/tempname.c: Include <stddef.h> unconditionally.
54293         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
54294         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
54295         <stddef.h> does that.
54296         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
54297         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
54298         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
54299         needed.
54300         * lib/xstrtol.c: Likewise.
54301         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
54302         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
54303
54304         * lib/addext.c (addext): Use assignment rather than cast, to avoid
54305         warnings on some platforms.
54306
54307         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
54308         arbitrarily.
54309
54310 2003-05-26  Jim Meyering  <jim@meyering.net>
54311
54312         Merge in a change from coreutils:
54313         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
54314         that is guaranteed to be `no'.  Use `no_such_member' to indicate
54315         that condition, rather than `-1' which is slightly misleading.
54316         Change the name of the cache variable to have the gl_ prefix.
54317         Prompted by a patch from Richard Dawe for DJGPP.
54318
54319 2003-05-24  Karl Berry  <karl@gnu.org>
54320
54321         * config/config.guess: update from prep.
54322
54323 2003-05-22  Karl Berry  <karl@gnu.org>
54324
54325         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
54326
54327 2003-05-20  Karl Berry  <karl@gnu.org>
54328
54329         * config/config.guess: update from prep.
54330
54331 2003-05-18  Karl Berry  <karl@gnu.org>
54332
54333         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
54334         might actually be set by the user.
54335
54336         * config/depcomp, install-sh, mdate-sh: update from automake.
54337
54338 2003-05-17  Bruno Haible  <bruno@clisp.org>
54339
54340         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
54341         invalid expansion for AC_EGREP_CPP.
54342         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
54343         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
54344         Suggested by Akim Demaille <akim@epita.fr> in
54345         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
54346
54347 2003-05-12  Jim Meyering  <jim@meyering.net>
54348
54349         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
54350         the space-padded-by-default conversion specifiers, %e, %k, %l.
54351
54352 2003-05-12  Bruno Haible  <bruno@clisp.org>
54353
54354         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
54355         the string is longer than 4 KB.
54356
54357 2003-05-11  Karl Berry  <karl@gnu.org>
54358
54359         * config/config.{guess,sub}: update from prep.
54360
54361 2003-05-09  Bruno Haible  <bruno@clisp.org>
54362
54363         * modules/error: Add m4/strerror_r.m4 to file list.
54364
54365 2003-05-03  Bruno Haible  <bruno@clisp.org>
54366
54367         Upgrade to Unicode-4.0.
54368         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
54369         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
54370         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
54371         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
54372         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
54373         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
54374         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
54375         Change width of U+E0100..U+E01EF from 1 to 0.
54376
54377 2003-04-25  Jim Meyering  <jim@meyering.net>
54378
54379         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
54380         of type size_t, not int.
54381
54382 2003-04-25  Bruno Haible  <bruno@clisp.org>
54383
54384         * lib/copy-file.c: Include <stddef.h>, for size_t.
54385
54386 2003-04-21  Paul Eggert  <eggert@twinsun.com>
54387
54388         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
54389         code which expansion is under static control.  Patch imported from
54390         Akim Demaille's patch to Bison; see
54391         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
54392
54393 2003-04-14  Bruno Haible  <bruno@clisp.org>
54394
54395         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
54396
54397 2003-04-11  Jim Meyering  <jim@meyering.net>
54398
54399         Merge changes from Coreutils.
54400
54401         2003-03-22  Jim Meyering  <jim@meyering.net>
54402
54403         * lib/strftime.c (widen): Cast alloca return value to proper type.
54404
54405         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
54406
54407         From GNU libc.
54408         * lib/strftime.c (my_strftime): Handle very large width
54409         specifications for numeric values correctly.  Improve checks for
54410         overflow.
54411
54412         2003-01-19  Jim Meyering  <jim@meyering.net>
54413
54414         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
54415         definitions.
54416         (nl_get_alt_digit) [! defined my_strftime]: Define.
54417         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
54418         _nl_get_alt_digit and _nl_get_walt_digit.
54419
54420         * lib/strftime.c (my_strftime): Merge in locale-related changes from
54421         libc. These changes have no effect outside of _LIBC.
54422
54423 2003-04-10  Bruno Haible  <bruno@clisp.org>
54424
54425         * modules/findprog: New file.
54426         * MODULES.html.sh (func_all_modules): Add it.
54427
54428 2003-04-10  Bruno Haible  <bruno@clisp.org>
54429
54430         * m4/findprog.m4: New file.
54431         * m4/eaccess.m4: New file.
54432
54433 2003-04-10  Bruno Haible  <bruno@clisp.org>
54434
54435         * lib/findprog.h: New file, from GNU gettext.
54436         * lib/findprog.c: New file, from GNU gettext.
54437
54438 2003-04-05  Jim Meyering  <jim@meyering.net>
54439
54440         Merge changes from Coreutils.
54441
54442         * lib/exclude.h (PARAMS): Remove definition and uses.
54443         * lib/exclude.c: Remove uses of `PARAMS'.
54444
54445         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
54446         Add test-cases for DOS filenames. Declare program_name.
54447         (main): Set up program_name.  Patch by Rich Dawe.
54448
54449         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
54450         error from mntctl.
54451         Use mntctl's return value to drive the entry-processing loop, since
54452         we can't rely on the value of the vmt_length member in the last
54453         entry.  On some systems doing so could result in exhausting
54454         virtual memory.  Based in part on a patch from Mike Jetzer.
54455
54456 2003-04-04  Bruno Haible  <bruno@clisp.org>
54457
54458         * modules/linebreak: New file.
54459         * MODULES.html.sh (func_all_modules): Add it.
54460
54461 2003-04-04  Bruno Haible  <bruno@clisp.org>
54462
54463         * m4/linebreak.m4: New file.
54464
54465 2003-04-04  Bruno Haible  <bruno@clisp.org>
54466
54467         * lib/linebreak.h: New file, from GNU gettext.
54468         * lib/linebreak.c: New file, from GNU gettext with slight
54469         modifications.
54470         * lib/lbrkprop.h: New file, from GNU gettext.
54471
54472 2003-04-03  Bruno Haible  <bruno@clisp.org>
54473
54474         * modules/utf8-ucs4: New file.
54475         * modules/utf16-ucs4: New file.
54476         * modules/ucs4-utf8: New file.
54477         * modules/ucs4-utf16: New file.
54478         * MODULES.html.sh (func_all_modules): Add them.
54479
54480 2003-04-03  Bruno Haible  <bruno@clisp.org>
54481
54482         * m4/utf-ucs4.m4: New file.
54483         * m4/ucs4-utf.m4: New file.
54484
54485 2003-04-03  Bruno Haible  <bruno@clisp.org>
54486
54487         * lib/utf8-ucs4.h: New file, from GNU gettext.
54488         * lib/utf16-ucs4.h: New file, from GNU gettext.
54489         * lib/ucs4-utf8.h: New file, from GNU gettext.
54490         * lib/ucs4-utf16.h: New file, from GNU gettext.
54491
54492 2003-04-02  Bruno Haible  <bruno@clisp.org>
54493
54494         * modules/binary-io: New file.
54495         * MODULES.html.sh (func_all_modules): Add it.
54496
54497 2003-04-02  Bruno Haible  <bruno@clisp.org>
54498
54499         * lib/binary-io.h: New file, from GNU gettext.
54500
54501 2003-04-01  Bruno Haible  <bruno@clisp.org>
54502
54503         * modules/pathname: New file.
54504         * MODULES.html.sh (func_all_modules): Add it.
54505
54506 2003-04-01  Bruno Haible  <bruno@clisp.org>
54507
54508         * lib/pathname.h: New file, from GNU gettext.
54509         * lib/concatpath.c: New file, from GNU gettext.
54510
54511 2003-03-30  Bruno Haible  <bruno@clisp.org>
54512
54513         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
54514
54515 2003-03-30  Bruno Haible  <bruno@clisp.org>
54516
54517         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
54518         function chown() doesn't exist.
54519
54520 2003-03-28  Bruno Haible  <bruno@clisp.org>
54521
54522         * modules/copy-file: New file.
54523         * MODULES.html.sh (func_all_modules): Add it.
54524
54525 2003-03-28  Bruno Haible  <bruno@clisp.org>
54526
54527         * m4/copy-file.m4: New file.
54528
54529 2003-03-28  Bruno Haible  <bruno@clisp.org>
54530
54531         * lib/copy-file.h: New file, from GNU gettext.
54532         * lib/copy-file.c: New file, from GNU gettext.
54533
54534 2003-03-18  Jim Meyering  <jim@meyering.net>
54535
54536         * lib/quote.c (quote_n): Fix typo in comment.
54537
54538 2003-03-18  Bruno Haible  <bruno@clisp.org>
54539
54540         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
54541         checking.
54542         * m4/onceonly_2_57.m4: Likewise.
54543
54544 2003-03-17  Bruno Haible  <bruno@clisp.org>
54545
54546         * m4/onceonly.m4: Require autoconf 2.54 or newer.
54547         (m4_quote): Remove macro.
54548         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
54549
54550 2003-03-14  Jim Meyering  <jim@meyering.net>
54551
54552         Merge changes from Coreutils.
54553         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
54554         to be const, in order to avoid warnings.
54555         (obstack_room): Likewise.
54556         (obstack_empty_p): Likewise.
54557
54558 2003-03-14  Bruno Haible  <bruno@clisp.org>
54559
54560         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
54561         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
54562
54563 2003-03-13  Paul Eggert  <eggert@twinsun.com>
54564
54565         Merge changes from Bison.
54566         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
54567         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
54568         when compiling Bison 1.875's `bitset bset = obstack_alloc
54569         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
54570         * lib/hash.c: Include <stdbool.h> unconditionally.
54571
54572 2003-03-13  Paul Eggert  <eggert@twinsun.com>
54573
54574         * m4/onceonly.m4 (m4_quote): New macro.
54575         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
54576         Quote AC_FOREACH variable-expansions properly.
54577
54578 2003-03-13  Paul Eggert  <eggert@twinsun.com>
54579
54580         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
54581
54582 2003-03-09  Paul Eggert  <eggert@twinsun.com>
54583
54584         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
54585         Reported by Bruce Becker; see:
54586         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
54587
54588 2003-03-03  Paul Eggert  <eggert@twinsun.com>
54589             Bruno Haible  <bruno@clisp.org>
54590
54591         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
54592         Reported by John Hughes, see
54593         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
54594
54595 2003-02-20  Bruno Haible  <bruno@clisp.org>
54596
54597         * MODULES.html.sh (func_all_modules): Add poll.
54598
54599 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
54600
54601         * modules/poll: New file.
54602
54603 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
54604
54605         * lib/poll_.h: New file.
54606         * lib/poll.c: New file.
54607
54608 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
54609
54610         * m4/poll.m4: New file.
54611
54612 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
54613
54614         * modules/mathl: New file.
54615
54616 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
54617
54618         * lib/mathl.h: New file.
54619         * lib/acosl.c: New file.
54620         * lib/asinl.c: New file.
54621         * lib/atanl.c: New file.
54622         * lib/ceill.c: New file.
54623         * lib/cosl.c: New file.
54624         * lib/expl.c: New file.
54625         * lib/floorl.c: New file.
54626         * lib/frexpl.c: New file.
54627         * lib/ldexpl.c: New file.
54628         * lib/logl.c: New file.
54629         * lib/sincosl.c: New file.
54630         * lib/sinl.c: New file.
54631         * lib/sqrtl.c: New file.
54632         * lib/tanl.c: New file.
54633         * lib/trigl.c: New file.
54634         * lib/trigl.h: New file.
54635
54636 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
54637
54638         * m4/mathl.m4: New file.
54639
54640 2003-02-18  Bruno Haible  <bruno@clisp.org>
54641
54642         * MODULES.html.sh (func_all_modules): Add mathl.
54643
54644 2003-02-17  Bruno Haible  <bruno@clisp.org>
54645
54646         * modules/mkdtemp: New module.
54647         * MODULES.html.sh (func_all_modules): Add it.
54648
54649 2003-02-17  Bruno Haible  <bruno@clisp.org>
54650
54651         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
54652
54653 2003-02-17  Bruno Haible  <bruno@clisp.org>
54654
54655         * lib/mkdtemp.h: New file, from GNU gettext.
54656         * lib/mkdtemp.c: New file, from GNU gettext.
54657
54658 2003-02-02  Jim Meyering  <jim@meyering.net>
54659
54660         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
54661         e.g. glibc-2.2.93.
54662
54663 2003-01-31  Bruno Haible  <bruno@clisp.org>
54664
54665         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
54666         'rpl_rename'.
54667         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
54668         'rpl_strnlen'.
54669         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
54670         'rpl_strtod'.
54671         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
54672         'rpl_utime'.
54673
54674 2003-01-31  Bruno Haible  <bruno@clisp.org>
54675
54676         * lib/rename.c: #undef rename before defining rpl_rename.
54677         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
54678
54679 2003-01-30  Bruno Haible  <bruno@clisp.org>
54680
54681         * modules/vasnprintf, modules/vasprintf: New modules.
54682         * MODULES.html.sh (func_all_modules): Add them.
54683
54684 2003-01-30  Bruno Haible  <bruno@clisp.org>
54685
54686         * m4/signed.m4: New file, from GNU gettext.
54687         * m4/longdouble.m4: New file, from GNU gettext.
54688         * m4/wchar_t.m4: New file, from GNU gettext.
54689         * m4/wint_t.m4: New file, from GNU gettext.
54690         * m4/vasnprintf.m4: New file.
54691         * m4/vasprintf.m4: New file.
54692
54693 2003-01-30  Bruno Haible  <bruno@clisp.org>
54694
54695         * lib/printf-args.h: New file, from GNU gettext.
54696         * lib/printf-args.c: New file, from GNU gettext.
54697         * lib/printf-parse.h: New file, from GNU gettext.
54698         * lib/printf-parse.c: New file, from GNU gettext.
54699         * lib/vasnprintf.h: New file, from GNU gettext.
54700         * lib/vasnprintf.c: New file, from GNU gettext.
54701         * lib/asnprintf.c: New file, from GNU gettext.
54702         * lib/vasprintf.h: New file, from GNU gettext with modifications.
54703         * lib/vasprintf.c: New file, from GNU gettext.
54704         * lib/asprintf.c: New file, from GNU gettext.
54705
54706 2003-01-29  Bruno Haible  <bruno@clisp.org>
54707
54708         * modules/stpncpy: New module.
54709         * MODULES.html.sh (func_all_modules): Add it.
54710
54711 2003-01-29  Bruno Haible  <bruno@clisp.org>
54712
54713         * m4/stpncpy.m4: New file.
54714
54715 2003-01-29  Bruno Haible  <bruno@clisp.org>
54716
54717         * lib/stpncpy.h: New file, from GNU gettext with modifications.
54718         * lib/stpncpy.c: New file, from GNU gettext with modifications.
54719
54720 2003-01-28  Bruno Haible  <bruno@clisp.org>
54721
54722         * modules/c-ctype: New module.
54723         * MODULES.html.sh (func_all_modules): Add it.
54724
54725 2003-01-28  Bruno Haible  <bruno@clisp.org>
54726
54727         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
54728         Paul Eggert.
54729         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
54730         Paul Eggert.
54731
54732 2003-01-27  Bruno Haible  <bruno@clisp.org>
54733
54734         * modules/xsetenv: New module.
54735         * MODULES.html.sh (func_all_modules): Add it.
54736
54737 2003-01-27  Bruno Haible  <bruno@clisp.org>
54738
54739         * lib/xsetenv.h: New file, from GNU gettext.
54740         * lib/xsetenv.c: New file, from GNU gettext.
54741
54742 2003-01-23  Jim Meyering  <jim@meyering.net>
54743
54744         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
54745         from working on systems without dirfd (at least Irix and OSF1/Tru64).
54746
54747 2003-01-23  Bruno Haible  <bruno@clisp.org>
54748
54749         * modules/minmax: New module.
54750         * MODULES.html.sh (func_all_modules): Add it.
54751
54752 2003-01-23  Bruno Haible  <bruno@clisp.org>
54753
54754         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
54755         Eggert.
54756
54757 2003-01-22  Bruno Haible  <bruno@clisp.org>
54758
54759         * modules/exit: New module.
54760         * MODULES.html.sh (func_all_modules): Add it.
54761
54762 2003-01-22  Bruno Haible  <bruno@clisp.org>
54763
54764         * lib/exit.h: New file, from GNU gettext.
54765
54766 2003-01-19  Bruno Haible  <bruno@clisp.org>
54767
54768         * gnulib-tool: Recognize option --extract-maintainer.
54769         (func_get_maintainer): New function.
54770         * modules/*: Add Maintainer entry.
54771
54772 2003-01-16  Jim Meyering  <jim@meyering.net>
54773
54774         * m4/regex.m4: The `regex' struct is both input and output.
54775         Initialize it before each use.  Patch by Tim Waugh.
54776
54777 2003-01-16  Bruno Haible  <bruno@clisp.org>
54778
54779         * MODULES.html.sh: Add a table of contents. Add the module name as
54780         leftmost column. Add hyperlinks.
54781
54782 2003-01-15  Bruno Haible  <bruno@clisp.org>
54783
54784         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
54785
54786 2003-01-15  Bruno Haible  <bruno@clisp.org>
54787
54788         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
54789         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
54790         suffix.
54791
54792 2003-01-15  Bruno Haible  <bruno@clisp.org>
54793
54794         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
54795
54796 2003-01-15  Bruno Haible  <bruno@clisp.org>
54797
54798         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
54799         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
54800
54801 2003-01-14  Jim Meyering  <jim@meyering.net>
54802
54803         * lib/same.c (same_name): Tweak a comment.
54804
54805 2003-01-14  Bruno Haible  <bruno@clisp.org>
54806
54807         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
54808         when a string comparison is sufficient.
54809
54810 2003-01-14  Bruno Haible  <bruno@clisp.org>
54811
54812         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
54813         'unsigned int'.
54814
54815 2003-01-14  Bruno Haible  <bruno@clisp.org>
54816
54817         * lib/hash-pjw.c: Add comment about low quality of this function.
54818
54819 2003-01-13  Bruno Haible  <bruno@clisp.org>
54820
54821         * modules/stpcpy: Distribute lib/stpcpy.h.
54822         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
54823
54824 2003-01-13  Bruno Haible  <bruno@clisp.org>
54825
54826         * modules/*: Add a description.
54827         * modules/strpbrk: Fix Makefile.am snippet.
54828         * modules/strtoimax: Fix dependencies.
54829         * modules/strtoumax: Likewise.
54830
54831 2003-01-13  Bruno Haible  <bruno@clisp.org>
54832
54833         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
54834         * modules/alloca (Makefile.am): All object files depend on alloca.h.
54835         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
54836
54837 2003-01-13  Bruno Haible  <bruno@clisp.org>
54838
54839         * gnulib-tool (func_create_testdir): Store config/* files in the main
54840         directory.
54841         * config.rpath: Move to ...
54842         * config/config.rpath: ... here.
54843         * modules/gettext: Contains config/config.rpath, not config.rpath.
54844         * modules/iconv: Likewise.
54845
54846 2003-01-12  Paul Eggert  <eggert@twinsun.com>
54847
54848         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
54849         to avoid collisions with libcurses and libreadline.
54850
54851         * m4/getstr.m4: Remove.
54852         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
54853
54854 2003-01-12  Paul Eggert  <eggert@twinsun.com>
54855
54856         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
54857         to avoid collisions with libcurses and libreadline.
54858
54859         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
54860         * lib/getstr.h, getstr.c: Remove.
54861         * lib/getline.c: Include "getline.h", to check interface.
54862         Move body of old getstr.c here: this defines MIN_CHUNK and
54863         declares getdelim2, which is renamed from getstr.
54864         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
54865
54866         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
54867         All uses changed.
54868         * lib/linebuffer.h: Likewise.
54869         (readline): Remove backward-compatibility macro.
54870
54871 2003-01-12  Paul Eggert  <eggert@twinsun.com>
54872
54873         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
54874         to avoid collisions with libcurses and libreadline.
54875         * getstr: Remove.
54876         * MODULES.html.sh: Remove getstr.
54877         * modules/getline: Depend on unlocked-io, not getstr.
54878
54879 2003-01-12  Jim Meyering  <jim@meyering.net>
54880
54881         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
54882
54883 2003-01-10  Bruno Haible  <bruno@clisp.org>
54884
54885         * modules/alloca: Change Makefile.am requirements. Simplify Include
54886         requirements. Add lib/alloca_.h to file list.
54887
54888 2003-01-10  Bruno Haible  <bruno@clisp.org>
54889
54890         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
54891
54892 2003-01-10  Bruno Haible  <bruno@clisp.org>
54893
54894         * lib/alloca_.h: New file.
54895         * lib/getdate.y: Unconditionally include alloca.h.
54896         * lib/makepath.c: Likewise.
54897         * lib/setenv.c: Likewise.
54898         * lib/userspec.c: Likewise.
54899
54900 2003-01-09  Karl Berry  <karl@gnu.org>
54901
54902         * MODULES.html.sh: include `dirname $0` in PATH, to find
54903         gnulib-tool.
54904
54905 2003-01-09  Bruno Haible  <bruno@clisp.org>
54906
54907         * modules/stdbool: Change configure.ac, Makefile.am requirements.
54908         Simplify Include requirements. Add lib/stdbool.h.in to file list.
54909
54910 2003-01-09  Bruno Haible  <bruno@clisp.org>
54911
54912         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
54913
54914 2003-01-09  Bruno Haible  <bruno@clisp.org>
54915
54916         * lib/stdbool.h.in: New file.
54917
54918 2003-01-09  Bruno Haible  <bruno@clisp.org>
54919
54920         * gnulib-tool (func_all_modules): Ignore files ending in ~.
54921         * MODULES.html.sh: Likewise.
54922
54923 2003-01-08  Jim Meyering  <jim@meyering.net>
54924
54925         * lib/full-write.c: Undefine and define-away `const' after inclusion
54926         of errno.h, not before.  Suggestion from Bruno Haible.
54927
54928 2003-01-08  Bruno Haible  <bruno@clisp.org>
54929
54930         * modules/full-read: Depend on full-write.
54931
54932 2003-01-08  Bruno Haible  <bruno@clisp.org>
54933
54934         * lib/safe-read.c: Include specification header first, to ensure its
54935         selfcontainedness.
54936         * lib/full-write.c: Likewise.
54937
54938 2003-01-07  Jim Meyering  <jim@meyering.net>
54939
54940         * lib/full-write.c: Rework so that it may serve to define full_read,
54941         too.
54942         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
54943
54944 2003-01-07  Bruno Haible  <bruno@clisp.org>
54945
54946         * lib/strtoimax.c: Include <stdint.h> as an alternative to
54947         <inttypes.h>.
54948         * lib/xstrtol.h: Likewise.
54949         * lib/xstrtoimax.c: Likewise.
54950         * lib/xstrtoumax.c: Likewise.
54951         * lib/human.h: Likewise.
54952
54953         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
54954         on systems that have <inttypes.h> but not <stdint.h>.
54955
54956 2003-01-07  Bruno Haible  <bruno@clisp.org>
54957
54958         * MODULES.html.sh: Add copyright notice.
54959         (missed_files): Omit CVS directory entries.
54960         (func_module): Make it work with sed-3.02.
54961         * MODULES.txt: Remove file.
54962
54963 2003-01-06  Jim Meyering  <jim@meyering.net>
54964
54965         * lib/version-etc.c: Update year in translatable copyright string.
54966
54967 2003-01-03  Karl Berry  <karl@gnu.org>
54968
54969         * config/config.{guess,sub}: update from prep.
54970
54971 2003-01-02  Karl Berry  <karl@gnu.org>
54972
54973         * doc/COPYING.DOC: belatedly updated to 1.2.
54974
54975 2003-01-01  Karl Berry  <karl@gnu.org>
54976
54977         * gnulib-tool (func_verify_module): report module name $module in
54978         error message, not $1.
54979         * gnulib-tool (create-testdir): don't complain if destdir couldn't
54980         be created, only if it doesn't exist.
54981         * gnulib-tool (last_checkin_date): don't expand the $Date here.
54982
54983 2002-12-31  Paul Eggert  <eggert@twinsun.com>
54984
54985         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
54986
54987 2002-12-31  Paul Eggert  <eggert@twinsun.com>
54988
54989         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
54990         memcmp if strcoll doesn't work.
54991
54992 2002-12-31  Bruno Haible  <bruno@clisp.org>
54993
54994         * lib/utime.c (utime_null): No need to call ftruncate if the file was
54995         nonempty.
54996
54997 2002-12-31  Bruno Haible  <bruno@clisp.org>
54998
54999         * lib/memcoll.c (STRCOLL): New macro.
55000         (memcoll): Use it.
55001
55002 2002-12-31  Bruno Haible  <bruno@clisp.org>
55003
55004         * lib/localcharset.h: New file.
55005         * lib/localcharset.c: Include it.
55006         * lib/unicodeio.c: Likewise.
55007
55008 2002-12-31  Bruno Haible  <bruno@clisp.org>
55009
55010         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
55011         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
55012
55013 2002-12-31  Bruno Haible  <bruno@clisp.org>
55014
55015         * lib/getline.h: Include <stddef.h>, for size_t.
55016
55017         * lib/unicodeio.h: Include <stddef.h>, for size_t.
55018         * lib/unicodeio.c: Don't include <stddef.h>.
55019
55020 2002-12-31  Bruno Haible  <bruno@clisp.org>
55021
55022         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
55023         HAVE_TM_ZONE.
55024
55025 2002-12-24  Karl Berry  <karl@gnu.org>
55026
55027         * config/config.guess: update from prep.
55028
55029 2002-12-24  Bruno Haible  <bruno@clisp.org>
55030
55031         General infrasructure.
55032         * m4/README: Rewritten.
55033         * m4/onceonly.m4: New file.
55034         * m4/onceonly_2_57.m4: New file.
55035
55036         Module atexit.
55037         * m4/atexit.m4: New file.
55038
55039         Module strtod.
55040         * m4/strtod.m4: New file.
55041
55042         Module strtol.
55043         * m4/strtol.m4: New file.
55044
55045         Module strtoul.
55046         * m4/strtoul.m4: New file.
55047
55048         Module memchr.
55049         * m4/memchr.m4: New file.
55050
55051         Module memcmp.
55052         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
55053         (jm_FUNC_MEMCMP): Invoke it.
55054
55055         Module memcpy.
55056         * m4/memcpy.m4: New file.
55057
55058         Module memmove.
55059         * m4/memmove.m4: New file.
55060
55061         Module memset.
55062         * m4/memset.m4: New file.
55063
55064         Module strcspn.
55065         * m4/strcspn.m4: New file.
55066
55067         Module strpbrk.
55068         * m4/strpbrk.m4: New file.
55069
55070         Module strstr.
55071         * m4/strstr.m4: New file.
55072
55073         Module strerror.
55074         * m4/strerror.m4: New file.
55075
55076         Module mktime.
55077         * m4/mktime.m4: Renamed from jm-mktime.m4.
55078         (gl_PREREQ_MKTIME): New macro.
55079         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
55080
55081         Module malloc.
55082         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
55083         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
55084         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
55085
55086         Module realloc.
55087         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
55088         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
55089         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
55090
55091         Module strftime.
55092         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
55093         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
55094         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
55095         gl_TM_GMTOFF.
55096         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
55097
55098         Module xalloc.
55099         * m4/xalloc.m4: New file.
55100
55101         Module alloca.
55102         * m4/alloca.m4: New file.
55103
55104         Module putenv.
55105         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
55106         (jm_FUNC_PUTENV): Invoke it.
55107
55108         Module setenv.
55109         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
55110         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
55111         when invoked twice.
55112         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
55113         gt_FUNC_SETENV.
55114
55115         Module memrchr.
55116         * m4/memrchr.m4: New file.
55117
55118         Module stpcpy.
55119         * m4/stpcpy.m4: New file.
55120
55121         Module strcase.
55122         * m4/strcase.m4: New file.
55123
55124         Module strdup.
55125         * m4/strdup.m4: New file.
55126
55127         Module strnlen.
55128         * m4/strnlen.m4: New file.
55129
55130         Module strndup.
55131         * m4/strndup.m4: New file.
55132
55133         Module xstrtod.
55134         * m4/xstrtod.m4: New file.
55135
55136         Module xstrtol.
55137         * m4/xstrtol.m4: New file.
55138
55139         Module getdate.
55140         * m4/getdate.m4: New file.
55141
55142         Module unlocked-io.
55143         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
55144         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
55145         * m4/jm-glibc-io.m4n: Remove file.
55146
55147         Module long-options.
55148         * m4/long-options.m4: New file.
55149
55150         Module md5.
55151         * m4/md5.m4: New file.
55152
55153         Module sha.
55154         * m4/sha.m4: New file.
55155
55156         Module getstr.
55157         * m4/getstr.m4: New file.
55158
55159         Module getline.
55160         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
55161         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
55162         <sys/types.h>, for size_t. Use the function name gnu_getline, not
55163         simply getline. Infoke gl_PREREQ_GETLINE.
55164
55165         Module obstack.
55166         * m4/obstack.m4: New file.
55167
55168         Module hash.
55169         * m4/hash.m4: New file.
55170
55171         Module readtokens.
55172         * m4/readtokens.m4: New file.
55173
55174         Module strverscmp.
55175         * m4/strverscmp.m4: New file.
55176
55177         Module stdbool.
55178         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
55179         OSF/1.
55180
55181         Module strtoll.
55182         * m4/strtoll.m4: New file.
55183
55184         Module strtoull.
55185         * m4/strtoull.m4: New file.
55186
55187         Module strtoimax.
55188         * m4/strtoimax.m4: New file.
55189
55190         Module strtoumax.
55191         * m4/strtoumax.m4: New file.
55192
55193         Module xstrtoimax.
55194         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
55195         jm_AC_PREREQ_XSTRTOIMAX.
55196         Moved the strtol prerequisites to strtol.m4.
55197         Moved the strtoll prerequisites to strtoll.m4.
55198         Moved the strtoimax prerequisites to strtoimax.m4.
55199
55200         Module xstrtoumax.
55201         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
55202         jm_AC_PREREQ_XSTRTOUMAX.
55203         Moved the strtoul prerequisites to strtoul.m4.
55204         Moved the strtoull prerequisites to strtoull.m4.
55205         Moved the strtoumax prerequisites to strtoumax.m4.
55206
55207         Module chown.
55208         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
55209         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
55210
55211         Module dup2.
55212         * m4/dup2.m4: New file.
55213
55214         Module ftruncate.
55215         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
55216         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
55217
55218         Module getgroups.
55219         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
55220         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
55221
55222         Module gettimeofday.
55223         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
55224         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
55225         gl_PREREQ_GETTIMEOFDAY.
55226
55227         Module mkdir.
55228         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
55229         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
55230
55231         Module mkstemp.
55232         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
55233         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
55234         jm_AC_TYPE_UINTMAX_T.
55235         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
55236
55237         Module stat.
55238         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
55239         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
55240
55241         Module lstat.
55242         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
55243         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
55244
55245         Module timespec.
55246         * m4/timespec.m4 (gl_TIMESPEC): New macro.
55247         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
55248         * m4/st_mtim.m4: Indentation.
55249
55250         Module nanosleep.
55251         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
55252         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
55253         gl_PREREQ_NANOSLEEP.
55254
55255         Module regex.
55256         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
55257         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
55258         (gl_REGEX): New macro.
55259
55260         Module rename.
55261         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
55262         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
55263
55264         Module rmdir.
55265         * m4/rmdir.m4: New file.
55266
55267         Module utime.
55268         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
55269         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
55270         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
55271
55272         Module dirname.
55273         * m4/dirname.m4: New file.
55274
55275         Module getopt.
55276         * m4/getopt.m4: New file.
55277
55278         Module unistd-safer.
55279         * m4/unistd-safer.m4: New file.
55280
55281         Module fnmatch.
55282         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
55283         declaration.
55284         (gl_PREREQ_FNMATCH_EXTRA): New macro.
55285         (gl_FUNC_FNMATCH_POSIX): New macro.
55286         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
55287         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
55288         simply fnmatch.
55289
55290         Module exclude.
55291         * m4/exclude.m4: New file.
55292
55293         Module human.
55294         * m4/human.m4: New file.
55295
55296         Module acl.
55297         * m4/acl.m4: Nop.
55298
55299         Module backupfile.
55300         * m4/backupfile.m4: New file.
55301         * m4/d-ino.m4: Indentation.
55302
55303         Module fsusage.
55304         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
55305         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
55306         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
55307
55308         Module dirfd.
55309         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
55310         requirements.
55311
55312         Module euidaccess.
55313         * m4/euidaccess.m4: New file.
55314
55315         Module file-type.
55316         * m4/file-type.m4: New file.
55317
55318         Module fileblocks.
55319         * m4/fileblocks.m4: New file.
55320
55321         Module filemode.
55322         * m4/filemode.m4: New file.
55323
55324         Module isdir.
55325         * m4/isdir.m4: New file.
55326
55327         Module lchown.
55328         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
55329         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
55330
55331         Module makepath.
55332         * m4/makepath.m4: New file.
55333
55334         Module modechange.
55335         * m4/modechange.m4: New file.
55336
55337         Module mountlist.
55338         * m4/mountlist.m4: New file.
55339         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
55340         Indentation.
55341
55342         Module path-concat.
55343         * m4/path-concat.m4: New file.
55344
55345         Module pathmax.
55346         * m4/pathmax.m4: New file.
55347
55348         Module same.
55349         * m4/same.m4: New file.
55350
55351         Module save-cwd.
55352         * m4/save-cwd.m4: New file.
55353
55354         Module savedir.
55355         * m4/savedir.m4: New file.
55356
55357         Module xgetcwd.
55358         * m4/xgetcwd.m4: New file.
55359         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
55360
55361         Module xreadlink.
55362         * m4/xreadlink.m4: New file.
55363
55364         Module safe-read.
55365         * m4/safe-read.m4: New file.
55366
55367         Module safe-write.
55368         * m4/safe-write.m4: New file.
55369
55370         Module closeout.
55371         * m4/closeout.m4: New file.
55372
55373         Module stdio-safer.
55374         * m4/stdio-safer.m4: New file.
55375
55376         Module getpass.
55377         * m4/getpass.m4: New file.
55378
55379         Module getugroups.
55380         * m4/getugroups.m4: New file.
55381
55382         Module group-member.
55383         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
55384         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
55385
55386         Module idcache.
55387         * m4/idcache.m4: New file.
55388
55389         Module userspec.
55390         * m4/userspec.m4: New file.
55391
55392         Module gettime.
55393         * m4/clock_time.m4: New file.
55394         * m4/gettime.m4: New file.
55395
55396         Module settime.
55397         * m4/settime.m4: New file.
55398
55399         Module posixtm.
55400         * m4/posixtm.m4: New file.
55401
55402         Module gethostname.
55403         * m4/gethostname.m4: New file.
55404
55405         Module canon-host.
55406         * m4/canon-host.m4: New file.
55407
55408         Module gettext.
55409         * m4/codeset.m4: New file, from gettext-0.11.5.
55410         * m4/gettext.m4: New file, from gettext-0.11.5.
55411         * m4/glibc21.m4: New file, from gettext-0.11.5.
55412         * m4/iconv.m4: New file, from gettext-0.11.5.
55413         * m4/intdiv0.m4: New file, from gettext-0.11.5.
55414         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
55415         * m4/inttypes.m4: New file, from gettext-0.11.5.
55416         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
55417         * m4/isc-posix.m4: New file, from gettext-0.11.5.
55418         * m4/lcmessage.m4: New file, from gettext-0.11.5.
55419         * m4/lib-ld.m4: New file, from gettext-0.11.5.
55420         * m4/lib-link.m4: New file, from gettext-0.11.5.
55421         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
55422         * m4/progtest.m4: New file, from gettext-0.11.5.
55423         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
55424         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
55425         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
55426
55427         Module localcharset.
55428         * m4/localcharset.m4: New file.
55429
55430         Module hard-locale.
55431         * m4/hard-locale.m4: New file.
55432
55433         Module mbswidth.
55434         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
55435         onceonly macros.
55436         * m4/mbrtowc.m4: Add comment.
55437
55438         Module memcasecmp.
55439         * m4/memcasecmp.m4: New file.
55440
55441         Module memcoll.
55442         * m4/memcoll.m4: New file.
55443
55444         Module unicodeio.
55445         * m4/unicodeio.m4: New file.
55446
55447         Module rpmatch.
55448         * m4/rpmatch.m4: New file.
55449
55450         Module yesno.
55451         * m4/yesno.m4: New file.
55452
55453         Module exitfail.
55454         * m4/exitfail.m4: New file.
55455
55456         Module c-stack.
55457         * m4/c-stack.m4 (gl_C_STACK): New macro.
55458         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
55459
55460         Module error.
55461         * m4/error.m4 (gl_ERROR): New macro.
55462         (jm_PREREQ_ERROR): Use onceonly macros.
55463
55464         Module fatal.
55465         * m4/fatal.m4: New file.
55466
55467         Module getloadavg.
55468         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
55469         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
55470
55471         Module getpagesize.
55472         * m4/getpagesize.m4: New file.
55473
55474         Module getusershell.
55475         * m4/getusershell.m4: New file.
55476
55477         Module physmem.
55478         * m4/physmem.m4: New file.
55479
55480         Module posixver.
55481         * m4/posixver.m4: New file.
55482
55483         Module quotearg.
55484         * m4/quotearg.m4: New file.
55485
55486         Module quote.
55487         * m4/quote.m4: New file.
55488
55489         Module readutmp.
55490         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
55491
55492         Module sig2str.
55493         * m4/sig2str.m4: New file.
55494
55495         Other.
55496         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
55497         ulonglong.m4.
55498         * m4/intmax_t.m4: New file.
55499         * m4/d-type.m4: Indentation.
55500         * m4/jm-macros.m4: Update.
55501         * m4/prereq.m4 (jm_PREREQ): Update.
55502         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
55503         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
55504         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
55505         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
55506         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
55507         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
55508         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
55509         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
55510         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
55511         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
55512         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
55513         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
55514         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
55515         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
55516         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
55517         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
55518         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
55519         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
55520         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
55521
55522 2002-12-24  Bruno Haible  <bruno@clisp.org>
55523
55524         * MODULES.txt: Update according to m4/ changes.
55525
55526         Module gettext.
55527         * config.rpath: New file, from gettext-0.11.5.
55528
55529         * modules/*: New module descriptions.
55530         * gnulib-tool: New file.
55531         * MODULES.html.sh: New file.
55532
55533 2002-12-21  Karl Berry  <karl@gnu.org>
55534
55535         * doc/fdl.texi: update to version 1.2.
55536
55537 2002-12-19  Karl Berry  <karl@gnu.org>
55538
55539         * config/config.guess: update from prep.
55540
55541 2002-12-18  Bruno Haible  <bruno@clisp.org>
55542
55543         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
55544         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
55545
55546 2002-12-17  Bruno Haible  <bruno@clisp.org>
55547
55548         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
55549         stdlib.h, string.h.
55550
55551 2002-12-17  Bruno Haible  <bruno@clisp.org>
55552
55553         * lib/canon-host.c (strdup): Remove unused declaration.
55554
55555         * lib/fsusage.c: Include full_read.h.
55556         (get_fs_usage): Use full_read instead of safe_read.
55557
55558         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
55559
55560 2002-12-12  Karl Berry  <karl@gnu.org>
55561
55562         * config/config.guess: update from prep.
55563
55564 2002-12-11  Bruno Haible  <bruno@clisp.org>
55565
55566         * m4/setenv.m4: New file, from gettext-0.11.5.
55567
55568 2002-12-11  Bruno Haible  <bruno@clisp.org>
55569
55570         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
55571         not unsetenv().
55572         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
55573         modifications:
55574
55575         2002-12-11  Bruno Haible  <bruno@clisp.org>
55576
55577                 * setenv.c (alloca): Fall back to malloc.
55578                 (freea): New macro.
55579                 (setenv): Use freea() to free memory allocated with alloca().
55580
55581         2002-11-13  Bruno Haible  <bruno@clisp.org>
55582
55583                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
55584                 function declarations.
55585                 * unsetenv.c (unsetenv): Likewise.
55586
55587         2002-03-04  Bruno Haible  <bruno@clisp.org>
55588
55589                 Portability to AIX 4.3.3.
55590                 * unsetenv.c: New file, extracted from setenv.c.
55591                 * setenv.c: Move the unsetenv() function to unsetenv.c.
55592
55593         2001-12-20  Bruno Haible  <bruno@clisp.org>
55594
55595                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
55596                 use malloc instead. For SunOS 4.
55597
55598         2001-12-11  Bruno Haible  <bruno@clisp.org>
55599
55600                 * setenv.c: Declare alloca.
55601                 (compar_fn_t): New typedef.
55602                 (KNOWN_VALUE, STORE_VALUE): Use it.
55603
55604         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
55605         setenv.h.
55606
55607 2002-12-10  Paul Eggert  <eggert@twinsun.com>
55608
55609         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
55610         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
55611         Choose values that are less likely to collide with system fnmatch
55612         options.
55613         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
55614         defined (e.g., a pure POSIX system).
55615         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
55616         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
55617
55618 2002-12-06  Paul Eggert  <eggert@twinsun.com>
55619
55620         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
55621         a pain in practice to deal with generated m4 files.  This change
55622         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
55623
55624         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
55625         and jm-glibc-io.m4, as they are no longer a special case.
55626         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
55627         kludge and the auto-generation stuff.  Check only whether the
55628         functions are declared, not whether they exist, since older hosts
55629         that don't declare the functions can't use the optimization anyway.
55630
55631 2002-12-06  Jim Meyering  <jim@meyering.net>
55632
55633         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
55634
55635         Merge in changes from libc's misc/error.c, in preparation
55636         for the merge of gnulib's changes back into libc.
55637
55638         * lib/error.c (_): Define only if not already defined.
55639         Move definition to follow all #include directives.
55640         Include unlocked-io.h only if !_LIBC.
55641         [_LIBC]: Include <libio/libioP.h>.
55642         [USE_IN_LIBIO]: Include <libio/iolibio.h>
55643         (fflush): Tweak definition to use INTUSE.
55644         (putc): Define.
55645
55646 2002-12-05  Paul Eggert  <eggert@twinsun.com>
55647
55648         * lib/alloca.c [defined emacs]: Include "lisp.h".
55649         (xalloc_die) [defined emacs]: New macro.
55650         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
55651         [! defined emacs]: Include <xalloc.h>.
55652         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
55653         (pointer): Typedef to POINTER_TYPE *.
55654         (malloc): Remove decl; we now always use xmalloc.
55655         (alloca): Use old-style definition, since Emacs needs this.
55656         Check for arithmetic overflow when computing combined size.
55657
55658 2002-12-04  Paul Eggert  <eggert@twinsun.com>
55659
55660         Do not generate unlocked-io.h automatically, since it's easier to
55661         maintain it by hand.
55662
55663         * lib/unlocked-io.h: New file, from GNU diffutils,
55664         but with proper copyright notice and attribution.
55665         * lib/gen-uio: Remove.
55666         * lib/Makefile.am: Add copyright notice.
55667         (libfetish_a_SOURCES): Add unlocked-io.h.
55668         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
55669         (DISTCLEANFILES, io_functions): Remove macros.
55670         (EXTRA_DIST): Remove gen_uio.
55671         (unlocked-io.h): Remove rule.
55672
55673 2002-12-04  Jim Meyering  <jim@meyering.net>
55674
55675         Reflect the fact that stat.c and lstat.c are no longer generated.
55676         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
55677         (DISTCLEANFILES): Likewise.
55678         (EXTRA_DIST): Likewise.
55679         (all_local): Don't depend on stat.c or lstat.c.
55680         (stat.c, lstat.c): Remove rules.
55681         (EXTRA_DIST): Remove xstat.in.
55682
55683         * lib/xstat.in: Remove file.  Contents moved into stat.c.
55684         * lib/stat.c: New file.  Contents mostly from xstat.in.
55685         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
55686         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
55687
55688         * lib/safe-read.c: Rework so that it may serve to define safe_write,
55689         too.
55690         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
55691
55692 2002-12-03  Jim Meyering  <jim@meyering.net>
55693
55694         * lib/safe-read.c, safe-write.c: Change variable names and comments,
55695         but not semantics, to minimize the differences between these two files.
55696         (safe_read): Change comment to mention SAFE_READ_ERROR.
55697
55698         * lib/safe-read.c (IS_EINTR): Define.
55699         (safe_read): Use IS_EINTR in place of in-function cpp directives.
55700
55701 2002-12-02  Jim Meyering  <jim@meyering.net>
55702
55703         * lib/safe-read.c (EINTR): Define.
55704         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
55705         (INT_MAX): Provide fallback.
55706         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
55707
55708         * lib/safe-read.h (SAFE_READ_ERROR): Define.
55709
55710 2002-12-02  Bruno Haible  <bruno@clisp.org>
55711
55712         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
55713         Define, taken from safe-read.c.
55714         (INT_MAX): Provide fallback.
55715         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
55716         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
55717
55718         * lib/safe-read.c (EINTR): Remove definition.
55719         (safe_read): Don't use EINTR if it is absent.
55720
55721 2002-12-01  Jim Meyering  <jim@meyering.net>
55722
55723         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
55724         zero.
55725         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
55726
55727 2002-11-27  Paul Eggert  <eggert@twinsun.com>
55728
55729         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
55730         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
55731         with `if (! (value < limit)) abort ();', for readability.
55732
55733 2002-11-26  Karl Berry  <karl@gnu.org>
55734
55735         * lib/strdup.c: copy from libc again, with jim's ok.
55736         * lib/.cppi-disable: re-add strdup.c
55737
55738 2002-11-25  Karl Berry  <karl@gnu.org>
55739
55740         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
55741         instead of "strtol.c".
55742
55743 2002-11-25  Karl Berry  <karl@gnu.org>
55744
55745         * config/install-sh: update from automake for variable quoting, $0 in
55746         error msgs, etc.
55747
55748         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
55749         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
55750         entry.
55751
55752 2002-11-25  Jim Meyering  <jim@meyering.net>
55753
55754         * lib/mktime.c: Sync from libc, now that it has the latest fix.
55755
55756 2002-11-24  Karl Berry  <karl@gnu.org>
55757
55758         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
55759         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
55760
55761 2002-11-24  Jim Meyering  <jim@meyering.net>
55762
55763         Update from coreutils:
55764
55765         * lib/mktime.c: Merge in changes from libc.
55766
55767         Avoid a link-time failure on some Linux systems.
55768         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
55769         (otherwise).
55770         (__mon_yday): Declare with the STATIC attribute.
55771         (__mktime_internal): Likewise.
55772         Based on a report from Greg Schafer.
55773
55774 2002-11-23  Jim Meyering  <jim@meyering.net>
55775
55776         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
55777         Use `unsigned', not `int', as type of index.
55778
55779         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
55780
55781         * lib/fsusage.c: Remove unneeded parentheses around operands of
55782         `defined'.
55783
55784 2002-11-22  Paul Eggert  <eggert@twinsun.com>
55785
55786         * lib/quotearg.h: Allow multiple inclusion by surrounding with
55787         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
55788         so that we can be included first.
55789         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
55790         * lib/quotearg.c: Include quotearg.h immediately after config.h.
55791         No need to include stddef.h or sys/types.h any more.
55792         Surround local include files with "", not "<>".
55793         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
55794         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
55795         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
55796         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
55797         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
55798         (ISPRINT): Remove; no longer needed now that we assume C89.
55799
55800         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
55801         Preserve errno.
55802
55803         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
55804         quotearg_char): Use SIZE_MAX rather than
55805         (size_t) -1 when we are talking about "infinity".
55806
55807         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
55808
55809 2002-11-22  Paul Eggert  <eggert@twinsun.com>
55810
55811         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
55812         hint that one should use `if (! x) abort ();' rather than `assert
55813         (x);', and anyway it's one less thing to worry about configuring.
55814         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
55815         hash_rehash, hash_insert): Use abort rather than assert.
55816
55817 2002-11-22  Bruno Haible  <bruno@clisp.org>
55818
55819         * lib/safe-read.h: Assume C89. Add comments.
55820         (safe_read): Change return type to size_t.
55821         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
55822         byte counts > SSIZE_MAX correctly.
55823         * lib/safe-write.h: New file.
55824         * lib/safe-write.c: New file.
55825         * lib/full-read.h: New file.
55826         * lib/full-read.c: New file.
55827         * lib/full-write.h: Assume C89. Add comments.
55828         * lib/full-write.c: Include safe-write.h.
55829         (full_write): Rewritten to use safe_write.
55830         Suggested by Jim Meyering and Paul Eggert.
55831
55832 2002-11-21  Jim Meyering  <jim@meyering.net>
55833
55834         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
55835
55836         Merge in changes from the coreutils.
55837
55838         2002-09-25  Paul Eggert  <eggert@twinsun.com>
55839         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
55840         <stdint.h>.
55841         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
55842         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
55843         int.  Work more efficiently if X is the same width as uintmax_t.
55844         Do not compare X to -1, to avoid bogus compiler warning.
55845         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
55846         Don't assume that f_frsize and f_bsize are the same type.
55847
55848         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
55849         warning on FreeBSD.
55850
55851         * lib/makepath.c (make_path): Restore umask *before* creating the final
55852         component.
55853         (make_path): Minor reformatting.
55854
55855         * lib/xmalloc.c: Adjust to work with new autoconf macros,
55856         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
55857         HAVE_MALLOC/HAVE_REALLOC.
55858
55859         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
55860         dummy ones.  At least on GNU/Linux systems, `auto' means something
55861         else.
55862         From Michael Stone.
55863
55864 2002-11-21  Bruno Haible  <bruno@clisp.org>
55865
55866         Remove case insensitive option matching.
55867         * lib/argmatch.h (argcasematch): Remove declaration.
55868         (ARGCASEMATCH): Remove macro.
55869         (__xargmatch_internal): Remove case_sensitive argument.
55870         (XARGMATCH): Update.
55871         (XARGCASEMATCH): Remove macro.
55872         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
55873         case_sensitive argument.
55874         (argcasematch): Remove function.
55875         (__xargmatch_internal): Remove case_sensitive argument.
55876         (main): Use XARGMATCH instead of XARGCASEMATCH.
55877
55878         * lib/xmalloc.c: Change compile-time error message. Add comment about
55879         required autoconf version.
55880
55881 2002-11-20  Paul Eggert  <eggert@twinsun.com>
55882
55883         Merge argmatch cleanups from Bison.  Assume C89.
55884
55885         * lib/argmatch.c: Include config.h here, not in argmatch.h.
55886         Include stdlib.h, for EXIT_FAILURE.
55887         Always include <string.h>, since we assume C89.
55888         (EXIT_FAILURE): Remove pre-C89 bug workaround.
55889         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
55890         Include <stddef.h> instead, since it's all we need for size_t.
55891         (PARAMS): Remove.  All uses removed.
55892         (ARRAY_CARDINALITY): Do not bother to #undef.
55893         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
55894         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
55895         Remove unnecessary parentheses.
55896         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
55897         Insert necessary parentheses.
55898         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
55899         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
55900
55901 2002-11-19  Bruno Haible  <bruno@clisp.org>
55902
55903         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
55904         * lib/mbswidth.h: Include <stddef.h>, for size_t.
55905
55906         * lib/mbswidth.h (PARAMS): Remove macro.
55907         (mbswidth, mbsnwidth): Use ANSI C function declarations.
55908         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
55909
55910         * lib/gcd.h (PARAMS): Remove macro.
55911         (gcd): Use ANSI C function declarations.
55912         * lib/gcd.c (gcd): Likewise.
55913
55914 2002-11-15  Bruno Haible  <bruno@clisp.org>
55915
55916         * lib/strcspn.c: Include <stddef.h>.
55917         (strcspn): Use ANSI C function declaration. Change return type to
55918         size_t. Use NULL.
55919         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
55920         (strpbrk): Use NULL.
55921         * lib/strpbrk.h (PARAMS): Remove macro.
55922         (strpbrk): Use ANSI C function declaration.
55923         * lib/strstr.c: Don't include <sys/types.h>.
55924         * lib/strstr.h (PARAMS): Remove macro.
55925         (strstr): Use ANSI C function declarations.
55926
55927 2002-11-14  Karl Berry  <karl@gnu.org>
55928
55929         * config/mkinstalldirs: `do' on separate line, instead of
55930         `for var; do'.
55931
55932 2002-11-06  Bruno Haible  <bruno@clisp.org>
55933
55934         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
55935         * lib/gcd.c (gcd): Likewise.
55936
55937 2002-11-05  Bruno Haible  <bruno@clisp.org>
55938
55939         * lib/gcd.h: New file, from gettext-0.11.5.
55940         * lib/gcd.c: New file, from gettext-0.11.5.
55941
55942 2002-11-05  Bruno Haible  <bruno@clisp.org>
55943
55944         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
55945         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
55946         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
55947         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
55948
55949         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
55950         <libintl.h>.
55951         * lib/makepath.c: Include gettext.h instead of <locale.h> and
55952         <libintl.h>.
55953
55954         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
55955         * lib/human.c: Include gettext.h instead of <libintl.h>.
55956         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
55957         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
55958         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
55959         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
55960         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
55961         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
55962         (textdomain): Remove definition.
55963         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
55964
55965         * lib/long-options.c: Remove include of <libintl.h> and definition of
55966         _.
55967         * lib/same.c: Remove include of <libintl.h> and definition of _.
55968
55969 2002-11-04  Owen Taylor  <otaylor@redhat.com>
55970
55971         * lib/config.charset: A few additions for Solaris.
55972
55973 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
55974
55975         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
55976         * lib/localcharset.c (locale_charset): Declare as extern "C".
55977
55978 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
55979
55980         * lib/config.charset: msdos in uk_UA uses CP1125.
55981
55982 2002-11-04  Bruno Haible  <bruno@clisp.org>
55983
55984         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
55985         * lib/strcase.h: New file, from GNU gettext-0.11.5.
55986         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
55987         * lib/strstr.h: New file, from GNU gettext-0.11.5.
55988         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
55989
55990 2002-11-04  Bruno Haible  <bruno@clisp.org>
55991
55992         * lib/localcharset.c (locale_charset): Don't return an empty string.
55993
55994 2002-11-04  Bruno Haible  <bruno@clisp.org>
55995
55996         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
55997         aliases.
55998
55999 2002-11-04  Bruno Haible  <bruno@clisp.org>
56000
56001         * lib/config.charset: Update for newest glibc. Add canonical names
56002         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
56003
56004 2002-11-04  Bruno Haible  <bruno@clisp.org>
56005
56006         * lib/config.charset: Add support for NetBSD.
56007
56008 2002-11-04  Bruno Haible  <bruno@clisp.org>
56009
56010         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
56011
56012 2002-11-01  Bruno Haible  <bruno@clisp.org>
56013
56014         * configure.in: Add AC_CONFIG_AUX_DIR call.
56015         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
56016         test/Makefile.
56017         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
56018
56019 2002-09-28  Karl Berry  <karl@gnu.org>
56020
56021         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
56022         installed automake until the next release, since changes have been
56023         made.
56024
56025 2002-09-25  Karl Berry  <karl@gnu.org>
56026
56027         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
56028         * lib/getopt*: copy from libc/posix.
56029         * lib/gettext.h: copy from gettext.
56030         * lib/.cppi-disable: add strdup.c, gettext.h.
56031
56032 2002-09-25  Karl Berry  <karl@gnu.org>
56033
56034         * config/srclist.txt: enable gettext.h check.
56035         * config/config.{guess,sub}: update from prep.
56036         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
56037                 from automake 1.6.3.
56038         See srclist*.
56039
56040 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
56041
56042         * regex.c (PATFETCH): Remove the translating fetch.
56043         (PATFETCH_RAW): Rename to PATFETCH.
56044         (set_image_of_range): New fun.
56045         (SET_RANGE_TABLE_WORK_AREA): Use it.
56046         (regex_compile): Don't translate the pattern chars so eagerly.
56047         Only do it when inserting an `exactn' bytecode or when handling
56048         a char-range.
56049         (mutually_exclusive_p): Avoid empty statement.
56050
56051 2002-07-06  Jim Meyering  <meyering@lucent.com>
56052
56053         * m4/README: Don't mention Makefile.am.in.
56054         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
56055
56056 2002-07-01  Jim Meyering  <meyering@lucent.com>
56057
56058         * lib/c-stack.c: Include sys/time.h.
56059         From Volker Borchert.
56060
56061 2002-06-26  Paul Eggert  <eggert@twinsun.com>
56062
56063         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
56064
56065 2002-06-26  Paul Eggert  <eggert@twinsun.com>
56066
56067         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
56068         New macro.  Use it uniformly instead of
56069         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
56070         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
56071         reported by Vin Shelton.
56072
56073 2002-06-22  Paul Eggert  <eggert@twinsun.com>
56074
56075         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
56076         Do not assume SA_SIGINFO behavior.
56077         Bug reported by Jim Meyering on NetBSD 1.5.2.
56078
56079 2002-06-22  Jim Meyering  <meyering@lucent.com>
56080
56081         * m4/c-stack.m4: New file, from diffutils-2.8.2.
56082         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
56083
56084         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
56085         now that configure.ac uses AC_GNU_SOURCE.
56086         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
56087         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
56088
56089         Update to latest tools.  Suggestions from Paul Eggert.
56090         * m4/stdbool.m4: New file, from diffutils-2.8.2.
56091         * m4/gnu-source.m4: Update from diffutils-2.8.2.
56092         * m4/fnmatch.m4: Likewise.
56093         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
56094         to AC_HEADER_STDBOOL
56095
56096 2002-06-22  Jim Meyering  <meyering@lucent.com>
56097
56098         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
56099         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
56100
56101 2002-06-22  Jim Meyering  <meyering@lucent.com>
56102
56103         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
56104
56105         * lib/exitfail.c, exitfail.h: Likewise.
56106         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
56107
56108         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
56109         of fnmatch.h.
56110         (EXTRA_DIST): Add fnmatch_loop.c.
56111         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
56112
56113         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
56114         * lib/fnmatch.c: Update from diffutils-2.8.2.
56115         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
56116         * lib/fnmatch.h: Remove file.
56117
56118 2002-06-21  Jim Meyering  <meyering@lucent.com>
56119
56120         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
56121         * m4/mbrtowc.m4: Likewise.
56122
56123         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
56124         * m4/mbswidth.m4: Reflect name change:
56125         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
56126         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
56127
56128         * m4/lib-link.m4: Update from gettext-0.11.2.
56129         * m4/gettext.m4: Likewise.
56130
56131         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
56132         From Alfred M. Szmidt.
56133
56134 2002-06-18  Paul Eggert  <eggert@twinsun.com>
56135
56136         * lib/file-type.h: Report an error if neither S_ISREG nor
56137         S_IFREG is defined, instead of using a test specific to glibc
56138         2.2.  This should be safe, since POSIX requires S_ISREG and
56139         Unix Version 7 had S_IFREG.  We don't need to check for
56140         <sys/types.h> since we don't use any symbols that it defines.
56141
56142 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
56143
56144         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
56145         $@-t, so that each temporary file name is unique and valid in the first
56146         8 characters, for operation under DOS.
56147
56148 2002-06-15  Paul Eggert  <eggert@twinsun.com>
56149
56150         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
56151
56152 2002-06-15  Jim Meyering  <meyering@lucent.com>
56153
56154         Work even with DJGPP 2.03, which lacks support for symlinks.
56155         From Richard Dawe.
56156         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
56157         is defined.
56158         * lib/lchown.c (S_ISLNK): Likewise.
56159
56160 2002-06-15  Jim Meyering  <meyering@lucent.com>
56161
56162         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
56163         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
56164         have been included before this file.
56165
56166 2002-06-14  Jim Meyering  <meyering@lucent.com>
56167
56168         * lib/file-type.h: Use the version from diffutils-2.8.2.
56169         * lib/file-type.c: Likewise.
56170
56171 2002-06-07  Jim Meyering  <meyering@lucent.com>
56172
56173         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
56174         They're needed at least for NetBSD 1.5.2.
56175         ($statxfs_includes): Include those same headers.
56176         ($statxfs_includes): Include sys/vfs.h if available.
56177         ($statxfs_includes): Likewise for sys/statvfs.h.
56178         Check for the following members in both structs statfs and statvfs:
56179         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
56180
56181 2002-06-01  Jim Meyering  <meyering@lucent.com>
56182
56183         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
56184         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
56185
56186 2002-05-28  Jim Meyering  <meyering@lucent.com>
56187
56188         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
56189         Reported by Volker Borchert.
56190
56191 2002-05-27  Jim Meyering  <meyering@lucent.com>
56192
56193         Fix a problem seen only on nonconforming systems whereby ls.c's
56194         use of localtime, and then of gettimeofday would cause trouble:
56195         the localtime call used to initialize rpl_gettimeofday's save
56196         mechanism would clobber ls's current local time information so
56197         that in any long listing the first file would always be listed
56198         with date 1970-01-01.  Analysis by Volker Borchert.
56199
56200         * lib/gettimeofday.c (localtime): Undefine.
56201         (rpl_localtime): New function.
56202
56203 2002-05-27  Jim Meyering  <meyering@lucent.com>
56204
56205         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
56206         localtime.
56207
56208         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
56209         use the replacement function; it wouldn't resolve at link time.
56210         Reported by Volker Borchert.
56211
56212 2002-05-22  Jim Meyering  <meyering@lucent.com>
56213
56214         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
56215         file-type.h.
56216         * lib/file-type.h: New file.
56217         * lib/file-type.c (file_type): New file/function.  Extracted from
56218         diffutils.
56219
56220 2002-04-30  Jim Meyering  <meyering@lucent.com>
56221
56222         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
56223
56224 2002-04-29  Paul Eggert  <eggert@twinsun.com>
56225
56226         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
56227
56228 2002-04-29  Paul Eggert  <eggert@twinsun.com>
56229
56230         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
56231         Do not check for alloca.h (no longer used) or stdbool.h (was never
56232         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
56233
56234 2002-04-29  Paul Eggert  <eggert@twinsun.com>
56235
56236         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
56237
56238 2002-04-29  Jim Meyering  <meyering@lucent.com>
56239
56240         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
56241         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
56242         Use AC_FUNC_STRNLEN here instead.
56243
56244         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
56245         With autoconf-2.53a, it's part of AC_PROG_CC.
56246
56247 2002-04-28  Paul Eggert  <eggert@twinsun.com>
56248
56249         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
56250         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
56251
56252 2002-04-28  Paul Eggert  <eggert@twinsun.com>
56253
56254         * lib/sig2str.h, lib/sig2str.c: New files.
56255         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
56256
56257 2002-04-28  Paul Eggert  <eggert@twinsun.com>
56258
56259         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
56260         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
56261         of 127, since 64 is the largest conceivable number for ancient
56262         nonstandard hosts.
56263         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
56264
56265 2002-04-28  Jim Meyering  <meyering@lucent.com>
56266
56267         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
56268
56269 2002-04-24  Jim Meyering  <meyering@lucent.com>
56270
56271         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
56272         (jm_PREREQ): Use it.
56273
56274         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
56275         mach/mach.h fcntl.h.
56276         Check for this function: setlocale.
56277
56278 2002-04-24  Jim Meyering  <meyering@lucent.com>
56279
56280         * lib/gettext.h: New file, from Gettext.
56281         * lib/Makefile.am (INCLUDES): Remove -I../intl.
56282         (libfetish_a_SOURCES): Add gettext.h.
56283
56284 2002-04-16  Jim Meyering  <meyering@lucent.com>
56285
56286         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
56287         ut_pid, ut_id, ut_exit.
56288
56289 2002-04-16  Jim Meyering  <meyering@lucent.com>
56290
56291         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
56292         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
56293         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
56294
56295 2002-04-12  Jim Meyering  <meyering@lucent.com>
56296
56297         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
56298         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
56299         existence of the getmntinfo function.  Needed for Darwin 5.3.
56300
56301         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
56302         This is necessary at least on Darwin 5.3.
56303
56304         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
56305         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
56306         strnlen.o in the library, and that makes some versions of ranlib
56307         object.
56308
56309 2002-04-12  Jim Meyering  <meyering@lucent.com>
56310
56311         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
56312
56313 2002-04-09  Jim Meyering  <meyering@lucent.com>
56314
56315         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
56316         to be more precise.  Rather than saying we're checking whether the
56317         function `works', say what we're testing.
56318         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
56319         Reported by Bruno Haible.
56320
56321 2002-03-10  Jim Meyering  <meyering@lucent.com>
56322
56323         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
56324         Suggestion from Santiago Vila.
56325
56326 2002-03-08  Jim Meyering  <meyering@lucent.com>
56327
56328         * lib/rename.c: Mention that this wrapper is needed also on
56329         mips-dec-ultrix4.4 systems.
56330
56331 2002-03-02  Jim Meyering  <meyering@lucent.com>
56332
56333         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
56334         not HAVE_CLOCK_SETTIME.
56335
56336 2002-02-27  Paul Eggert  <eggert@twinsun.com>
56337
56338         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
56339         Check for clock_settime.
56340
56341 2002-02-27  Paul Eggert  <eggert@twinsun.com>
56342
56343         * lib/nanosleep.h: Rename to....
56344         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
56345
56346         * lib/gettime.c: New file.
56347         * lib/settime.c: New file.
56348         * lib/stime.c: Remove.
56349
56350         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
56351         timespec.h.  Remove nanosleep.h.
56352
56353 2002-02-25  Paul Eggert  <eggert@twinsun.com>
56354
56355         * m4/acl.m4: New file.
56356         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
56357         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
56358
56359 2002-02-25  Paul Eggert  <eggert@twinsun.com>
56360
56361         * lib/acl.c, lib/acl.h: New files.
56362         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
56363
56364 2002-02-24  Jim Meyering  <meyering@lucent.com>
56365
56366         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
56367         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
56368         cause trouble.  Reported by Nelson Beebe.
56369
56370 2002-02-23  Paul Eggert  <eggert@twinsun.com>
56371
56372         * lib/path-concat.c (xpath_concat): Reorder code to pacify
56373         compilers that don't know that xalloc_die never returns.
56374
56375 2002-02-20  Jim Meyering  <meyering@lucent.com>
56376
56377         * lib/getdate.c: Regenerate using bison-1.33.
56378
56379 2002-02-17  Jim Meyering  <meyering@lucent.com>
56380
56381         * config/config.guess (main): Don't use `head -1'; it's no longer
56382         portable. Use `sed 1q' instead.
56383
56384 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
56385
56386         * m4/codeset.m4: Upgrade to gettext-0.11.
56387         * m4/gettext.m4: Upgrade to gettext-0.11.
56388         * m4/glibc21.m4: Upgrade to gettext-0.11.
56389         * m4/iconv.m4: Upgrade to gettext-0.11.
56390         * m4/isc-posix.m4: Upgrade to gettext-0.11.
56391         * m4/lcmessage.m4: Upgrade to gettext-0.11.
56392         * m4/lib-ld.m4: New file, from gettext-0.11.
56393         * m4/lib-link.m4: New file, from gettext-0.11.
56394         * m4/lib-prefix.m4: New file, from gettext-0.11.
56395         * m4/progtest.m4: Upgrade to gettext-0.11.
56396
56397 2002-02-15  Paul Eggert  <eggert@twinsun.com>
56398
56399         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
56400         (jm_PREREQ): Use it.
56401
56402 2002-02-15  Paul Eggert  <eggert@twinsun.com>
56403
56404         * lib/posixver.c, lib/posixver.h: New files.
56405         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
56406
56407 2002-02-02  Paul Eggert  <eggert@twinsun.com>
56408             Bruno Haible  <bruno@clisp.org>
56409
56410         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
56411         (fwrite_success_callback): New declaration.
56412         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
56413         print_unicode_char. Call failure callback instead of error.
56414         (fwrite_success_callback): New function.
56415         (exit_failure_callback): New function.
56416         (fallback_failure_callback): New function.
56417         (print_unicode_char): Call unicode_to_mb.
56418
56419 2002-01-26  Jim Meyering  <meyering@lucent.com>
56420
56421         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
56422         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
56423
56424 2002-01-26  Jim Meyering  <meyering@lucent.com>
56425
56426         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
56427
56428 2002-01-22  Paul Eggert  <eggert@twinsun.com>
56429
56430         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
56431
56432 2002-01-22  Jim Meyering  <meyering@lucent.com>
56433
56434         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
56435         Otherwise, some versions of automake would omit the rule that makes
56436         Makefile from Makefile.in.
56437
56438 2002-01-21  Paul Eggert  <eggert@twinsun.com>
56439
56440         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
56441         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
56442         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
56443         (memcoll): Set errno to zero if there is no error.
56444
56445         * lib/quotearg.c (quotearg_buffer_restyled):
56446         Fix bug with quoting buffers containing NUL when backslashing escapes.
56447         This bug was exposed by the other changes in this patch.
56448         (quotearg_n_options): New arg ARGSIZE.
56449         All callers changed.
56450         (quoting_options_from_style): New function.
56451         (quotearg_n_style): Use it.
56452         (quotearg_n_style_mem): New function.
56453
56454         * lib/quotearg.h (quotearg_n_style_mem): New function.
56455
56456 2002-01-19  Jim Meyering  <meyering@lucent.com>
56457
56458         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
56459         Remove useless quotes: DF_PROG="df".
56460         * m4/strnlen.m4: New file.
56461
56462 2002-01-16  Paul Eggert  <eggert@twinsun.com>
56463
56464         * lib/backupfile.c (ISDIGIT): Comment fix.
56465         * lib/getdate.y (ISDIGIT): Likewise.
56466         * lib/posixtm.c (ISDIGIT, year): Likewise.
56467         * lib/strverscmp.c (ISDIGIT): Likewise.
56468         * lib/userspec.c (ISDIGIT): Likewise.
56469
56470 2002-01-16  Jim Meyering  <meyering@lucent.com>
56471
56472         * lib/getdate.y: Add three semicolons, each just before a closing
56473         brace. Bison (as of version 1.31) no longer papers over that mistake.
56474
56475 2002-01-05  Jim Meyering  <meyering@lucent.com>
56476
56477         * lib/version-etc.c (version_etc_copyright): Update copyright year.
56478
56479 2001-12-19  Paul Eggert  <eggert@twinsun.com>
56480
56481         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
56482         not silently exit merely because the output buffer happens to
56483         have nothing pending.
56484
56485 2001-12-18  Paul Eggert  <eggert@twinsun.com>
56486
56487         See the big note in ../ChangeLog.
56488         * lib/human.c (suffixes): Prefer K to k for 1024.
56489         (generate_suffix_backwards): New function.
56490         (human_readable_inexact): Use it.
56491         * lib/xstrtol.c (__xstrtol): If there is no number but there
56492         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
56493         Accept 'K' as well as 'k'.
56494
56495 2001-12-15  Jim Meyering  <meyering@lucent.com>
56496
56497         * lib/regex.h (__restrict_arr): Update from libc.
56498
56499         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
56500         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
56501         (STREQ): Define.
56502
56503 2001-12-14  Jim Meyering  <meyering@lucent.com>
56504
56505         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
56506         Suggestion from Bruno Haible.
56507
56508 2001-12-10  Jim Meyering  <meyering@lucent.com>
56509
56510         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
56511         xrealloc, Instead, include "xalloc.h".
56512         (initbuffer): Don't cast xmalloc return value to char*.
56513         (readline): Reword comment.
56514         Don't cast xrealloc return value to char*
56515         Return NULL, not 0.
56516
56517 2001-12-09  Jim Meyering  <meyering@lucent.com>
56518
56519         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
56520         about `signed and unsigned type in conditional expression'.
56521         * lib/posixtm.c (posix_time_parse): Likewise.
56522
56523         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
56524
56525         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
56526         to avoid a pedantic warning.
56527
56528         * lib/getstr.c: Don't include assert.h.
56529         (getstr): Remove warning-evoking assertions.
56530         Return -1 if offset parameter is out of bounds.
56531         Change the type of a local from int to size_t.
56532
56533         * lib/strftime.c (my_strftime_localtime_r): Include this function
56534         definition in the `#if ! HAVE_TM_GMTOFF' block.
56535
56536         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
56537         Include xalloc.h instead.
56538
56539 2001-12-02  Jim Meyering  <meyering@lucent.com>
56540
56541         * lib/tempname.c: Don't declare getenv, thus reverting the change of
56542         2001-11-18.  It's no longer necessary, now that stdlib.h is always
56543         included.
56544
56545         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
56546         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
56547
56548 2001-11-30  Akim Demaille  <akim@epita.fr>
56549
56550         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
56551         before being defined.
56552
56553 2001-11-27  Paul Eggert  <eggert@twinsun.com>
56554
56555         * lib/quotearg.h (quotearg_n, quotearg_n_style):
56556         First arg is int, not unsigned.
56557         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
56558         (SIZE_MAX, UINT_MAX): New macros.
56559         (quotearg_n_options): Abort if N is negative.
56560         Avoid overflow check on hosts where size_t is 64 bits and int
56561         is 32 bits, as overflow is impossible there.
56562         Fix off-by-one typo that caused unnecessary reallocation.
56563
56564 2001-11-27  Jim Meyering  <meyering@lucent.com>
56565
56566         * lib/tempname.c: Merge with version from libc.
56567         * lib/regex.c: Likewise.
56568
56569         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
56570         systems for which STDC_HEADERS is 0, it was not included, resulting in
56571         a warning about an integer-to-pointer conversion problem with getenv.
56572         Reported by Volker Borchert.
56573
56574 2001-11-26  Jim Meyering  <meyering@lucent.com>
56575
56576         * lib/gtod.h: Remove file.
56577         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
56578         * lib/gettimeofday.c: Don't include gtod.h.
56579         (GTOD_init): Remove function.
56580         (rpl_gettimeofday): Do its job here instead, rather than aborting.
56581         Suggestion from Volker Borchert.
56582
56583 2001-11-23  Jim Meyering  <meyering@lucent.com>
56584
56585         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
56586         it.
56587         * lib/hash.c (struct hash_table): Define it here instead.
56588
56589 2001-11-22  Jim Meyering  <meyering@lucent.com>
56590
56591         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
56592
56593 2001-11-20  Jim Meyering  <meyering@lucent.com>
56594
56595         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
56596         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
56597
56598 2001-11-19  Jim Meyering  <meyering@lucent.com>
56599
56600         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
56601         directory.  Use "conftestXXXXXX" as the template.
56602         Suggestion from Paul Eggert.
56603
56604         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
56605         immediately, so the test doesn't mistakenly hit the max-open-files
56606         limit.
56607
56608 2001-11-18  Paul Eggert  <eggert@twinsun.com>
56609
56610         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
56611         (TEMPORARIES): New macro.
56612         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
56613         removes an artificial limitation (e.g. HP-UX 10.20, where
56614         TMP_MAX is 17576).
56615
56616 2001-11-18  Jim Meyering  <meyering@lucent.com>
56617
56618         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
56619
56620 2001-11-18  Jim Meyering  <meyering@lucent.com>
56621
56622         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
56623         on SunOS 4.
56624
56625         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
56626         files will be created before anything else.
56627
56628 2001-11-17  Paul Eggert  <eggert@twinsun.com>
56629
56630         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
56631         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
56632
56633 2001-11-17  Jim Meyering  <meyering@lucent.com>
56634
56635         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
56636         Prompted by a report from Bob Proulx.
56637
56638         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
56639         Instead, require UTILS_FUNC_MKSTEMP.
56640
56641 2001-11-17  Jim Meyering  <meyering@lucent.com>
56642
56643         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
56644         Now, that's done as part of AC_FUNC_STRTOD.
56645
56646 2001-11-17  Jim Meyering  <meyering@lucent.com>
56647
56648         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
56649         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
56650         rather than group writable.  Patch by Juan F. Codagnone.
56651
56652         * lib/readtokens.c: Remove explicit declarations of xmalloc and
56653         xrealloc, Instead, include "xalloc.h".
56654
56655         * lib/mountlist.c: Include unlocked-io.h after all system headers.
56656         Remove explicit declarations of xmalloc, xrealloc,
56657         and xstrdup.  Instead, include "xalloc.h".
56658
56659         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
56660         unlocked-io.h.
56661         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
56662         Likewise.
56663         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
56664
56665         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
56666         Reported by Padraig Brady.
56667
56668         * lib/mkstemp.c: #undef mkstemp.
56669         Include config.h.
56670         (rpl_mkstemp): Rename from mkstemp.
56671         Protoize.
56672
56673 2001-11-16  Jim Meyering  <meyering@lucent.com>
56674
56675         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
56676         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
56677         determine the amount of total physical memory, use pstat_getstatic.
56678         HPUX-11 doesn't define _SC_PHYS_PAGES.
56679         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
56680         If sysconf couldn't be used to determine the amount of available
56681         physical memory, use both pstat_getstatic and pstat_getdynamic.
56682         Based on a patch from Bob Proulx.
56683
56684 2001-11-10  Jim Meyering  <meyering@lucent.com>
56685
56686         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
56687         (jm_PREREQ): Use it.
56688
56689 2001-11-09  Jim Meyering  <meyering@lucent.com>
56690
56691         * m4/jm-macros.m4: Require autoconf-2.52f.
56692         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
56693         Use these AC_-prefixed names, not the AM_-prefixed ones.
56694
56695         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
56696
56697 2001-11-05  Jim Meyering  <meyering@lucent.com>
56698
56699         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
56700
56701 2001-11-04  Jim Meyering  <meyering@lucent.com>
56702
56703         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
56704         $DEFS.
56705
56706 2001-11-03  Jim Meyering  <meyering@lucent.com>
56707
56708         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
56709         of AC_DEFUN.
56710
56711         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
56712         know the name of the variable in the macro definition.
56713
56714 2001-11-03  Jim Meyering  <meyering@lucent.com>
56715
56716         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
56717         in argmatch_to_argument call.
56718
56719         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
56720         argument.
56721
56722         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
56723         e.g., a fault due to an attempt to free a NULL pointer.
56724
56725 2001-11-01  Jim Meyering  <meyering@lucent.com>
56726
56727         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
56728         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
56729
56730 2001-11-01  Jim Meyering  <meyering@lucent.com>
56731
56732         * lib/dirfd.c, lib/dirfd.h: New files.
56733         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
56734
56735         * lib/hash.c (hash_print) [TESTING]: Clean up.
56736
56737 2001-10-22  Paul Eggert  <eggert@twinsun.com>
56738
56739         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
56740         to avoid a warning if -Wall.
56741
56742 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
56743
56744         * README: New file
56745         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
56746         (per RMS's instructions, this is now the canonical source)
56747         * lgpl/, gpl/: New directories.
56748
56749 2001-10-21  Paul Eggert  <eggert@twinsun.com>
56750
56751         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
56752
56753 2001-10-21  Jim Meyering  <meyering@lucent.com>
56754
56755         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
56756         this code would end up calling gettext even in packages built
56757         with --disable-nls.
56758         * lib/getopt.c (_): Likewise.
56759         * lib/regex.c (_): Likewise.
56760
56761 2001-10-20  Paul Eggert  <eggert@twinsun.com>
56762
56763         * m4/error.m4 (jm_PREREQ_ERROR):
56764         Do not invoke AC_CHECK_FUNCS with strerror_r, as
56765         AC_FUNC_STRERROR_R does that.
56766         Check for strerror declaration.
56767
56768         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
56769         are supposed to have them these days.
56770         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
56771         Merge changes from latest Autoconf CVS.
56772         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
56773         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
56774         POSIX decided to standardize on the int flavor of strerror_r.
56775
56776 2001-10-20  Paul Eggert  <eggert@twinsun.com>
56777
56778         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
56779         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
56780         Use strerror_r that is only a macro, even if it is not a function.
56781         (strerror): Check for HAVE_DECL_STRERROR before declaring.
56782         (private_strerror): Use prototypes, not old-style function definition.
56783         (print_errno_message): New function.
56784         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
56785         char*-flavored one.
56786         (error_tail, error, error_at_line): Use it.
56787
56788 2001-10-11  Jim Meyering  <meyering@lucent.com>
56789
56790         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
56791         and quote_n (1, ... to avoid clobbering a buffer.
56792
56793 2001-10-05  Jim Meyering  <meyering@lucent.com>
56794
56795         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
56796         hash-pjw.h.
56797         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
56798         * lib/hash-pjw.h: New file.
56799
56800 2001-09-30  Jim Meyering  <meyering@lucent.com>
56801
56802         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
56803         `struct fsstat' has the `f_fstypename' member.
56804         Use that to define FS_TYPE, which is now used to make
56805         the getfsstat link test tighter.
56806
56807 2001-09-30  Jim Meyering  <meyering@lucent.com>
56808
56809         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
56810         Include <sys/ucred.h>, for Apple Darwin.
56811         Include sys/mount.h and sys/fs_types.h only if available.
56812         (FS_TYPE): Define.
56813         (read_filesystem_list): Use FS_TYPE.
56814
56815 2001-09-29  Paul Eggert  <eggert@twinsun.com>
56816
56817         * lib/exclude.c (excluded_filename): 0 -> false, since it's
56818         a boolean context.
56819
56820 2001-09-29  Jim Meyering  <meyering@lucent.com>
56821
56822         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
56823         [one-argument getmntent function]): Include stdio.h before mntent.h.
56824         SunOS 4.1.x needs it for the declaration of `FILE'.
56825         Patch by Volker Borchert.
56826
56827         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
56828         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
56829         sys/fs_types.h, and make the link-test for getfsstat guard #include
56830         directives with appropriate #if HAVE_*_H tests so that we can
56831         detect getfsstat on Apple Darwin1.3.7 systems.
56832         Reported by Nelson Beebe.
56833         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
56834
56835 2001-09-28  Paul Eggert  <eggert@twinsun.com>
56836
56837         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
56838         #defines strtoimax.  Also treat the other strto* functions
56839         like strtoimax.
56840
56841         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
56842         Check for strtoul and strtoumax,
56843         as those declarations are made even in the signed case.
56844         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
56845         Likewise, for strtol and strtoimax.
56846
56847 2001-09-28  Paul Eggert  <eggert@twinsun.com>
56848
56849         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
56850         #defines strtoimax.  Also treat the other strto* functions
56851         like strtoimax.
56852
56853         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
56854         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
56855         (strtoimax, strtoumax): Do not declare if already defined as a macro.
56856
56857 2001-09-26  Jim Meyering  <meyering@lucent.com>
56858
56859         Most macros in unlocked-io.h had the wrong number of arguments.
56860         * lib/gen-uio: New script.
56861         (USE_UNLOCKED_IO): Define to 1 if not already defined.
56862         * lib/unlocked-io.hin: Remove file.
56863         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
56864         rather than trying to embed it here.
56865         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
56866         Reported by Padraig Brady.
56867
56868 2001-09-25  Volker Borchert  <bt@teknon.de>
56869
56870         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
56871         `result'.
56872
56873 2001-09-24  Jim Meyering  <meyering@lucent.com>
56874
56875         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
56876
56877 2001-09-23  Jim Meyering  <meyering@lucent.com>
56878
56879         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
56880         instead of the mere test for existence of mntent.h.  The latter
56881         would get a false-positive on AIX 3.4 systems.
56882         In the outer getmntent if-block, don't die if neither of the getmntent
56883         tests succeeds.  Instead, just fall through and continue with the
56884         remaining tests.
56885
56886 2001-09-23  Jim Meyering  <meyering@lucent.com>
56887
56888         * lib/mountlist.c: Remove useless parentheses in #if directives.
56889         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
56890         the deprecated MOUNTED symbol is no longer defined in mntent.h.
56891
56892 2001-09-22  Jim Meyering  <meyering@lucent.com>
56893
56894         * m4/gettext.m4: New file.  From gettext.
56895         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
56896         * m4/progtest.m4: Likewise
56897         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
56898         * m4/glibc21.m4: Likewise.
56899
56900         * m4/libintl.m4: Remove.  No longer used.
56901
56902 2001-09-22  Jim Meyering  <meyering@lucent.com>
56903
56904         * lib/localcharset.c: Update from latest gettext.
56905         * lib/config.charset: Likewise.
56906
56907 2001-09-20  Jim Meyering  <meyering@lucent.com>
56908
56909         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
56910         strtoimax.
56911         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
56912         strtoumax.
56913
56914 2001-09-20  Jim Meyering  <meyering@lucent.com>
56915
56916         * lib/xstrtol.c (strtoimax): Guard declaration with
56917         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
56918         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
56919         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
56920         (strtoumax): Likewise, for completeness (it wasn't necessary).
56921
56922 2001-09-17  Paul Eggert  <eggert@twinsun.com>
56923
56924         * lib/strtoimax.c (HAVE_LONG_LONG):
56925         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
56926         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
56927         to work around bug in IBM C compiler.
56928
56929 2001-09-17  Jim Meyering  <meyering@lucent.com>
56930
56931         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
56932         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
56933         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
56934         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
56935         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
56936         whenever the right hand side need not be expanded by the shell.
56937
56938 2001-09-16  Paul Eggert  <eggert@twinsun.com>
56939
56940         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
56941         library.  It's not correct, as some older glibcs are buggy.
56942         fnmatch wasn't fixed until glibc 2.2.
56943
56944         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
56945         special shell magic here.
56946
56947 2001-09-16  Jim Meyering  <meyering@lucent.com>
56948
56949         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
56950         * m4/jm-macros.m4: Require it.
56951
56952 2001-09-16  Jim Meyering  <meyering@lucent.com>
56953
56954         * lib/mkdir.c: New file.
56955
56956 2001-09-15  Jim Meyering  <meyering@lucent.com>
56957
56958         * m4/jm-macros.m4: Check for help2man.
56959
56960 2001-09-11  Jim Meyering  <meyering@lucent.com>
56961
56962         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
56963         The body, by Paul Eggert, was moved here from configure.in.
56964         * m4/jm-macros.m4: Require UTILS_HOST_OS.
56965
56966 2001-09-04  Paul Eggert  <eggert@twinsun.com>
56967
56968         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
56969         (jm_PREREQ): Use it.
56970
56971 2001-09-04  Paul Eggert  <eggert@twinsun.com>
56972
56973         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
56974         Use ssize_t, not int, to store result of readlink.
56975         Check for ssize_t overflow as well as size_t overflow,
56976         as POSIX says the result of readlink is implementation-defined
56977         when ssize_t overflows.
56978         Remove unnecessary cast to char*.
56979         Use free+malloc instead of realloc, as the storage doesn't need
56980         to be preserved and it's clearer and can be more efficient that way.
56981         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
56982         * lib/xreadlink.h (xreadlink): Update prototype.
56983
56984 2001-09-04  Paul Eggert  <eggert@twinsun.com>
56985
56986         * lib/xgetcwd.c: Revert some of the previous change; intead,
56987         fix the HAVE_GETCWD_NULL code to behave more like the
56988         !HAVE_GETCWD_NULL code used to.
56989
56990         Include "xalloc.h".
56991         (xgetcwd): Do not return NULL when memory is exhausted; instead,
56992         invoke xalloc_die.
56993
56994 2001-09-03  Paul Eggert  <eggert@twinsun.com>
56995
56996         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
56997         sys/param.h, as pathmax.h includes them.
56998
56999 2001-09-03  Paul Eggert  <eggert@twinsun.com>
57000
57001         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
57002         (jm_PREREQ_XGETCWD): New macro.
57003
57004         * m4/getcwd.m4: New file.
57005
57006 2001-09-03  Paul Eggert  <eggert@twinsun.com>
57007
57008         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
57009         like the HAVE_GETCWD_NULL code.
57010         Include pathmax.h if not HAVE_GETCWD.
57011         Do not include xalloc.h.
57012         (INITIAL_BUFFER_SIZE): New symbol.
57013         Do not use xmalloc / xrealloc, since the caller is responsible for
57014         handling errors.  Preserve errno around `free' during failure.
57015         Do not overrun buffer when using getwd.
57016
57017 2001-09-03  Paul Eggert  <eggert@twinsun.com>
57018
57019         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
57020         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
57021         getcwd (NULL, 0).
57022
57023 2001-09-03  Paul Eggert  <eggert@twinsun.com>
57024
57025         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
57026         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
57027         spotted by Jim Meyering.
57028
57029 2001-09-03  Jim Meyering  <meyering@lucent.com>
57030
57031         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
57032         failure.
57033
57034 2001-09-02  Jim Meyering  <meyering@lucent.com>
57035
57036         * lib/error.c: Update from GNU libc.
57037
57038 2001-09-01  Jim Meyering  <meyering@lucent.com>
57039
57040         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
57041         Used by df.
57042
57043 2001-09-01  Jim Meyering  <meyering@lucent.com>
57044
57045         * lib/xreadlink.c: New file.
57046         * lib/xreadlink.h: New file.
57047         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
57048         xreadlink.h.
57049
57050         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
57051         doesn't conflict with sparc Solaris 7's definition in
57052         /usr/include/sys/int_types.h.
57053
57054         * lib/exclude.c: Use `""', not `<>' to #include non-system header
57055         files.
57056         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
57057         and strncasecmp as r-values.  Unixware didn't have declarations.
57058
57059 2001-08-31  Paul Eggert  <eggert@twinsun.com>
57060
57061         * lib/xstrtol.h: Add copyright notice.
57062         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
57063         LONGINT_INVALID_SUFFIX_CHAR.
57064
57065 2001-08-31  Paul Eggert  <eggert@twinsun.com>
57066
57067         * lib/xstrtol.c (strtoimax): New decl.
57068
57069 2001-08-31  Paul Eggert  <eggert@twinsun.com>
57070
57071         * lib/xgetcwd.c: Don't include pathmax.h.
57072         Include stdlib.h and unistd.h if available.
57073         Include xalloc.h.
57074         (xmalloc, xstrdup, free): Remove decls.
57075         (xgetcwd): Don't assume sizes fit in unsigned.
57076         Check for overflow when computing sizes.
57077         Simplify reallocation code.
57078
57079 2001-08-31  Paul Eggert  <eggert@twinsun.com>
57080
57081         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
57082         a directory's st_size can have an arbitrary value, so the old
57083         usage could waste an arbitrary amount of memory.  All uses
57084         changed.
57085         * lib/savedir.h: Update prototype.
57086
57087 2001-08-31  Paul Eggert  <eggert@twinsun.com>
57088
57089         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
57090
57091         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
57092         old strtoimax.c.
57093
57094         Also, make the following further changes to make this file's
57095         configuration more similar to that of strtol.c:
57096         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
57097         (strtoumax, uintmax_t, strtoull, strtol): Remove.
57098         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
57099         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
57100         changed to signed values.
57101
57102         And make the following changes as well:
57103         Fix copyright notice, as 1999 was missing.
57104         (verify): New macro.
57105         (strtoimax): Check sizes at compile-time, not run-time.
57106         Prefer strtol to strtoll if both work.
57107         (main): Remove; it was not that useful and was a pain to maintain.
57108
57109         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
57110
57111 2001-08-31  Jim Meyering  <meyering@lucent.com>
57112
57113         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
57114         Use an initial, malloc'd, buffer of length 128 rather than
57115         a statically allocated one of length 1024.
57116
57117 2001-08-30  Paul Eggert  <eggert@twinsun.com>
57118
57119         Simplify code, partly by assuming autoconf 2.52 semantics.
57120
57121         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
57122
57123         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
57124         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
57125         All uses removed.
57126         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
57127         Move AC_REQUIRE to next-to-top level, to avoid confusion.
57128         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
57129         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
57130         jm_AC_HEADER_INTTYPES_H.
57131         * m4/jm-macros.m4 (jm_MACROS): Likewise.
57132
57133         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
57134
57135         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
57136         Quote first arg of AC_DEFUN.
57137         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
57138         since they are needed to parse the include file even if we need
57139         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
57140         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
57141         but with opposite signedness.
57142
57143 2001-08-30  Paul Eggert  <eggert@twinsun.com>
57144
57145         Merge 'exclude' changes from tar 1.13.22.
57146         This fixes one or two unlikely storage allocation overflow bugs,
57147         but doesn't change user-visible behavior otherwise.
57148
57149 2001-08-30  Paul Eggert  <eggert@twinsun.com>
57150
57151         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
57152         (jm_PREREQ_EXCLUDE): New macro.
57153
57154 2001-08-30  Paul Eggert  <eggert@twinsun.com>
57155
57156         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
57157         tm to be declared.
57158
57159 2001-08-30  Paul Eggert  <eggert@twinsun.com>
57160
57161         * lib/hash.c: Remove '2001' from copyright notice.
57162
57163 2001-08-30  Paul Eggert  <eggert@twinsun.com>
57164
57165         * lib/full-write.h: New file.
57166         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
57167         * lib/full-write.c: Correct credits, as cccp.c no longer
57168         exists and anyway it was so heavily changed from the old cccp
57169         code as to be unrecognizable.  Include full-write.h.
57170         (full_write) Return size_t, with short writes meaning failure.
57171         All callers changed.  This fixes a bug with large buffers
57172         on 64-bit hosts.
57173         * lib/utime.c: Include full-write.h.
57174
57175 2001-08-30  Paul Eggert  <eggert@twinsun.com>
57176
57177         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
57178         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
57179         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
57180         Include if available.
57181         (<xalloc.h>): Include
57182         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
57183         (verify): New macro.  Use it to verify that EXCLUDE macros do not
57184         collide with FNM macros.
57185         (struct patopts): New struct.
57186         (struct exclude): Use it, as exclude patterns now come with options.
57187         (new_exclude): Support above changes.
57188         (new_exclude, add_exclude_file):
57189         Initial size must now be a power of two to simplify overflow checking.
57190         (free_exclude, fnmatch_no_wildcards): New function.
57191         (excluded_filename): No longer requires options arg, as the options
57192         are determined by add_exclude.  Now returns bool, not int.
57193         (excluded_filename, add_exclude):
57194         Add support for the fancy new exclusion options.
57195         (add_exclude, add_exclude_file): Now takes int options arg.
57196         Check for arithmetic overflow when computing sizes.
57197         (add_exclude_file): xrealloc might modify errno, so don't
57198         realloc until after errno might be used.
57199
57200         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
57201         New macros.
57202         (free_exclude): New decl.
57203         (add_exclude, add_exclude_file): Now takes int options arg.
57204         (excluded_filename): No longer requires options arg, as the options
57205         are determined by add_exclude.  Now returns bool, not int.
57206
57207 2001-08-30  Paul Eggert  <eggert@twinsun.com>
57208
57209         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
57210
57211 2001-08-27  Jim Meyering  <meyering@lucent.com>
57212
57213         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
57214
57215         * lib/version-etc.c (N_): Remove definition.
57216         Revert most of last change.
57217         Instead, simply don't mark the `Copyright...' string for translation.
57218         Based on advice from Paul Eggert.
57219
57220         * lib/strtoxmax.c: Tweak comment.
57221
57222 2001-08-26  Jim Meyering  <meyering@lucent.com>
57223
57224         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
57225
57226         * m4/xstrtoimax.m4: New file.
57227         * m4/xstrtoumax.m4: Add comments explaining why we
57228         AC_REPLACE_FUNCS(strtol).
57229
57230 2001-08-26  Jim Meyering  <meyering@lucent.com>
57231
57232         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
57233         of copyright with `%s' so translators don't get an untranslated
57234         message in 2002.
57235         (COPYRIGHT_YEAR): Define.
57236         (version_etc): Use fprintf rather than fputs.
57237         Suggestion from Ulrich Drepper.
57238
57239         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
57240
57241         * lib/strtoll.c: New file, from GNU libc.
57242         * lib/xstrtoimax.c: New file.
57243
57244         * lib/xstrtol.h: Add xstrtoimax.
57245         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
57246         * lib/strtoimax.c: New file.  Likewise, but first define
57247         STRTOUXMAX_SIGNED.
57248
57249         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
57250         ...
57251         * lib/strtoxmax.c: ... then renamed to this.
57252
57253 2001-08-18  Paul Eggert  <eggert@twinsun.com>
57254
57255         * m4/inttypes.m4: Add AC_PREREQ(2.13).
57256         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
57257         (jm_AC_TYPE_INTMAX_T): New macro.
57258         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
57259
57260         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
57261
57262         * m4/longlong.m4: Renamed from ulonglong.m4.
57263         * m4/inttypes.m4: Renamed from inttypes_h.m4.
57264         * m4/uintmax_t.m4: Removed.
57265
57266 2001-08-13  Paul Eggert  <eggert@twinsun.com>
57267
57268         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
57269         Port to Solaris 8, where 'sed' requires a space after the 'r'
57270         command, and where sh dislikes "$/".  Clean up the spacing a bit.
57271         Redirect output to $tmp just once.
57272
57273 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
57274
57275         * lib/addext.c (<errno.h>): Include.
57276         (errno): Declare if not defined.
57277         (addext): Work correctly when pathconf returns -1 and leaves
57278         errno alone because there is no limit.  Also, work even if
57279         pathconf returns a value greater than SIZE_MAX.
57280
57281 2001-08-12  Jim Meyering  <meyering@lucent.com>
57282
57283         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
57284         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
57285         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
57286         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
57287         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
57288         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
57289         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
57290         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
57291         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
57292         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
57293         utime.m4, utimes.m4, xstrtoumax.m4:
57294         Quote the first argument in each use of AC_DEFUN.
57295
57296 2001-08-12  Jim Meyering  <meyering@lucent.com>
57297
57298         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
57299         Simply `return getcwd (NULL, 0);'.
57300         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
57301         Use 1300 as initial value for length, not PATH_MAX.
57302
57303         * lib/pathmax.h: Clean up cpp syntax.
57304
57305 2001-08-12  Jim Meyering  <meyering@lucent.com>
57306
57307         * lib/gettimeofday.c: New file.
57308         * lib/gtod.h: New file.
57309         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
57310
57311 2001-08-05  Jim Meyering  <meyering@lucent.com>
57312
57313         * m4/jm-macros.m4: Require autoconf-2.52.
57314
57315 2001-08-04  Jim Meyering  <meyering@lucent.com>
57316
57317         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
57318         stmt, to get in sync with glibc.
57319
57320 2001-08-03  Paul Eggert  <eggert@twinsun.com>
57321
57322         The following changes are from gettext 0.10.39 as maintained by
57323         Bruno Haible.
57324
57325         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
57326         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
57327         with inverted sense.  All uses changed.
57328
57329         * lib/mbswidth.c: Don't include <limits.h>.
57330         Include <stdlib.h> and <string.h> unconditionally.
57331         (iswcntrl, mbsinit, ISCNTRL): New macros.
57332         (mbsnwidth): Use K&R style function declarations.
57333         Don't bother checking for MB_LEN_MAX == 1, since the compiler
57334         can optimize it when MB_CUR_MAX == 1.
57335         The width of control characters is zero, not 1.
57336
57337 2001-08-03  Paul Eggert  <eggert@twinsun.com>
57338
57339         The following changes are from gettext 0.10.39 as maintained by
57340         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
57341
57342         * m4/codeset.m4: Upgrade to serial AM1.
57343         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
57344         all uses changed.  Quote first arg of AC_DEFUN.
57345         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
57346
57347         * m4/iconv.m4: Upgrade to serial AM2.
57348         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
57349         Add --with-libconv-prefix.
57350         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
57351         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
57352         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
57353         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
57354         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
57355
57356         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
57357         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
57358         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
57359         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
57360         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
57361         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
57362         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
57363         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
57364         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
57365
57366         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
57367         string.h any more.
57368
57369         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
57370         not the default value.
57371
57372         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
57373         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
57374         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
57375         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
57376         Also check for iswcntrl, used for wcwidth fallback.
57377         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
57378         to Autoconf 2.13.
57379
57380 2001-08-03  Jim Meyering  <meyering@lucent.com>
57381
57382         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
57383         as it was in the original.  Reported by Paul Eggert.
57384
57385 2001-07-16  Jim Meyering  <meyering@lucent.com>
57386
57387         * m4/gettimeofday.m4: New file.
57388         Prompted by a report from Bernhard Baehr.
57389
57390 2001-07-15  Jim Meyering  <meyering@lucent.com>
57391
57392         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
57393         stuff. Now it's in ../Makefile.cfg.
57394
57395 2001-07-15  Jim Meyering  <meyering@lucent.com>
57396
57397         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
57398         (BUILT_SOURCES): Add unlocked-io.h.
57399         (io_functions): Define.
57400         (unlocked-io.h): New rule.
57401         (DISTCLEANFILES): Add unlocked-io.h.
57402         (all-local): Depend on unlocked-io.h, to ensure it is created.
57403
57404         * lib/unlocked-io.hin: New file
57405
57406         * lib/regex.c: Update from glibc.
57407
57408 2001-07-05  Jim Meyering  <meyering@lucent.com>
57409
57410         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
57411         recommendation.
57412         (libfetish_a_SOURCES): Put all .h files here instead.
57413         Remove a thus-exposed (better checks in automake) duplicate and
57414         two unnecessary .h files.
57415
57416 2001-07-04  Jim Meyering  <meyering@lucent.com>
57417
57418         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
57419         that generates jm-glibc-io.m4 so that it doesn't trigger any make
57420         distcheck failure.
57421
57422 2001-07-02  Jim Meyering  <meyering@lucent.com>
57423
57424         The following changes were prompted by suggestions from Bruno Haible.
57425
57426         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
57427         is now generated.
57428         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
57429         definition of EXTRA_DIST.
57430         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
57431         ensure that the generated file is created/updated whenever the list
57432         of $(unlocked_functions) is changed.
57433         (jm-glibc-io.m4): New rule.
57434         (unlocked-io.h): New rule -- currently unused.
57435
57436 2001-06-24  Jim Meyering  <meyering@lucent.com>
57437
57438         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
57439         unmatched right bracket, rather than kludging it with an extra,
57440         falsely-matching quote in a comment.  Patch by Akim Demaille.
57441
57442 2001-06-11  Jim Meyering  <meyering@lucent.com>
57443
57444         * lib/regex.c: Update from GNU libc.
57445
57446 2001-05-27  Jim Meyering  <meyering@lucent.com>
57447
57448         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
57449         Check for ut_type in struct utmp.
57450
57451 2001-05-27  Jim Meyering  <meyering@lucent.com>
57452
57453         * lib/readutmp.h (UT_TYPE): Define.
57454
57455 2001-05-24  Jim Meyering  <meyering@lucent.com>
57456
57457         * lib/argmatch.c: Include "quote.h".
57458         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
57459         quote function.  Reported by Göran Uddeborg.
57460
57461 2001-05-22  Jim Meyering  <meyering@lucent.com>
57462
57463         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
57464         now that we use the package-supplied version unconditionally.
57465         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
57466
57467 2001-05-21  Jim Meyering  <meyering@lucent.com>
57468
57469         * m4/regex.m4: Change a couple backticks to single quotes to avoid
57470         shell syntax errors.
57471
57472 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
57473
57474         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
57475
57476 2001-05-20  Paul Eggert  <eggert@twinsun.com>
57477
57478         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
57479         Don't bother to check library strftime, since
57480         we'll be using our own my_strftime function anyway.
57481         Define my_strftime instead of strftime.
57482
57483 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
57484
57485         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
57486         which is not yet declared.
57487
57488 2001-05-15  Jim Meyering  <meyering@lucent.com>
57489
57490         * m4/regex.m4: Use proper quoting so brackets appear in the test
57491         program.
57492         Reported by, and with help from, Bruno Haible.
57493
57494 2001-05-13  Jim Meyering  <meyering@lucent.com>
57495
57496         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
57497         undefined.
57498
57499 2001-05-11  Paul Eggert  <eggert@twinsun.com>
57500
57501         dirname code cleanup.  base_name now behaves more compatibly
57502         with POSIX basename when given file names that have trailing
57503         slashes, and similarly for dir_name.  Add new primitives
57504         base_len and dir_len.  Put the directory-name-related decls
57505         into dirname.h.
57506
57507         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
57508         * lib/backupfile.c (base_name): Likewise.
57509         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
57510         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
57511         * lib/makepath.c (strip_trailing_slashes): Likewise.
57512         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
57513         ISSLASH): Likewise.
57514         * lib/rename.c (strip_trailing_slashes): Likewise.
57515         * lib/same.c (base_name): Likewise.
57516         * lib/stripslash.c (ISSLASH): Likewise.
57517
57518         * lib/addext.c: Include <dirname.h> after size_t is defined.
57519         * lib/backupfile.c: Likewise.
57520
57521         * lib/addext.c (addext): Use base_len to trim redundant
57522         trailing slashes instead of doing it ourselves.
57523         But do not trim the last slash if it is not redundant.
57524
57525         * lib/backupfile.c (find_backup_file_name,
57526         max_backup_version): Use base_len instead of rolling it ourselves.
57527         Handle the case of "" and (on DOS) "C:" correctly.
57528
57529         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
57530         needed. Include <string.h>, <dirname.h>.
57531         (base_name): Allow file names ending in slashes, other than names
57532         that are all slashes.  In this case, return the basename followed
57533         by the slashes.  This is more general, and can be used in places
57534         where the original base_name purposely had an assertion failure.
57535         (base_len): New function.
57536
57537         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
57538         Do not include <assert.h>; no longer needed.
57539         Include xalloc.h.
57540         (memrchr): Remove decl.
57541         (dir_name_r): Remove.
57542         (dir_len): Renamed from dirlen.  All callers changed.
57543         Rewrite in terms of base_name, for simplicity and consistency.
57544         (dir_name): Never return NULL.  All callers changed.
57545         Do not include <stdlib.h> in test program; no longer needed.
57546         return 0; is fine for test program.
57547
57548         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
57549         New macros.
57550         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
57551
57552         * lib/path-concat.c (path_concat): Use base_len to compute
57553         base length, not strlen; this means we cannot rely on memcpy
57554         to null-terminate.
57555
57556         * lib/same.c (STREQ): Remove.
57557         (same_name): Handle the case where the basename ends in trailing '/'.
57558
57559         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
57560         a slash was stripped.  Do not strip the last slash after a
57561         file system prefix.
57562
57563 2001-05-11  Paul Eggert  <eggert@twinsun.com>
57564
57565         * lib/Makefile.am (libfetish_a_SOURCES):
57566         Add strftime.c, since we now compile it on all hosts.
57567
57568         * lib/strftime.c (my_strftime):
57569         Define to nstrftime if emacs, but only if my_strftime is not defined.
57570         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
57571         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
57572         Add one more extra argument: a nanoseconds value.
57573         All uses changed.
57574         (ns): New macro.
57575         (my_strftime function): Add %N format.
57576         (emacs_strftimeu): Renamed from emacs_strftime,
57577         with extra ut argument.
57578
57579 2001-05-09  Paul Eggert  <eggert@twinsun.com>
57580
57581         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
57582
57583 2001-04-21  Jim Meyering  <meyering@lucent.com>
57584
57585         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
57586         doesn't interfere.
57587
57588 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
57589
57590         * m4/ftruncate.m4: Check for chsize.
57591         Link with ftruncate.o unconditionally if ftruncate is missing.
57592         This was required when cross-compiling to i586-mingw32msvc.
57593
57594 2001-04-08  Jim Meyering  <meyering@lucent.com>
57595
57596         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
57597         recomputed; that's necessary when the offset spans a DST transition.
57598         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
57599
57600 2001-04-02  Jim Meyering  <meyering@lucent.com>
57601
57602         * lib/regex.h, regex.c: Update from GNU libc.
57603
57604 2001-03-24  Jim Meyering  <meyering@lucent.com>
57605
57606         * m4/jm-macros.m4: Require autoconf-2.49d.
57607
57608 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
57609
57610         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
57611
57612 2001-03-19  Paul Eggert  <eggert@twinsun.com>
57613
57614         * lib/version-etc.c (version_etc_copyright): Update to 2001.
57615
57616 2001-03-17  Jim Meyering  <meyering@lucent.com>
57617
57618         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
57619         now that the version in autoconf is equivalent.
57620         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
57621
57622         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
57623         Suggestion from Akim Demaille.
57624
57625         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
57626         (jm_PREREQ_TEMPNAME): New function.
57627
57628 2001-03-16  Paul Eggert  <eggert@twinsun.com>
57629
57630         * lib/tempname.c (uint64_t): Define to uintmax_t if
57631         not defined, and if UINT64_MAX is not defined.
57632         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
57633         Reported by John David Anglin.
57634
57635 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
57636
57637         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
57638         resolve alias if codeset is empty.
57639         * lib/config.charset (BeOS): Use wildcard syntax.
57640
57641 2001-03-13  Jim Meyering  <meyering@lucent.com>
57642
57643         * lib/path-concat.c (path_concat)
57644         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
57645         concatenating e.g., `C:' and `foo'.
57646         From Bruno Haible.
57647
57648 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
57649
57650         * lib/localcharset.c (locale_charset): Don't use
57651         setlocale(LC_CTYPE,NULL). Don't return NULL.
57652         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
57653
57654 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
57655
57656         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
57657         support for DOS/DJGPP.
57658
57659 2001-03-01  Paul Eggert  <eggert@twinsun.com>
57660
57661         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
57662         lacks mkstemp.  Compile our own tempname.c if we compile our own
57663         mkstemp.c, as mkstemp relies on tempname.
57664
57665 2001-03-01  Jim Meyering  <meyering@lucent.com>
57666
57667         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
57668         AH_VERBATIM really does output its argument verbatim.
57669
57670 2001-02-28  Paul Eggert  <eggert@twinsun.com>
57671
57672         * lib/Makefile.am (libfetish_a_SOURCES):
57673         Add dup-safer.c, fopen-safer.c.
57674         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
57675
57676         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
57677         * lib/unistd-safer.h: New files.
57678
57679 2001-02-25  Paul Eggert  <eggert@twinsun.com>
57680
57681         The mkstemp replacement is taken from glibc 2.2.2, with some
57682         portability fixes for use outside glibc, as follows:
57683
57684         * lib/tempname.c (struct_stat64): New macro.
57685         (direxists, __gen_tempname): Use it.
57686         This avoids a portability problem with Solaris 8.
57687
57688         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
57689         (<stddef.h>, <stdint.h>, <string.h>):
57690         Include only if STDC_HEADERS || _LIBC.
57691         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
57692         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
57693         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
57694         (__set_errno): Define this macro if <errno.h> doesn't.
57695         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
57696         Define these macros if <stdio.h> doesn't.
57697         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
57698         Define these macros if <sys/stat.h>
57699         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
57700         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
57701         __xstat64): Define if not _LIBC.
57702         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
57703         (__gen_tempname): Invoke gettimeofday only if
57704         HAVE_GETTIMEOFDAY || _LIBC;
57705         otherwise, fall back on plain "time".
57706         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
57707
57708         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
57709
57710         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
57711
57712 2001-02-18  Paul Eggert  <eggert@twinsun.com>
57713
57714         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
57715
57716 2001-02-17  Paul Eggert  <eggert@twinsun.com>
57717
57718         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
57719         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
57720         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
57721         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
57722
57723 2001-02-17  Paul Eggert  <eggert@twinsun.com>
57724
57725         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
57726         Remove workaround macros for hosts that have mbrtowc but not
57727         mbstate_t, as we now insist on proper declarations for both
57728         before using mbrtowc.
57729
57730 2001-02-17  Jim Meyering  <meyering@lucent.com>
57731
57732         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
57733         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
57734         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
57735         UnixWare 7.1.1.
57736
57737         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
57738         rather than AC_CACHE_VAL.
57739
57740 2001-02-17  Jim Meyering  <meyering@lucent.com>
57741
57742         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
57743         around included file name.
57744
57745         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
57746
57747         * lib/strftime.c: Update from GNU libc (the only changes were to
57748         comments).
57749
57750 2001-02-17  Jim Meyering  <meyering@lucent.com>
57751
57752         * lib/regex.c: Update from libc.
57753
57754 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
57755
57756         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
57757         clash.
57758
57759 2001-02-16  Paul Eggert  <eggert@twinsun.com>
57760
57761         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
57762         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
57763         Reported by Mark Hounschell via Paul Eggert.
57764
57765 2001-02-07  Jim Meyering  <meyering@lucent.com>
57766
57767         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
57768
57769 2001-02-05  Jim Meyering  <meyering@lucent.com>
57770
57771         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
57772         it includes the patch required for `large file' support with at least
57773         HP-UX's 10.20 /bin/cc.
57774
57775 2001-02-03  Jim Meyering  <meyering@lucent.com>
57776
57777         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
57778         AS_IF, now that it works once again (mysteriously).
57779         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
57780
57781 2001-01-30  Jim Meyering  <meyering@lucent.com>
57782
57783         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
57784         * m4/chown.m4: Rename conftestchown to conftest.chown.
57785         * m4/rename.m4: s/conftestdir/conftest.d1/ and
57786         s/conftestdir2/conftest.d2/.
57787         * m4/utimes.m4: s/conftestdata/conftest.data/
57788         Inspired by Pavel Roskin's change in autoconf.
57789
57790 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
57791
57792         * lib/config.charset: Update for FreeBSD 4.2.
57793
57794 2001-01-27  Jim Meyering  <meyering@lucent.com>
57795
57796         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
57797         a use of AS_IF.
57798         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
57799
57800 2001-01-26  Jim Meyering  <meyering@lucent.com>
57801
57802         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
57803         quotearg.c includes it.
57804
57805 2001-01-26  Jim Meyering  <meyering@lucent.com>
57806
57807         * lib/quotearg.c: Include stddef.h.
57808         * lib/quote.c: Include stddef.h.
57809         Reported by Axel Kittenberger.
57810
57811         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
57812         line in double quotes so that it evokes a better diagnostic.
57813         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
57814         Reported by Axel Kittenberger.
57815
57816 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
57817
57818         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
57819         as if it was a `charset'.
57820
57821 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
57822
57823         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
57824         has const.
57825
57826 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
57827
57828         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
57829         to avoid a warning.  Add back 'const' to inptr.
57830
57831 2001-01-20  Jim Meyering  <meyering@lucent.com>
57832
57833         Be sure that headers are checked before used in code compiled
57834         for the type checks.
57835         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
57836         In place of that, invoke jm_CHECK_ALL_TYPES.
57837         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
57838         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
57839         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
57840         The check for ssize_t was mistakenly run before the test for unistd.h.
57841
57842         The configure-time check for stdbool.h was missing.
57843         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
57844         (jm_PREREQ_HASH): New function.
57845
57846 2001-01-17  Jim Meyering  <meyering@lucent.com>
57847
57848         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
57849         for autoconf-2.49c.
57850         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
57851
57852 2001-01-16  Jim Meyering  <meyering@lucent.com>
57853
57854         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
57855         From Bruno Haible.
57856
57857 2001-01-14  Jim Meyering  <meyering@lucent.com>
57858
57859         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
57860         foo and bar.  Create conftestdir/ in the script, not in the C code.
57861         Remove directories in the script, not in the C code.
57862         Remove conftestdir{,2} before trying to create the directory.
57863         Make the entire configure script fail if the mkdir fails.
57864
57865 2001-01-14  Jim Meyering  <meyering@lucent.com>
57866
57867         * lib/rename.c: New file.  From Volker Borchert.
57868         Include stdlib.h, string.h or strings.h, and xalloc.h.
57869         Use strip_trailing_slashes rather than open-coding it.
57870
57871 2001-01-03  Paul Eggert  <eggert@twinsun.com>
57872
57873         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
57874
57875 2001-01-03  Jim Meyering  <meyering@lucent.com>
57876
57877         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
57878         of local `inptr' to avoid warning with some system declarations of
57879         iconv.
57880
57881 2001-01-02  Volker Borchert  <bt@teknon.de>
57882
57883         * m4/rename.m4: New file.
57884         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
57885
57886 2001-01-01  Jim Meyering  <meyering@lucent.com>
57887
57888         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
57889         even on systems with utmpx.h.  It's necessary for the declaration of
57890         utmp's ut_user member.  Reported by Andreas Jaeger.
57891
57892         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
57893         available. They are required for the declarations of getgrgid and
57894         getpwuid resp.
57895         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
57896         Reported by Andreas Jaeger.
57897
57898 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
57899
57900         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
57901         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
57902         so `make install' also works in VPATH builds.
57903
57904 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
57905
57906         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
57907         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
57908         can be used in subdirectories.
57909
57910 2000-12-29  Paul Eggert  <eggert@twinsun.com>
57911
57912         * lib/modechange.c: Do not assume that mode_t uses the
57913         traditional octal encoding.  E.g. "chmod 1 FOO" should set
57914         the other-execute bit of FOO even if S_IXOTH != 1.
57915
57916         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
57917         WOTH, XOTH, ALLM): New macros.
57918         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
57919          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
57920         Use them.
57921         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
57922         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
57923         (mode_compile):
57924         No need to use uintmax_t; unsigned long is long enough.
57925         Don't bother to get suffix since we don't use it.
57926
57927 2000-12-26  Jim Meyering  <meyering@lucent.com>
57928
57929         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
57930         better with autoheader.
57931
57932 2000-12-24  Jim Meyering  <meyering@lucent.com>
57933
57934         * lib/hash.c (is_prime): Return explicit boolean values.
57935         (hash_get_first): Return NULL to appease Irix5.6's 89.
57936         Reported by Nelson Beebe.
57937
57938 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
57939
57940         * lib/localcharset.c (locale_charset): Add support for Win32.
57941
57942 2000-12-18  Paul Eggert  <eggert@twinsun.com>
57943
57944         * lib/physmem.h, lib/physmem.c: New files.
57945
57946         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
57947         (noinst_HEADERS): Add physmem.h.
57948
57949         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
57950         't' for compatibility with Solaris 8 sort.
57951
57952 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
57953
57954         * lib/config.charset: Add support for BeOS.
57955
57956 2000-12-17  Jim Meyering  <meyering@lucent.com>
57957
57958         * m4/dos.m4 (jm_AC_DOS): New file and macro.
57959         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
57960
57961 2000-12-16  Jim Meyering  <meyering@lucent.com>
57962
57963         This bug had a serious impact on chown: `chown N:M FILE' (for integer
57964         N and M) would have treated it like `chown N:N FILE'.
57965
57966         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
57967
57968 2000-12-16  Jim Meyering  <meyering@lucent.com>
57969
57970         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
57971         SHELLS_FILE to a file name that's useful on djgpp systems.
57972         Include stdlib.h.
57973         (ADDITIONAL_DEFAULT_SHELLS): Define.
57974         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
57975         Based mostly on a patch from Prashant TR.
57976
57977 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
57978
57979         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
57980         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
57981         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
57982
57983 2000-12-08  Andreas Schwab  <schwab@suse.de>
57984
57985         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
57986         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
57987
57988 2000-12-07  Jim Meyering  <meyering@lucent.com>
57989
57990         * lib/stripslash.c (ISSLASH): Define.
57991         (strip_trailing_slashes): Use ISSLASH rather than comparing against
57992         `/'.
57993         From Prashant TR.
57994
57995         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
57996         (dir_name_r): Declare this function as static.
57997         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
57998         manifest itself on a name containing a mix of slashes and
57999         backslashes.
58000         Make this function work with names starting with a DOS-style
58001         drive letter and colon prefix.
58002         (dir_name): Append `.' if necessary.
58003         Based mostly on patches from Prashant TR and Eli Zaretskii.
58004
58005         * lib/dirname.h (dir_name_r): Remove prototype.
58006
58007 2000-12-06  Paul Eggert  <eggert@twinsun.com>
58008
58009         * m4/off_t-format.m4: Remove this file.
58010         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
58011
58012 2000-12-06  Jim Meyering  <meyering@lucent.com>
58013
58014         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
58015         replacement strtoull, we may well need the replacement strtoul, too.
58016         Check for declarations of strtoul and strtoull.
58017         Check for strtol.  Mainly as a cue to cause automake to include
58018         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
58019         Check for limits.h -- strtol.c needs it.
58020
58021 2000-12-05  Jim Meyering  <meyering@lucent.com>
58022
58023         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
58024
58025 2000-12-04  Jim Meyering  <meyering@lucent.com>
58026
58027         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
58028         Also include memory.h, stdlib.h, unistd.h if appropriate.
58029         Reported by Andreas Jaeger (conflicting declaration of malloc).
58030
58031 2000-12-02  Jim Meyering  <meyering@lucent.com>
58032
58033         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
58034         * m4/jm-macros.m4 (jm_MACROS): require it.
58035
58036 2000-12-02  Jim Meyering  <meyering@lucent.com>
58037
58038         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
58039
58040 2000-12-01  Paul Eggert  <eggert@twinsun.com>
58041
58042         * lib/memrchr.c: Include <config.h> before any system include file.
58043
58044 2000-11-30  Jim Meyering  <meyering@lucent.com>
58045
58046         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
58047
58048 2000-11-30  Jim Meyering  <meyering@lucent.com>
58049
58050         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
58051
58052 2000-11-29  Paul Eggert  <eggert@twinsun.com>
58053
58054         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
58055
58056 2000-11-26  Jim Meyering  <meyering@lucent.com>
58057
58058         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
58059
58060 2000-11-22  Paul Eggert  <eggert@twinsun.com>
58061
58062         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
58063         size of (size_t) -1; it's not portable.
58064
58065 2000-11-17  Jim Meyering  <meyering@lucent.com>
58066
58067         * lib/strstr.c: Update from GNU libc.
58068
58069 2000-11-17  Akim Demaille  <akim@epita.fr>
58070
58071         * lib/obstack.h: Formatting changes.
58072         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
58073         prevent type checking.
58074         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
58075         cast the value to (void *): assigning a `foo *' to a `void *'
58076         variable is valid.
58077         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
58078
58079 2000-11-16  Jim Meyering  <meyering@lucent.com>
58080
58081         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
58082
58083 2000-11-11  Jim Meyering  <meyering@lucent.com>
58084
58085         * lib/error.c: Add a couple #includes, merging from GNU libc version.
58086
58087 2000-11-10  Jim Meyering  <meyering@lucent.com>
58088
58089         * lib/obstack.h: Update from GNU libc.
58090         * lib/obstack.c: Likewise.
58091
58092 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
58093
58094         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
58095
58096 2000-11-06  Paul Eggert  <eggert@twinsun.com>
58097
58098         * lib/getusershell.c (setusershell): Use rewind rather than
58099         fseek/fseeko, to avoid configuration hassles with fseeko.
58100         Don't bother opening SHELLS_FILE if shellstream is NULL;
58101         it's not necessary.
58102
58103 2000-11-05  Jim Meyering  <meyering@lucent.com>
58104
58105         * lib/makepath.h (make_dir): Declare.
58106         * lib/makepath.c (make_dir): Remove `static' attribute.
58107         Tweak a comment.
58108
58109 2000-11-04  Jim Meyering  <meyering@lucent.com>
58110
58111         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
58112
58113 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
58114
58115         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
58116         last one in a bucket, advance to the next bucket.
58117
58118 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
58119
58120         * lib/fnmatch.c: Do not comment out all the code if we are using
58121         the GNU C library, because in some cases we are replacing buggy
58122         code in the GNU C library itself.
58123
58124 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
58125
58126         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
58127         (regex_compile): Catch bogus \(\1\).
58128
58129 2000-10-30  Paul Eggert  <eggert@twinsun.com>
58130
58131         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
58132         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
58133         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
58134
58135 2000-10-30  Paul Eggert  <eggert@twinsun.com>
58136
58137         * lib/error.h, getline.h, modechange.h:
58138         Remove "2000" from Copyright line, as the file hasn't been
58139         changed this year other than in the copyright notice.
58140
58141         * lib/xalloc.h: Add "2000" to Copyright line, as this file
58142         was changed this year.
58143
58144 2000-10-29  Jim Meyering  <meyering@lucent.com>
58145
58146         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
58147         renaming.
58148         * m4/ls-mntd-fs.m4: Likewise
58149
58150 2000-10-29  Jim Meyering  <meyering@lucent.com>
58151
58152         * lib/xstat.in: Fix grammar in comment.
58153
58154 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
58155
58156         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
58157         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
58158         doesn't define __restrict_arr.
58159
58160 2000-10-28  Jim Meyering  <meyering@lucent.com>
58161
58162         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
58163         (jm_PREREQ_MEMCHR): New function.
58164
58165 2000-10-28  Jim Meyering  <meyering@lucent.com>
58166
58167         * lib/memchr.c: Update from libc.
58168         Adjust for portability:
58169         [HAVE_STDLIB_H]: Include stdlib.h.
58170         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
58171         Undef __memchr, too.
58172         [!weak_alias]: Define __memchr to memchr.
58173
58174         * lib/regex.c: Update from libc.
58175         * lib/regex.h: Likewise.
58176         * lib/getopt1.c: Likewise.
58177         * lib/memcmp.c: Likewise.
58178
58179         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
58180         Avoid using fseek, when possible -- it's broken by design.
58181         Patch by Ulrich Drepper.
58182
58183 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
58184
58185         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
58186         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
58187         Giving in to popular pressure to shut up the compiler with casts.
58188
58189 2000-10-26  Jim Meyering  <meyering@lucent.com>
58190
58191         * lib/strftime.c: Update from libc.
58192
58193 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
58194
58195         * regex.c: More `unsigned char' -> `re_char' changes.
58196         Also change several `int' into `re_wchar_t'.
58197         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
58198         (PUSH_FAILURE_POINTER): Don't cast any more.
58199         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
58200         We want GCC to complain, since this piece of code makes
58201         re_match non-reentrant, which *should* be fixed.
58202         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
58203         (EXTEND_BUFFER): Use RETALLOC.
58204         (SET_LIST_BIT): Don't cast.
58205         (re_wchar_t): New type.
58206         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
58207         that those two functions will always properly return.
58208         (IMMEDIATE_QUIT_CHECK): Cast to void.
58209         (analyse_first): Use recursion rather than an explicit stack.
58210         (re_compile_fastmap): Can't fail anymore.
58211         (re_search_2): Don't check re_compile_fastmap for failure.
58212         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
58213         Now also sets the new value (passed in a new argument).
58214         (re_match_2_internal): Use it.
58215         Also, use a new var `reg' of type size_t when looping through regs
58216         rather than reuse the inappropriate `mcnt'.
58217
58218 2000-10-25  Jim Meyering  <meyering@lucent.com>
58219
58220         * lib/obstack.c: Update from libc.
58221
58222 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
58223
58224         * regex.c (regex_compile): Change the way of handling a range from
58225         a char less than 256 to a char not less than 256.
58226
58227 2000-10-24  Andrew Innes  <andrewi@gnu.org>
58228
58229         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
58230         NT-Emacs only.
58231         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
58232         so that re_search functions only quit when callers expect them to.
58233
58234 2000-10-23  Jim Meyering  <meyering@lucent.com>
58235
58236         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
58237         wrong.  That set_locale call must not have any side effects.
58238         From Paul Eggert.
58239
58240 2000-10-22  Jim Meyering  <meyering@lucent.com>
58241
58242         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
58243         [CYCLIC]: Remove now-unused definition.
58244
58245         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
58246         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
58247         Suggestion from Ulrich Drepper.
58248
58249 2000-10-21  Jim Meyering  <meyering@lucent.com>
58250
58251         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
58252         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
58253         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
58254
58255 2000-10-21  Jim Meyering  <meyering@lucent.com>
58256
58257         * lib/dirname.c (memrchr): Declare if necessary.
58258         (dir_name): Remove the restriction that there be no
58259         trailing slashes.  Now, this code skips past them, effectively
58260         ignoring them.
58261         [TEST_DIRNAME] (main): New unit tests.
58262
58263         * lib/memrchr.c: New file from GNU libc.
58264         Undef __memrchr, too.
58265         [!weak_alias]: Define __memrchr to memrchr.
58266         Guard weak_alias use with `#ifdef weak_alias'.
58267
58268 2000-10-21  Jim Meyering  <meyering@lucent.com>
58269
58270         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
58271         (dir_name): Use dir_name_r.
58272         * lib/dirname.h (dir_name_r): Declare it.
58273
58274 2000-10-17  Jim Meyering  <meyering@lucent.com>
58275
58276         * lib/quote.h (PARAMS): Define and use.
58277         Reported by Akim Demaille.
58278
58279         * lib/getopt.c: Update from libc.
58280
58281 2000-10-16  Jim Meyering  <meyering@lucent.com>
58282
58283         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
58284         setlocale.
58285         From Jan Fedak.
58286
58287 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
58288
58289         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
58290
58291 2000-09-25  Jim Meyering  <meyering@lucent.com>
58292
58293         * lib/md5.h (rol): Define (from GnuPG).
58294
58295         * lib/sha.c: Give credit (GnuPG) where due.
58296         (M): Use rol rather than open-coding it.
58297         Add a FIXME comment.
58298
58299 2000-09-21  Jim Meyering  <meyering@lucent.com>
58300
58301         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
58302         Reported by Michael Stone.
58303
58304 2000-09-20  Jim Meyering  <meyering@lucent.com>
58305
58306         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
58307         (noinst_HEADERS): Add sha.h.
58308         Based on code from Scott G. Miller and from GnuPG.
58309
58310 2000-09-18  Jim Meyering  <meyering@lucent.com>
58311
58312         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
58313         LIBS. Otherwise, everyone ends up linking with -lelf for some
58314         configurations.
58315         Reported by Mike Stone.
58316
58317 2000-09-15  Jim Meyering  <meyering@lucent.com>
58318
58319         * lib/regex.c: Update from libc.
58320
58321 2000-09-10  Jim Meyering  <meyering@lucent.com>
58322
58323         * lib/getopt.c (_getopt_internal): Update from glibc.
58324
58325 2000-09-09  Jim Meyering  <meyering@lucent.com>
58326
58327         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
58328         think it should be used as a general replacement for isascii.
58329         * lib/fnmatch.c: Likewise.
58330         * lib/mbswidth.c: Likewise
58331         * lib/regex.c: Likewise.
58332
58333         Don't use atoi.
58334         * lib/userspec.c: Include sys/param.h and limits.h.
58335         Include xstrtol.h.
58336         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
58337         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
58338         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
58339         UID, GID.  Check range.
58340
58341 2000-09-06  Jim Meyering  <meyering@lucent.com>
58342
58343         * lib/getopt.c (_getopt_internal): Update from glibc.
58344
58345 2000-08-30  Jim Meyering  <meyering@lucent.com>
58346
58347         * lib/strftime.c: Merge in changes from GNU libc.
58348
58349 2000-08-26  Jim Meyering  <meyering@lucent.com>
58350
58351         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
58352         * m4/fpending.m4: New file.
58353
58354 2000-08-26  Jim Meyering  <meyering@lucent.com>
58355
58356         * lib/closeout.c: Include "__fpending.h".
58357         (close_stdout_status): Return right away if there's nothing to flush.
58358
58359         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
58360         * lib/__fpending.c: New file.
58361         * lib/__fpending.h: New file.
58362
58363 2000-08-20  Jim Meyering  <meyering@lucent.com>
58364
58365         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
58366         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
58367         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
58368
58369 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
58370
58371         Improve fileutils installation on systems where running
58372         programs (like install) can't be unlinked.
58373         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
58374         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
58375
58376 2000-08-07  Paul Eggert  <eggert@twinsun.com>
58377
58378         Standardize on "memory exhausted" instead of "Memory exhausted"
58379         or "virtual memory exhausted".
58380         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
58381         "virtual memory exhausted".
58382         * lib/same.c (same_name): Invoke xalloc_die instead of printing
58383         our own message.
58384         * lib/userspec.c (parse_user_spec): Likewise.
58385         * lib/bumpalloc.h: comment fix
58386         * lib/same.c, userspec.c: Include xalloc.h.
58387
58388         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
58389         not char *const and pointing to a constant array.
58390         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
58391         (xrealloc): Comment fix.
58392
58393         * lib/userspec.c (parse_user_spec):
58394         Don't translate a message until just before returning,
58395         to avoid unnecessary translation.
58396
58397 2000-08-07  Jim Meyering  <meyering@lucent.com>
58398
58399         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
58400         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
58401         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
58402         getgroups.c, gethostname.c, getopt.h, group-member.c,
58403         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
58404         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
58405         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
58406         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
58407         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
58408         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
58409         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
58410         yesno.c: Back out Copyright date changes for each file with no change
58411         this year.  This eases coordination with other programs using the same
58412         source code modules.  From Paul Eggert.
58413
58414 2000-08-06  Paul Eggert  <eggert@twinsun.com>
58415
58416         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
58417         not char, for compatibility with glibc 2.1.3 strftime.c.
58418
58419 2000-08-03  Greg McGary  <greg@mcgary.org>
58420
58421         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
58422         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
58423         (EXTEND_BUFFER): Use them.
58424
58425 2000-08-01  Jim Meyering  <meyering@lucent.com>
58426
58427         * lib/dirname.c (ISSLASH): Define.
58428         (BACKSLASH_IS_PATH_SEPARATOR): Define.
58429         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
58430         both `\' and `/' may be use as path separators.
58431         Based on a patch from Prashant TR.
58432
58433 2000-07-31  Paul Eggert  <eggert@twinsun.com>
58434
58435         * lib/quotearg.c (quotearg_n_options): Don't make the initial
58436         slot vector a constant, since it might get modified.
58437
58438 2000-07-31  Jim Meyering  <meyering@lucent.com>
58439
58440         * lib/xmalloc.c: Use `virtual memory exhausted', not
58441         `Memory exhausted'.
58442         * lib/obstack.c (print_and_abort): Likewise.
58443
58444 2000-07-30  Paul Eggert  <eggert@twinsun.com>
58445
58446         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
58447         buffer, so that the caller can always quote one small
58448         component of a "memory exhausted" message in slot 0.
58449         From a suggestion by Jim Meyering.
58450
58451 2000-07-30  Jim Meyering  <meyering@lucent.com>
58452
58453         * lib/makepath.c (make_path): Quote the other instance, too.
58454
58455         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
58456         (STATIC_BUF_SIZE): Define.
58457         (quotearg_n_options): Use only statically allocated storage when
58458         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
58459         than STATIC_BUF_SIZE.
58460
58461 2000-07-29  Jim Meyering  <meyering@lucent.com>
58462
58463         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
58464         * lib/dirname.c (dir_name): Likewise.
58465
58466         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
58467         `/'.
58468
58469         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
58470         (dir_name): Assert that there are no trailing slashes.
58471
58472 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
58473
58474         * lib/mbswidth.h (mbswidth): Add a flags argument.
58475         (mbswidth): New declaration.
58476         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
58477         * lib/mbswidth.c (mbswidth): Add a flags argument.
58478         (mbsnwidth): New function.
58479
58480 2000-07-24  Jim Meyering  <meyering@lucent.com>
58481
58482         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
58483
58484 2000-07-23  Paul Eggert  <eggert@twinsun.com>
58485
58486         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
58487
58488 2000-07-23  Paul Eggert  <eggert@twinsun.com>
58489
58490         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
58491         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
58492         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
58493         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
58494         invoke multibyte primitives.
58495
58496 2000-07-23  Paul Eggert  <eggert@twinsun.com>
58497
58498         * lib/quotearg.c:
58499         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
58500         so that mbstate_t is always defined.
58501
58502         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
58503         be 1 in at least one GCC installation, and this configuration
58504         error is likely to be common.  Ignoring MB_LEN_MAX hurts
58505         performance on hosts that have mbrtowc but have only unibyte
58506         locales, but I assume these hosts are rare.
58507
58508 2000-07-23  Paul Eggert  <eggert@twinsun.com>
58509
58510         * lib/mbswidth.c (_XOPEN_SOURCE):
58511         Don't define; this causes problems on Solaris 7.
58512         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
58513
58514 2000-07-23  Jim Meyering  <meyering@lucent.com>
58515
58516         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
58517         too: getgrgid, getpwuid, getuid.
58518
58519 2000-07-23  Jim Meyering  <meyering@lucent.com>
58520
58521         * lib/basename.c (base_name): Add an assertion.
58522
58523 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
58524
58525         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
58526         shadow its mbsinit function.
58527
58528 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
58529
58530         * lib/mbswidth.h: New file.
58531         * lib/mbswidth.c: New file.
58532         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
58533         (noinst_HEADERS): Add mbswidth.h.
58534
58535 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
58536
58537         * lib/config.charset: Add support for FreeBSD. Improve support for
58538         HP-UX and IRIX 6.
58539
58540 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
58541
58542         * m4/mbswidth.m4: New file.
58543         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
58544
58545 2000-07-15  Jim Meyering  <meyering@lucent.com>
58546
58547         * lib/makepath.c: Include quote.h.
58548         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
58549         corresponding argument in a `quote (...)' call.
58550         Give better diagnostics.
58551
58552         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
58553         (noinst_HEADERS): Add quote.h.
58554
58555         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
58556         from tar's src/misc.c.
58557         * lib/quote.h: New file.  Prototypes for same.
58558
58559 2000-07-14  Paul Eggert  <eggert@twinsun.com>
58560
58561         From a suggestion by Bruno Haible.
58562         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
58563         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
58564         to decide whether to define the BeOS workaround macro;
58565         this adjusts to the change to AC_MBSTATE_T.
58566
58567 2000-07-14  Jim Meyering  <meyering@lucent.com>
58568
58569         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
58570         jm_AC_TYPE_UINTMAX_T.
58571
58572 2000-07-13  Paul Eggert  <eggert@twinsun.com>
58573
58574         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
58575
58576         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
58577         quotearg_buffer_restyled): Add support for
58578         clocale_quoting_style.  Undo previous change to
58579         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
58580         and "{RIGHT QUOTATION MARK}" msgids.
58581
58582 2000-07-10  Paul Eggert  <eggert@twinsun.com>
58583
58584         From a suggestion by Bruno Haible.
58585         * m4/mbstate_t.m4 (AC_MBSTATE_T):
58586         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
58587         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
58588         and mbstate_t, to a single-part test that simply defines mbstate_t.
58589         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
58590         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
58591
58592 2000-07-10  Jim Meyering  <meyering@lucent.com>
58593
58594         * m4/strerror_r.m4: Mirror the correction made in autoconf.
58595
58596         * m4/gnu-source.m4: Output to confdefs.h directly.
58597         Suggestion from Akim Demaille.
58598
58599 2000-07-09  Paul Eggert  <eggert@twinsun.com>
58600
58601         The old behavior of quoting `like this' doesn't look good with
58602         newer, ISO-style fonts.  See:
58603         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
58604
58605         Instead, quote "like this" by default.  Let the translator
58606         tailor the locale-specific quoting behavior by providing
58607         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
58608
58609         * lib/quotearg.c (N_): New macro.
58610         (gettext_default): New function.
58611         (quotearg_buffer_restyled): Use
58612         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
58613         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
58614
58615 2000-07-09  Jim Meyering  <meyering@lucent.com>
58616
58617         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
58618         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
58619
58620         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
58621         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
58622
58623 2000-07-09  Jim Meyering  <meyering@lucent.com>
58624
58625         * lib/Most files: Update copyright dates to include 2000.
58626
58627 2000-07-08  Jim Meyering  <meyering@lucent.com>
58628
58629         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
58630         if not defined.
58631         (xgethostname): Remove now-unnecessary #ifdef.
58632         Move declaration of `err' into loop where it's used.
58633
58634 2000-07-05  Paul Eggert  <eggert@twinsun.com>
58635         and Bruno Haible  <haible@clisp.cons.org>
58636
58637         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
58638         only if the test for an object-type mbstate_t fails.  This
58639         prevents us from mistakenly reporting that mbstate_t is a
58640         system object type after we "#define mbstate_t int" to work
58641         around its lack.
58642
58643 2000-07-05  Paul Eggert  <eggert@twinsun.com>
58644         and Bruno Haible  <haible@clisp.cons.org>
58645
58646         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
58647
58648 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
58649
58650         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
58651         to strerror_r.
58652         Include <ctype.h> for use of isalpha.
58653
58654 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
58655
58656         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
58657         by allocating a larger buffer. Test the gethostname return value for
58658         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
58659         returns an error and ENAMETOOLONG isn't defined.
58660
58661 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
58662
58663         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
58664         dimension.
58665
58666 2000-07-04  Jim Meyering  <meyering@lucent.com>
58667
58668         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
58669         of the deprecated AC_CHECKING.
58670
58671 2000-07-04  Jim Meyering  <meyering@lucent.com>
58672
58673         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
58674         Reported by Bruno Haible.
58675
58676 2000-07-04  Jim Meyering  <meyering@lucent.com>
58677
58678         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
58679         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
58680         lacks mbrtowc.
58681
58682 2000-07-03  Paul Eggert  <eggert@twinsun.com>
58683
58684         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
58685         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
58686
58687 2000-07-03  Paul Eggert  <eggert@twinsun.com>
58688         and Bruno Haible  <haible@clisp.cons.org>
58689
58690         * lib/quotearg.c (mbrtowc):
58691         Assign to *pwc, and return 1 only if result is nonzero.
58692         (iswprint): Use ISPRINT when substituting our own mbrtowc.
58693
58694 2000-07-03  Jim Meyering  <meyering@lucent.com>
58695
58696         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
58697
58698 2000-07-03  Jim Meyering  <meyering@lucent.com>
58699
58700         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
58701         This is necessary to get a definition of e.g., UTMP_FILE on
58702         HP-UX 10.20.
58703         From Bob Proulx.
58704
58705 2000-07-02  Jim Meyering  <meyering@lucent.com>
58706
58707         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
58708
58709         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
58710         AC_LIBOBJ(function_name).
58711         * m4/chown.m4: Likewise.
58712         * m4/fnmatch.m4: Likewise.
58713         * m4/ftruncate.m4: Likewise.
58714         * m4/getgroups.m4: Likewise.
58715         * m4/getline.m4: Likewise.
58716         * m4/group-member.m4: Likewise.
58717         * m4/jm-macros.m4: Likewise.
58718         * m4/lstat.m4: Likewise.
58719         * m4/malloc.m4: Likewise.
58720         * m4/memcmp.m4: Likewise.
58721         * m4/nanosleep.m4: Likewise.
58722         * m4/putenv.m4: Likewise.
58723         * m4/realloc.m4: Likewise.
58724         * m4/regex.m4: Likewise.
58725         * m4/stat.m4: Likewise.
58726         * m4/strftime.m4: Likewise.
58727
58728 2000-07-02  Jim Meyering  <meyering@lucent.com>
58729
58730         * lib/quotearg.c (mbstate_t): Don't define here.
58731
58732 2000-07-02  Jim Meyering  <meyering@lucent.com>
58733
58734         * lib/nanosleep.c (SIGCONT): Define if not already defined.
58735
58736 2000-07-01  Jim Meyering  <meyering@lucent.com>
58737
58738         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
58739
58740 2000-07-01  Jim Meyering  <meyering@lucent.com>
58741
58742         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
58743         problem.
58744
58745 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
58746
58747         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
58748         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
58749
58750 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
58751
58752         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
58753         per change in ../m4/ls-mntd-fs.m4.
58754         (read_filesystem_list): Ignore symbolic links.
58755
58756 2000-06-29  Jim Meyering  <meyering@lucent.com>
58757
58758         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
58759         for declaration of strcmp.
58760
58761         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
58762
58763         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
58764         Avoid warning by casting result to `char *' to remove `const'.
58765
58766 2000-06-28  Jim Meyering  <meyering@lucent.com>
58767
58768         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
58769         included by quotearg.c, for which we perform this test.  From
58770         Bruno Haible.
58771
58772 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
58773
58774         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
58775         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
58776         <utmpx.h> exists, put readutmp.o into LIBOBJS.
58777
58778 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
58779
58780         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
58781
58782 2000-06-26  Paul Eggert  <eggert@twinsun.com>
58783
58784         savedir now sets errno on failure and invokes xmalloc to get memory.
58785         Fix a couple of other minor bugs while we're at it.
58786
58787         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
58788         (NAMLEN): Remove macro.
58789         (malloc, realloc): Remove decls.
58790         (stpcpy): Likewise.
58791         ("xalloc.h"): Include.
58792         (NAME_SIZE_DEFAULT): New macro.
58793         (savedir): Use xmalloc / xrealloc to allocate memory.
58794         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
58795         Skip "" directory entries.
58796         Use strlen to calculate directory entry length, since the old method
58797         is rarely used these days and isn't worth supporting.
58798         Don't use a pointer after freeing it.
58799         Check for integer overflow when calculating allocation size.
58800         Use memcpy to copy entries, instead of stpcpy.
58801         Set errno properly when returning NULL.
58802         Check for readdir error.
58803
58804 2000-06-26  Jim Meyering  <meyering@lucent.com>
58805
58806         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
58807
58808 2000-06-25  Jim Meyering  <meyering@lucent.com>
58809
58810         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
58811         Linux header bug when _XOPEN_SOURCE is defined to 500.
58812
58813 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
58814
58815         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
58816         deficiency.
58817
58818 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
58819
58820         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
58821         Include xalloc.h.
58822         Don't include <stdlib.h>.  Don't declare malloc, realloc.
58823
58824 2000-06-24  Jim Meyering  <meyering@lucent.com>
58825
58826         * m4/strerror_r.m4: Revive this file -- to try out an experimental
58827         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
58828         for which strerror does return char*, but which lacks a conveniently
58829         accessible declaration of the function.  If the compile-test says
58830         strerror_r doesn't work, then resort to a `run'-test that works on
58831         BeOS and segfaults on DEC Unix.
58832
58833 2000-06-24  Jim Meyering  <meyering@lucent.com>
58834
58835         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
58836
58837 2000-06-23  Paul Eggert  <eggert@twinsun.com>
58838
58839         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
58840         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
58841
58842 2000-06-23  Paul Eggert  <eggert@twinsun.com>
58843
58844         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
58845         (mbrtowc, mbstate_t): Define substitutes if
58846         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
58847         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
58848         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
58849
58850 2000-06-23  Jim Meyering  <meyering@lucent.com>
58851
58852         * m4/afs.m4: Add missing AC_MSG_RESULT.
58853         Reported by Bruno Haible.
58854
58855         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
58856         Suggestion from Bruno Haible.
58857
58858 2000-06-23  Jim Meyering  <meyering@lucent.com>
58859
58860         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
58861
58862 2000-06-21  Jim Meyering  <meyering@lucent.com>
58863
58864         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
58865
58866 2000-06-21  Jim Meyering  <meyering@lucent.com>
58867
58868         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
58869         (noinst_HEADERS): Add getstr.h.
58870
58871         * lib/getline.c (getstr): Move into a separate file.
58872         * lib/getstr.c (getstr): New file, extracted from getline.c, with
58873         the following changes: new parameter, delim2; both delim[12]
58874         parameters have type `int', not `char'.  The latter would lose
58875         with 8-bit delimiters.
58876         * lib/getstr.h: New file.
58877
58878 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
58879
58880         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
58881         than 1024, return a memory chunk of least possible size, instead
58882         of size PATH_MAX + 2. In the loop, increment the size proportionally.
58883         Use free/xmalloc instead of xrealloc to avoid copying for very long
58884         paths.
58885
58886 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
58887
58888         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
58889         the empty string.
58890
58891 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
58892
58893         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
58894         address, not strdup.  Include <stdlib.h> and don't declare free().
58895
58896 2000-06-19  Jim Meyering  <meyering@lucent.com>
58897
58898         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
58899
58900 2000-06-18  Jim Meyering  <meyering@lucent.com>
58901
58902         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
58903
58904         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
58905         `checking whether...' message to be consistent with that of the
58906         lstat test.
58907
58908 2000-06-18  Jim Meyering  <meyering@lucent.com>
58909
58910         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
58911         Besides, these days every porting target provides a mkdir function.
58912
58913         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
58914         needed. (this snippet comes from src/system.h).
58915
58916 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
58917
58918         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
58919
58920 2000-06-15  Paul Eggert  <eggert@twinsun.com>
58921
58922         * lib/human.c (adjust_value): New function.
58923         (human_readable_inexact): Apply rounding style even when
58924         printing approximate values.
58925
58926 2000-06-14  Paul Eggert  <eggert@twinsun.com>
58927
58928         * lib/human.c (human_readable_inexact): Allow an input block
58929         size that is not a multiple of the output block size, and vice versa.
58930         Reported by Piergiorgio Sartor.
58931
58932 2000-06-14  Paul Eggert  <eggert@twinsun.com>
58933
58934         * lib/getdate.y (get_date): Apply relative times after time
58935         zone indicator, not before.  Reported by Todd A. Jacobs.
58936
58937 2000-06-13  Jim Meyering  <meyering@lucent.com>
58938
58939         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
58940
58941         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
58942
58943 2000-06-12  Paul Eggert  <eggert@twinsun.com>
58944
58945         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
58946
58947 2000-06-12  Jim Meyering  <meyering@lucent.com>
58948
58949         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
58950         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
58951         optional argument.
58952         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
58953         the optional argument, `lib'.
58954
58955 2000-06-08  Jim Meyering  <meyering@lucent.com>
58956
58957         * m4/largefile.m4: Remove file (now that it's part of autoconf).
58958
58959 2000-06-04  Paul Eggert  <eggert@twinsun.com>
58960
58961         Rewrite largefile configuration so that we don't need to run
58962         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
58963         AC_CANONICAL_HOST in configure.in -- jmm]
58964
58965         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
58966         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
58967         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
58968         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
58969         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
58970         All uses changed.
58971         Instead of inspecting the output of getconf, try to compile the
58972         test program without and with the macro definition.
58973         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
58974         for getconf.  Instead, check for the needed flags by compiling
58975         test programs.
58976
58977 2000-06-04  Paul Eggert  <eggert@twinsun.com>
58978
58979         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
58980
58981 2000-06-04  Jim Meyering  <meyering@lucent.com>
58982
58983         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
58984         SunOS 4.1.4 for which gid_t is an unsigned type.
58985
58986 2000-06-03  Jim Meyering  <meyering@lucent.com>
58987
58988         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
58989         now that autoconf requires that.
58990
58991         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
58992         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
58993         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
58994
58995 2000-06-03  Jim Meyering  <meyering@lucent.com>
58996
58997         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
58998
58999 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
59000
59001         * m4/glibc21.m4: New file.
59002         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
59003
59004 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
59005
59006         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
59007         newer, don't install charset.alias.
59008         * lib/config.charset: Change the Linux/glibc rules so they become empty
59009         on glibc-2.1 or newer.
59010
59011 2000-06-02  Jim Meyering  <meyering@lucent.com>
59012
59013         * lib/mountlist.c: Back out last change.  Instead, do this...
59014         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
59015         me_dummy member using the same `ignore'-testing code.
59016         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
59017         fs_type strings.
59018         From Mark D. Roth.
59019
59020 2000-05-29  Jim Meyering  <meyering@lucent.com>
59021
59022         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
59023         mounts with the `ignore' attribute.  Based on a patch from
59024         Mark D. Roth.
59025
59026 2000-05-28  Jim Meyering  <meyering@lucent.com>
59027
59028         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
59029         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
59030         * m4/stat.m4: Likewise.
59031         * m4/lstat.m4: Likewise.
59032         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
59033
59034         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
59035         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
59036
59037 2000-05-26  Jim Meyering  <meyering@lucent.com>
59038
59039         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
59040
59041 2000-05-24  Jim Meyering  <meyering@lucent.com>
59042
59043         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
59044         autoconf requires that.
59045         * m4/lib-check.m4: Likewise.
59046         * m4/jm-macros.m4: Likewise.
59047         * m4/strftime.m4: Likewise.
59048
59049         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
59050         AC_CHECK_DECLS, now that autoconf requires that.
59051
59052 2000-05-22  Jim Meyering  <meyering@lucent.com>
59053
59054         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
59055         * m4/lstat.m4: Likewise.
59056
59057 2000-05-22  Jim Meyering  <meyering@lucent.com>
59058
59059         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
59060
59061 2000-05-20  Jim Meyering  <meyering@lucent.com>
59062
59063         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
59064         (jm_PREREQ): Use it.
59065
59066 2000-05-18  Jim Meyering  <meyering@lucent.com>
59067
59068         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
59069         back, too, since it may have been modified by allocate_entry.
59070         (hash_delete): Rewrite to use neither the assignment operator
59071         nor the comma operator in an if-expression.
59072
59073 2000-05-15  Paul Eggert  <eggert@twinsun.com>
59074
59075         * lib/closeout.c:
59076         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
59077         Remove; no longer needed.
59078         "quotearg.h": Add include.
59079         (file_name): Do not bother to explicitly initialize to NULL; it's less
59080         efficient on some hosts.
59081         (close_stdout_status): Remove test as to whether stdout was already
59082         closed; it breaks for the case "echo x | sort >&-".
59083         Quote file name colons.
59084         Do not assume that _("write error") lacks format strings.
59085
59086 2000-05-15  Jim Meyering  <meyering@lucent.com>
59087
59088         * lib/version-etc.c (version_etc_copyright): Update the copyright
59089         string used in all --version output.
59090
59091 2000-05-14  Jim Meyering  <meyering@lucent.com>
59092
59093         * lib/closeout.c (close_stdout_set_file_name): New function.
59094         (close_stdout_status): Use new file-scoped global.
59095         Return right away if fstat says the stdout file descriptor is invalid.
59096         * lib/closeout.h (close_stdout_set_file_name): Declare.
59097
59098 2000-05-10  Jim Meyering  <meyering@lucent.com>
59099
59100         * lib/closeout.c [default_exit_status]: New file-scoped variable.
59101         (close_stdout_set_status): New function.
59102         * lib/closeout.h (close_stdout_set_status): Declare.
59103
59104 2000-05-09  Jim Meyering  <meyering@lucent.com>
59105
59106         * m4/gettext.m4: Rename this...
59107         * m4/libintl.m4: ...to this.
59108
59109 2000-05-08  Jim Meyering  <meyering@lucent.com>
59110
59111         * lib/long-options.c: Don't include closeout.h.
59112         (parse_long_options): Don't call close_stdout for --version.
59113
59114 2000-05-06  Paul Eggert  <eggert@twinsun.com>
59115
59116         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
59117         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
59118         2.1.3 bug.  This avoids a clash when files like regex.c define
59119         _GNU_SOURCE.
59120
59121 2000-05-06  Jim Meyering  <meyering@lucent.com>
59122
59123         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
59124         (AC_REPLACE_FUNCS): Add strnlen.
59125
59126         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
59127         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
59128
59129         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
59130         AC_SEARCH_LIBS call for nanosleep.
59131         (LIB_NANOSLEEP): Set and AC_SUBST.
59132
59133 2000-05-06  Jim Meyering  <meyering@lucent.com>
59134
59135         * lib/strnlen.c: Undefine __strnlen and strnlen.
59136         [!weak_alias]: Define __strnlen to strnlen.
59137
59138         * lib/atexit.c: New file, from libiberty.
59139
59140 2000-05-06  Jim Meyering  <meyering@lucent.com>
59141
59142         * lib/closeout.c (close_stdout_status): Also check for errors on the
59143         stderr stream.
59144
59145 2000-05-05  Jim Meyering  <meyering@lucent.com>
59146
59147         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
59148         AC_SEARCH_LIBS call for clock_gettime.
59149         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
59150
59151         * m4/search-libs.m4: Update from autoconf.
59152
59153         su doesn't work on Solaris 2.6.
59154         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
59155         <shadow.h>.  Reported by Dragos Harabor.
59156
59157 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
59158
59159         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
59160         memcpy instead of xmalloc, xrealloc, path_concat.
59161         (locale_charset): Treat empty environment variables as absent.
59162         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
59163
59164 2000-05-04  Jim Meyering  <meyering@lucent.com>
59165
59166         * lib/getopt.c: Update from glibc.
59167         * lib/obstack.c: Likewise.
59168         * lib/obstack.h: Likewise.
59169         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
59170         file
59171
59172         * lib/regex.h: Likewise.
59173         * lib/strndup.c: Likewise.
59174         * lib/strnlen.c: New file, from glibc.
59175
59176 2000-05-03  Jim Meyering  <meyering@lucent.com>
59177
59178         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
59179
59180 2000-05-02  Paul Eggert  <eggert@twinsun.com>
59181
59182         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
59183         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
59184         compile-time test, rather than inspecting host and OS, to
59185         decide whether to define _LARGEFILE_SOURCE.
59186
59187 2000-05-01  Jim Meyering  <meyering@lucent.com>
59188
59189         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
59190
59191         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
59192         Based on a patch from Bruno Haible.
59193
59194 2000-05-01  Jim Meyering  <meyering@lucent.com>
59195
59196         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
59197
59198 2000-04-29  Jim Meyering  <meyering@lucent.com>
59199
59200         * lib/path-concat.c: Declare strdup only if it's not defined.
59201         * lib/canon-host.c: Likewise.
59202
59203 2000-04-28  Jim Meyering  <meyering@lucent.com>
59204
59205         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
59206         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
59207         is included first, then limits.h is included by locale.h by libintl.h.
59208         From John David Anglin.
59209
59210 2000-04-25  Jim Meyering  <meyering@lucent.com>
59211
59212         * lib/makepath.c (S_IRWXUGO): Define.
59213         (make_path): Always perform explicit chmod if MODE specifies any
59214         of the `special' permission bits.  Prompted by a bug report against
59215         install from Mate Wierdl and Joost van Baal.
59216
59217 2000-04-18  Jim Meyering  <meyering@lucent.com>
59218
59219         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
59220         (jm_PREREQ): Use it.
59221
59222 2000-04-18  Jim Meyering  <meyering@lucent.com>
59223
59224         * lib/README: New file.
59225
59226         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
59227         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
59228
59229 2000-04-17  Jim Meyering  <meyering@lucent.com>
59230
59231         Get it right :-)
59232         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
59233         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
59234         Suggestion from Akim Demaille.
59235
59236 2000-04-17  Jim Meyering  <meyering@lucent.com>
59237
59238         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
59239         the definition of it to rpl_strftime also defined-away the system's
59240         declaration.
59241
59242 2000-04-15  Jim Meyering  <meyering@lucent.com>
59243
59244         Use `C' to denote so-called `contiguous' files, the same way
59245         that tar does.
59246         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
59247         (ftypelet): Use S_ISCTG.
59248         From Michael Deutschmann.
59249
59250 2000-04-14  Jim Meyering  <meyering@lucent.com>
59251
59252         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
59253         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
59254         clobbered.
59255
59256 2000-04-14  Jim Meyering  <meyering@lucent.com>
59257
59258         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
59259
59260 2000-04-13  Jim Meyering  <meyering@lucent.com>
59261
59262         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
59263         AH_VERBATIM to insert required #ifndef into config.h.in.
59264         Suggestion from Akim Demaille.
59265
59266 2000-04-12  Jim Meyering  <meyering@lucent.com>
59267
59268         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
59269         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
59270         Christian Krackowizer.
59271
59272         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
59273         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
59274         (AC_SYS_LARGEFILE): Require.
59275         (AM_C_PROTOTYPES): Require.
59276
59277 2000-04-08  Jim Meyering  <meyering@lucent.com>
59278
59279         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
59280         names don't conflict.  Reported by Eli Zaretskii.
59281
59282 2000-04-07  Jim Meyering  <meyering@lucent.com>
59283
59284         * lib/putenv.c: Move inclusion of errno.h so it follows that of
59285         sys/types.h, to work around system header problems on AIX 3.2.5.
59286         From Bruno Haible.
59287
59288 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
59289
59290         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
59291         bug.  Deal with the different error behavior of Irix iconv.
59292
59293 2000-04-05  Paul Eggert  <eggert@twinsun.com>
59294
59295         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
59296         IRIX if the installer said otherwise.
59297
59298 2000-04-05  Jim Meyering  <meyering@lucent.com>
59299
59300         Portability tweaks required for ultrix4.3.
59301         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
59302         (jm_CHECK_DECLS): Add getutent to the list of functions.
59303         (_jm_DECL_HEADERS): Add utmpx.h.
59304         From John David Anglin.
59305
59306         * m4/strftime.m4: Back out the 2000-04-02 change.
59307         Instead of that change, simply undefine putenv in the test program.
59308
59309 2000-04-05  Jim Meyering  <meyering@lucent.com>
59310
59311         Portability tweaks required for ultrix4.3.
59312         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
59313         getutent.
59314         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
59315         * lib/canon-host.c: Declare strdup.
59316         * lib/path-concat.c: Likewise.
59317         From John David Anglin.
59318
59319 2000-04-04  Jim Meyering  <meyering@lucent.com>
59320
59321         Be more DOS 8.3-friendly.
59322         * lib/ref-add.sin: Renamed from ref-add.sed.in.
59323         * lib/ref-del.sin: Renamed from ref-del.sed.in.
59324         * lib/Makefile.am: Reflect renaming.
59325         Reported by Eli Zaretskii.
59326
59327         Use a temporary file name that won't clash with `charset.alias'
59328         in the DOS 8.3 name space.
59329         * lib/Makefile.am (charset_tmp): Define.
59330         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
59331         (uninstall-local): Likewise.
59332         Reported by Eli Zaretskii.
59333
59334 2000-04-03  Jim Meyering  <meyering@lucent.com>
59335
59336         * m4/gettext.m4: Fix typo in comment.
59337
59338         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
59339         textutils/configure.in).  Suggestion from Paul Eggert.
59340         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
59341
59342 2000-04-02  Paul Eggert  <eggert@twinsun.com>
59343
59344         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
59345         variable in the shell rather than using putenv, which isn't
59346         portable.  This avoids the configure-time inter-test dependency
59347         on the potentially-renamed putenv function.
59348
59349 2000-03-30  Paul Eggert  <eggert@twinsun.com>
59350
59351         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
59352         before checking struct stat.st_blksize, so that
59353         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
59354
59355 2000-03-29  Paul Eggert  <eggert@twinsun.com>
59356
59357         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
59358         since strftime.c uses HAVE_STRFTIME to decide whether to use
59359         the underlying strftime.
59360
59361 2000-03-29  Paul Eggert  <eggert@twinsun.com>
59362
59363         * lib/time/strftime.c (my_strftime): Make sure we call the system
59364         strftime, not ourselves, when invoking the underlying strftime.
59365
59366 2000-03-24  Jim Meyering  <meyering@lucent.com>
59367
59368         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
59369         (charset_alias): Define.
59370         (install-exec-local): Factor out common code.
59371         (uninstall-local): Split lines longer than 80.
59372         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
59373         (SUFFIXES): Define.
59374         (.sed.in.sed): New rule.  Don't redirect directly to $@.
59375         (CLEANFILES): Add ref-add.sed and ref-del.sed.
59376
59377 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
59378
59379         * lib/config.charset: Output a line containing "Packages using this
59380         file".
59381         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
59382         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
59383         ref-del.sed): New rules.
59384
59385 2000-03-17  Jim Meyering  <meyering@lucent.com>
59386
59387         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
59388         Otherwise, include <strings.h>
59389
59390 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
59391
59392         * lib/unicodeio.c (utf8_wctomb): New function.
59393         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
59394         format instead of in UCS-4 with platform dependent endianness.
59395
59396 2000-03-10  Jim Meyering  <meyering@lucent.com>
59397
59398         * m4/lib-check.m4: Look for getspnam in -lgen, too.
59399         From Marco Franzen.
59400
59401 2000-03-07  Paul Eggert  <eggert@twinsun.com>
59402
59403         * lib/savedir.c (savedir): Work even if directory size is
59404         negative; this can happen with some screwy NFS configurations.
59405
59406 2000-03-06  Jim Meyering  <meyering@lucent.com>
59407
59408         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
59409         if it's NULL (because we ran out of memory).  From Bruno Haible.
59410
59411 2000-03-05  Jim Meyering  <meyering@lucent.com>
59412
59413         * lib/localcharset.c ("path-concat.h"): Include.
59414         (get_charset_aliases): Use path_concat instead of ANSI string
59415         concatenation.
59416
59417         * lib/unicodeio.h (PARAMS): Define.
59418         Use it to guard prototype.
59419
59420 2000-03-04  Jim Meyering  <meyering@lucent.com>
59421
59422         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
59423         for lib/localcharset.c.
59424
59425 2000-03-04  Jim Meyering  <meyering@lucent.com>
59426
59427         * lib/Makefile.am (install-exec-local): Create $(libdir) before
59428         installing into it.
59429         (uninstall-local): Uncomment this rule so `make distcheck' works
59430         once again.
59431
59432         * lib/unicodeio.c (<errno.h>): Include it.
59433         (errno): Declare if not defined.
59434
59435         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
59436
59437         * lib/config.charset: New version, incorporating remarks from a linux
59438         i18n mailing list.  From Bruno Haible.
59439
59440 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
59441
59442         * m4/codeset.m4: New file.
59443         * m4/iconv.m4: New file.
59444         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
59445
59446 2000-03-03  Jim Meyering  <meyering@lucent.com>
59447
59448         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
59449
59450 2000-03-02  Jim Meyering  <meyering@lucent.com>
59451
59452         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
59453         the messages come out on separate lines.
59454
59455         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
59456         rather than jm_CHECK_DECLARATIONS.
59457         * m4/decl.m4: Remove now-unused file.
59458
59459         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
59460         geteuid.
59461
59462 2000-03-02  Jim Meyering  <meyering@lucent.com>
59463
59464         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
59465
59466 2000-03-01  Jim Meyering  <meyering@lucent.com>
59467
59468         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
59469         * lib/unicodeio.c: Likewise.
59470
59471 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
59472
59473         * lib/config.charset: New file.
59474         * lib/localcharset.c: New file.
59475         * lib/unicodeio.h, lib/unicodeio.c: New files.
59476         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
59477         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
59478         (noinst_HEADERS): Add unicodeio.h.
59479         (all-local, install-exec-local, charset.alias): New targets.
59480
59481 2000-02-28  Paul Eggert  <eggert@twinsun.com>
59482
59483         * lib/quotearg.c (ALERT_CHAR): New macro.
59484         (quotearg_buffer_restyled): Use it.
59485
59486 2000-02-27  Jim Meyering  <meyering@lucent.com>
59487
59488         * m4/check-decl.m4: Add getenv to the list.
59489
59490 2000-02-27  Jim Meyering  <meyering@lucent.com>
59491
59492         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
59493         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
59494
59495         * lib/backupfile.c: Guard inclusion of stdlib.h with
59496         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
59497         Declare malloc if needed.
59498
59499         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
59500         `#ifndef HAVE_DECL..'
59501         now that autoconf always defines the HAVE_DECL_ symbols.
59502         * lib/human.c: Likewise.
59503         * lib/same.c: Likewise.
59504         * lib/strtoumax.c: Likewise.
59505
59506         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
59507         declaration check was not run.
59508         * lib/hash.c: Likewise.
59509         * lib/human.c: Likewise.
59510         * lib/same.c: Likewise.
59511         * lib/strtoumax.c: Likewise.
59512
59513         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
59514         `.', then first look up the entire `.'-containing string as a login
59515         name.
59516
59517 2000-02-23  Jim Meyering  <meyering@lucent.com>
59518
59519         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
59520         in place of my hack.
59521
59522 2000-02-18  Paul Eggert  <eggert@twinsun.com>
59523
59524         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
59525         (textint): New typedef.
59526         (parser_control): Member year changed from int to textint.
59527         All uses changed.
59528         (YYSTYPE): Removed; replaced by %union with int and textint members.
59529         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
59530         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
59531         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
59532         (tSNUMBER, tUNUMBER): Now of type <textintval>.
59533         (date, number, to_year): Use width of number in digits, not its value,
59534         to determine whether it's a 2-digit year, or a 2-digit time.
59535         (yylex): Store number of digits of numeric tokens.
59536         Reported by John Kendall.
59537
59538         (parser_control): Changed from struct parser_control to typedef (for
59539         consistency).  All uses changed.
59540
59541         (tID): Removed; not used.
59542         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
59543
59544 2000-02-14  Paul Eggert  <eggert@twinsun.com>
59545
59546         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
59547         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
59548
59549 2000-02-12  Jim Meyering  <meyering@lucent.com>
59550
59551         * lib/userspec.c (ISDIGIT): Define it.
59552         (isdigit): Remove definition.
59553         (is_number): Use ISDIGIT, not isdigit.
59554         <libintl.h>: Include.
59555         (_ and N_): Define.
59556         (parse_user_spec): Mark translatable strings.
59557
59558 2000-02-10  Jim Meyering  <meyering@lucent.com>
59559
59560         With these changes, nanosleep.[ch] are finally enough like the other
59561         lib/* replacement files to compile on a few more losing systems.
59562
59563         * lib/nanosleep.h: Don't include config.h.
59564         Remove prototype from declaration of nanosleep.
59565         (PARAMS): Remove now-unneeded definition.
59566         * lib/nanosleep.c: #undef nanosleep.
59567         (rpl_nanosleep): Rename from nanosleep.
59568
59569 2000-02-10  Jim Meyering  <meyering@lucent.com>
59570
59571         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
59572         gnu_nanosleep to rpl_nanosleep.
59573
59574 2000-02-09  Jim Meyering  <meyering@lucent.com>
59575
59576         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
59577         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
59578
59579 2000-02-08  Akim Demaille  <akim@epita.fr>
59580
59581         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
59582         `[' and `]' and remove uses of `changequote'.
59583         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
59584         (AC_SYS_LARGEFILE): Likewise.
59585         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
59586         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
59587         of changequote.
59588         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
59589         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
59590         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
59591         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
59592
59593 2000-02-05  Jim Meyering  <meyering@lucent.com>
59594
59595         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
59596         Remove explicit use of AC_HEADER_TIME.  It is required by
59597         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
59598         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
59599         in autoconf whereby the expansion of the latter ended up preceding
59600         the expansion of its prerequisite, AC_HEADER_TIME.
59601         Reported by Volker Borchert.
59602
59603 2000-02-03  Jim Meyering  <meyering@lucent.com>
59604
59605         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
59606
59607 2000-02-03  Jim Meyering  <meyering@lucent.com>
59608
59609         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
59610         rather than with `#if HAVE_UTMPNAME'.
59611
59612 2000-02-02  Jim Meyering  <meyering@lucent.com>
59613
59614         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
59615         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
59616         Reported by Eli Zaretskii.
59617
59618 2000-02-01  Jim Meyering  <meyering@lucent.com>
59619
59620         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
59621
59622 2000-01-31  Jim Meyering  <meyering@lucent.com>
59623
59624         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
59625         functions.  Add the time.h and sys/time.h headers along with the
59626         AC_REQUIRE'ment of AC_HEADER_TIME.
59627
59628 2000-01-31  Jim Meyering  <meyering@lucent.com>
59629
59630         * lib/nanosleep.h (nanosleep): Guard declaration with
59631         `#if ! HAVE_DECL_NANOSLEEP'.
59632         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
59633         the declaration in that vendor's sys/timers.h.
59634         Reported by Christian Krackowizer.
59635
59636         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
59637         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
59638         (ISPRINT): Likewise.
59639         Reported by Tom Tromey.
59640
59641 2000-01-30  Jim Meyering  <meyering@lucent.com>
59642
59643         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
59644
59645         * m4/prereq.m4 (utmp_includes): Define.
59646         Check for ut_user and ut_name members in both struct utmpx
59647         and struct utmp.
59648
59649 2000-01-30  Jim Meyering  <meyering@lucent.com>
59650
59651         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
59652         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
59653         header files where only utmpx.ut_user is declared.
59654
59655         * lib/readutmp.h (UT_USER): Define.
59656
59657 2000-01-29  Jim Meyering  <meyering@lucent.com>
59658
59659         * m4/lib-check.m4: New file containing library-related checks from
59660         fileutils and sh-utils (textutils had none).
59661
59662 2000-01-28  Jim Meyering  <meyering@lucent.com>
59663
59664         * m4/perl.m4: Change format of warning message to look more like that
59665         from the missing script.  Suggestion from François Pinard.
59666
59667 2000-01-25  Jim Meyering  <meyering@lucent.com>
59668
59669         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
59670         well as time.h in the compile check.
59671         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
59672         Fix typo in cross-compiling case: s/yes/no/.
59673
59674 2000-01-23  Jim Meyering  <meyering@lucent.com>
59675
59676         * m4/jm-macros.m4: Move df-related tests here from
59677         fileutils/configure.in
59678
59679         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
59680         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
59681
59682         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
59683         s/space/ac_fsusage_space/.
59684         (jm_FILE_SYSTEM_USAGE): Take two parameters.
59685
59686         * m4/ftruncate.m4: New file (derived from part of
59687         fileutils/configure.in).
59688         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
59689         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
59690
59691         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
59692         AC_SUBST these here, rather than just in sh-util/configure.in, so
59693         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
59694         all the same.
59695         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
59696         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
59697         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
59698         (AC_SUBST(POW_LIBM)): Likewise.
59699         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
59700
59701 2000-01-23  Jim Meyering  <meyering@lucent.com>
59702
59703         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
59704         obstack.c.
59705
59706 2000-01-22  Jim Meyering  <meyering@lucent.com>
59707
59708         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
59709
59710         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
59711
59712         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
59713         configure.in
59714         (AC_CHECK_HEADERS): Likewise for sh-utils.
59715         (AC_CHECK_HEADERS): Likewise for textutils.
59716         Merge the three lists of headers.
59717
59718         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
59719         from fileutils' configure.in.
59720
59721         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
59722         code. Moved tests into their own function (_jm_DECL_HEADERS) in
59723         check-decl.m4.
59724
59725         * m4/check-decl.m4: Use #if rather than #ifdef.
59726         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
59727         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
59728         (_jm_DECL_HEADERS): Define new function.
59729         (jm_CHECK_DECLARATIONS): Require it.
59730
59731 2000-01-22  Jim Meyering  <meyering@lucent.com>
59732
59733         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
59734         [! HAVE_DECL_STRTOULL]: Declare strtoull.
59735         Required for some AIX systems.  Reported by Christian Krackowizer.
59736         [TESTING] (main): New function.
59737
59738         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
59739         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
59740         letters.
59741
59742         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
59743         iswprint.
59744
59745         * lib/strverscmp.c (ISDIGIT): Define.
59746         (strverscmp): Use ISDIGIT, not isdigit.
59747
59748 2000-01-19  Jim Meyering  <meyering@lucent.com>
59749
59750         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
59751         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
59752         defines `struct timespec' in <sys/time.h>
59753
59754         * m4/c-bs-a.m4: Remove uses of changequote altogether.
59755         Thanks to Akim for explaining.
59756
59757 2000-01-17  Paul Eggert  <eggert@twinsun.com>
59758
59759         * lib/nanosleep.c (nanosleep):
59760         Don't use SA_INTERRUPT to decide whether to call sigaction, as
59761         POSIX.1 doesn't require SA_INTERRUPT and some systems
59762         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
59763         it's been part of POSIX.1 since day 1 (in 1988).
59764
59765 2000-01-17  Jim Meyering  <meyering@lucent.com>
59766
59767         * lib/interlock: Remove unused file.  Reported by François Pinard.
59768
59769 2000-01-16  Paul Eggert  <eggert@twinsun.com>
59770
59771         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
59772         alert, backslash, formfeed, and vertical tab unnecessarily in
59773         shell quoting style.
59774
59775 2000-01-16  Jim Meyering  <meyering@lucent.com>
59776
59777         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
59778         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
59779         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
59780         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
59781
59782 2000-01-16  Jim Meyering  <meyering@lucent.com>
59783
59784         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
59785         because the latter didn't work.
59786
59787 2000-01-15  Jim Meyering  <meyering@lucent.com>
59788
59789         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
59790         (AC_REPLACE_FUNCS): Add memcpy and memset.
59791         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
59792         Add strpbrk.
59793         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
59794
59795 2000-01-12  Jim Meyering  <meyering@lucent.com>
59796
59797         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
59798         (jm_PREREQ): Use it.
59799         (jm_PREREQ_READUTMP): New macro.
59800         (jm_PREREQ): Use it.
59801
59802 2000-01-11  Paul Eggert  <eggert@twinsun.com>
59803
59804         Quote multibyte characters correctly.
59805         * m4/c-bs-a.m4: New file.
59806         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
59807         (jm_PREREQ): Use it.
59808
59809 2000-01-11  Paul Eggert  <eggert@twinsun.com>
59810
59811         * m4/uintmax_t.m4: Port to autoconf 2.13.
59812
59813 2000-01-08  Jim Meyering  <meyering@ascend.com>
59814
59815         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
59816         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
59817
59818 2000-01-04  Jim Meyering  <meyering@ascend.com>
59819
59820         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
59821         jm_STRUCT_DIRENT_D_TYPE.
59822         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
59823         jm_STRUCT_DIRENT_D_INO.
59824         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
59825         jm_STRUCT_UTIMBUF.
59826         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
59827         renamings.
59828         * m4/utime.m4: Likewise.
59829
59830         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
59831         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
59832
59833 2000-01-03  Paul Eggert  <eggert@twinsun.com>
59834
59835         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
59836         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
59837
59838 2000-01-02  Jim Meyering  <meyering@ascend.com>
59839
59840         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
59841         remember if this is necessary.
59842
59843 1999-12-26  Jim Meyering  <meyering@ascend.com>
59844
59845         * m4/jm-macros.m4: Use it here.
59846         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
59847
59848 1999-12-23  Jim Meyering  <meyering@ascend.com>
59849
59850         * m4/jm-macros.m4: Check for clock_gettime (moved from
59851         fileutils/configure.in)
59852         Check for gettimeofday.
59853
59854 1999-12-20  Jim Meyering  <meyering@ascend.com>
59855
59856         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
59857         autoconf-2.14a-1999-12-20.
59858
59859 1999-12-19  Jim Meyering  <meyering@ascend.com>
59860
59861         * m4/lstat-slash.m4: New file.
59862         * m4/jm-macros.m4: Use the new macro:
59863         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
59864
59865 1999-12-07  Jim Meyering  <meyering@ascend.com>
59866
59867         * m4/perl.m4: Require that File::Compare be available, too.
59868         Too many systems seem to lack it.
59869
59870         * m4/strftime.m4: Add checks for most of the cpp macros tested in
59871         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
59872
59873 1999-11-18  Paul Eggert  <eggert@twinsun.com>
59874
59875         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
59876         problem with the QNX 4.25 shell, which doesn't propagate exit
59877         status of failed commands inside shell assignments.
59878
59879 1999-11-17  Jim Meyering  <meyering@ascend.com>
59880
59881         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
59882
59883 1999-11-07  Jim Meyering  <meyering@ascend.com>
59884
59885         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
59886
59887 1999-11-06  Jim Meyering  <meyering@ascend.com>
59888
59889         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
59890         * m4/jm-macros.m4 (jm_MACROS): Use it here.
59891
59892 1999-11-05  Jim Meyering  <meyering@ascend.com>
59893
59894         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
59895         configure.in of textutils, fileutils, and sh-utils into this one
59896         (shared between those packages) file.
59897         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
59898         AC_STRUCT_ST_BLKSIZE.
59899
59900 1999-11-03  Jim Meyering  <meyering@ascend.com>
59901
59902         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
59903         of AC_CHECK_TYPE checks includes unistd.h.
59904         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
59905         Suggestion from Akim Demaille.
59906
59907 1999-10-30  Jim Meyering  <meyering@ascend.com>
59908
59909         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
59910         m4-quoted string.
59911         * m4/ls-mntd-fs.m4: Likewise.
59912         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
59913         * m4/jm-winsz1.m4: Likewise.
59914
59915         * m4/const.m4: Remove file, since the fix made it into the experimental
59916         version of autoconf.
59917         * m4/mktime.m4: Likewise.
59918
59919         * m4/check-type.m4: Remove file, now that the latest version of
59920         AC_CHECK_TYPE takes a third arg to specify additional #includes.
59921
59922         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
59923         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
59924         AC_CHECK_TYPE.
59925
59926 1999-10-04  Jim Meyering  <meyering@ascend.com>
59927
59928         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
59929
59930 1999-09-22  Paul Eggert  <eggert@twinsun.com>
59931
59932         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
59933         2.95.1 bug with HP-UX 10.20.
59934
59935 1999-09-17  Jim Meyering  <meyering@ascend.com>
59936
59937         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
59938         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
59939         due to missing strdup (against sh-utils-2.0).
59940
59941 1999-08-29  Jim Meyering  <meyering@ascend.com>
59942
59943         * m4/jm-macros.m4: Require jm_BISON.
59944         * m4/bison.m4: New file.
59945
59946 1999-08-17  Paul Eggert  <eggert@twinsun.com>
59947
59948         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
59949         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
59950
59951 1999-08-05  Jim Meyering  <meyering@ascend.com>
59952
59953         * m4/getline.m4: Rename test file from conftestdata to conftest.data
59954         to avoid conflicts with `conftest' on 8+3 filesystems.
59955         Suggestion from Eli Zaretskii.
59956
59957 1999-08-04  Jim Meyering  <meyering@ascend.com>
59958
59959         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
59960         fileutils and sh-utils (textutils's getline test was inadequate).
59961         (AM_FUNC_GETLINE): Run this test.
59962         (AC_CHECK_FUNCS): Check for getdelim.
59963         Reported by Bob Proulx.
59964
59965 1999-08-02  Jim Meyering  <meyering@ascend.com>
59966
59967         * m4/jm-macros.m4: Add a comment.
59968
59969 1999-08-01  Paul Eggert  <eggert@twinsun.com>
59970
59971         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
59972         <inttypes.h> defines strtoumax as a macro (and not as a
59973         function).
59974
59975 1999-08-01  Paul Eggert  <eggert@twinsun.com>
59976
59977         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
59978         that we can shift, multiply and divide unsigned long long
59979         values; Ultrix cc can't do it.
59980
59981 1999-08-01  Paul Eggert  <eggert@twinsun.com>
59982
59983         * m4/mktime.m4: New file, which is a preview of what should appear
59984         in the next public autoconf release.
59985
59986 1999-08-01  Paul Eggert  <eggert@twinsun.com>
59987
59988         * m4/lfs.m4: Remove this file.
59989         * m4/largefile.m4: New file.  It contains the old contents of
59990         lfs.m4, except that all names with prefix AC_LFS have been
59991         changed to use the prefix AC_SYS_LARGEFILE instead, to be
59992         compatible with future autoconf versions.  Also, some minor m4
59993         quoting problems have been fixed.
59994
59995 1999-08-01  Paul Eggert  <eggert@twinsun.com>
59996
59997         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
59998         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
59999         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
60000         and simplify the shell code.
60001
60002 1999-08-01  Jim Meyering  <meyering@ascend.com>
60003
60004         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
60005         m4.
60006
60007 1999-07-20  Jim Meyering  <meyering@ascend.com>
60008
60009         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
60010
60011 1999-07-15  Jim Meyering  <meyering@ascend.com>
60012
60013         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
60014
60015 1999-05-22  Jim Meyering  <meyering@ascend.com>
60016
60017         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
60018
60019 1999-05-20  Jim Meyering  <meyering@ascend.com>
60020
60021         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
60022         Add a colon after each `then' in case $4 is empty.
60023
60024 1999-05-16  Jim Meyering  <meyering@ascend.com>
60025
60026         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
60027
60028 1999-05-10  Jim Meyering  <meyering@ascend.com>
60029
60030         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
60031
60032         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
60033         AC_FUNC_MKTIME.
60034
60035 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
60036
60037         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
60038
60039 1999-05-04  Paul Eggert  <eggert@twinsun.com>
60040
60041         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
60042         not CPPFLAGS, so that linking works correctly in IRIX.
60043
60044 1999-04-30  Paul Eggert  <eggert@twinsun.com>
60045
60046         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
60047
60048 1999-04-20  Paul Eggert  <eggert@twinsun.com>
60049
60050         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
60051         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
60052         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
60053         jm_AC_TYPE_UNSIGNED_LONG_LONG.
60054         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
60055
60056         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
60057
60058 1999-04-20  Jim Meyering  <meyering@ascend.com>
60059
60060         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
60061         AC_REPLACE xstroull if necessary.  From Paul Eggert.
60062         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
60063
60064 1999-04-18  Jim Meyering  <meyering@ascend.com>
60065
60066         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
60067         * m4/jm-macros.m4: Use it.
60068
60069 1999-04-06  Jim Meyering  <meyering@ascend.com>
60070
60071         * m4/strftime.m4: Remove test for %f.
60072
60073 1999-03-29  Jim Meyering  <meyering@ascend.com>
60074
60075         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
60076         superset of the AC_TYPE_* checks in the textutils, fileutils,
60077         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
60078         AC_TYPE_PID_T.
60079
60080 1999-03-28  Jim Meyering  <meyering@ascend.com>
60081
60082         * m4/jm-macros.m4: Define GNU_PACKAGE here.
60083         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
60084         replaced e.g., in the *.sh files of the sh-utils.
60085
60086 1999-03-20  Jim Meyering  <meyering@ascend.com>
60087
60088         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
60089         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
60090         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
60091
60092 1999-03-19  Jim Meyering  <meyering@ascend.com>
60093
60094         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
60095
60096 1999-03-12  Jim Meyering  <meyering@ascend.com>
60097
60098         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
60099
60100 1999-03-07  Jim Meyering  <meyering@ascend.com>
60101
60102         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
60103         declared.
60104
60105 1999-02-17  Jim Meyering  <meyering@ascend.com>
60106
60107         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
60108         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
60109
60110 1999-02-07  Jim Meyering  <meyering@ascend.com>
60111
60112         * m4/group-member.m4: New file -- extracted from sh-utils'
60113         configure.in.
60114
60115         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
60116         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
60117
60118 1999-02-06  Jim Meyering  <meyering@ascend.com>
60119
60120         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
60121         * m4/fnmatch.m4: Likewise.
60122         * m4/getgroups.m4: Likewise.
60123         * m4/lstat.m4: Likewise.
60124         * m4/malloc.m4: Likewise.
60125         * m4/putenv.m4: Likewise.
60126         * m4/realloc.m4: Likewise.
60127         * m4/regex.m4: Likewise.
60128         * m4/stat.m4: Likewise.
60129         * m4/strftime.m4: Likewise.
60130         Suggestion from Alain Magloire.
60131
60132         * m4/chown.m4: Use `.$ac_objext', not `.o'.
60133         * m4/fnmatch.m4: Likewise.
60134         * m4/getgroups.m4: Likewise.
60135         * m4/getline.m4: Likewise.
60136         * m4/lstat.m4: Likewise.
60137         * m4/malloc.m4: Likewise.
60138         * m4/memcmp.m4: Likewise.
60139         * m4/putenv.m4: Likewise.
60140         * m4/realloc.m4: Likewise.
60141         * m4/regex.m4: Likewise.
60142         * m4/stat.m4: Likewise.
60143         * m4/strftime.m4: Likewise.
60144         Suggestion from Alain Magloire.
60145
60146         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
60147         an argument.
60148
60149         * m4/regex.m4: Add a run-time Test for proper operation of
60150         re_compile_pattern.
60151
60152 1999-01-31  Jim Meyering  <meyering@ascend.com>
60153
60154         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
60155
60156 1999-01-30  Jim Meyering  <meyering@ascend.com>
60157
60158         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
60159
60160         * m4/jm-mktime.m4: Make this a wrapper around the official
60161         AM_FUNC_MKTIME rather than my private copy, now that the official one
60162         is up to date.
60163         * m4/mktime.m4: Remove file.
60164
60165         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
60166         * m4/uptime.m4: Likewise.
60167         * m4/uintmax_t.m4: Likewise.
60168
60169 1999-01-28  Jim Meyering  <meyering@ascend.com>
60170
60171         * m4/jm-macros.m4: Use jm_AFS.
60172         * m4/afs.m4: New file (from fileutils' configure.in).
60173
60174         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
60175         * m4/chown.m4: Likewise.
60176         * m4/d-ino.m4: Likewise.
60177         * m4/d-type.m4: Likewise.
60178         * m4/fnmatch.m4: Likewise.
60179         * m4/getgroups.m4: Likewise.
60180         * m4/gettext.m4: Likewise.
60181         * m4/jm-mktime.m4: Likewise.
60182         * m4/jm-winsz2.m4: Likewise.
60183         * m4/lcmessage.m4: Likewise.
60184         * m4/ls-mntd-fs.m4: Likewise.
60185         * m4/malloc.m4: Likewise.
60186         * m4/memcmp.m4: Likewise.
60187         * m4/putenv.m4: Likewise.
60188         * m4/realloc.m4: Likewise.
60189         * m4/st_mtim.m4: Likewise.
60190         * m4/strftime.m4: Likewise.
60191
60192 1999-01-16  Jim Meyering  <meyering@ascend.com>
60193
60194         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
60195         (ARGMATCH_DIE_DECL): Define.
60196
60197 1999-01-12  Jim Meyering  <meyering@ascend.com>
60198
60199         * m4/Makefile.am.in: Rewrite to avoid using fmt.
60200         Reported by Lars Hecking.
60201
60202 1999-01-10  Jim Meyering  <meyering@ascend.com>
60203
60204         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
60205         gross kludge.
60206         * m4/inttypes_h.m4: Likewise.
60207         * m4/lstat.m4: Likewise.
60208         * m4/malloc.m4: Likewise.
60209         * m4/readdir.m4: Likewise.
60210         * m4/realloc.m4: Likewise.
60211         * m4/st_dm_mode.m4: Likewise.
60212         * m4/stat.m4: Likewise.
60213         * m4/utimbuf.m4: Likewise.
60214         * m4/utimes.m4: Likewise.
60215
60216         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
60217         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
60218         comments in config.h.in are meaningful.
60219
60220         * m4/jm-macros.m4: Require autoconf-2.13 here.
60221
60222         * m4/regex.m4: By default, don't use the included regex.c on systems
60223         with glibc 2.  Suggestion from Uli Drepper.
60224
60225 1999-01-02  Jim Meyering  <meyering@ascend.com>
60226
60227         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
60228
60229 1998-12-18  Jim Meyering  <meyering@ascend.com>
60230
60231         * m4/Makefile.am.in (Makefile.am): Simplify rule.
60232         Based on a suggestion from Lars Hecking.
60233
60234 1998-11-16  Paul Eggert  <eggert@twinsun.com>
60235
60236         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
60237
60238 1998-11-16  Jim Meyering  <meyering@ascend.com>
60239
60240         * m4/lfs.m4: Double-quote the `uname...` expression.
60241
60242 1998-11-14  Jim Meyering  <meyering@ascend.com>
60243
60244         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
60245         * m4/stat.m4: Likewise.
60246
60247 1998-11-03  Jim Meyering  <meyering@ascend.com>
60248
60249         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
60250         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
60251
60252 1998-10-18  Jim Meyering  <meyering@ascend.com>
60253
60254         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
60255
60256 1998-10-17  Jim Meyering  <meyering@ascend.com>
60257
60258         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
60259         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
60260         calls for those previously hard-coded headers.  Instead, take a new
60261         parameter.
60262         (jm_CHECK_DECLARATIONS): Reflect interface change.
60263         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
60264         (jm_CHECK_DECL_LOCALTIME_R): New macro.
60265
60266         * m4/mktime.m4: Test for spring-forward gap before long-running test.
60267
60268 1998-10-14  Jim Meyering  <meyering@ascend.com>
60269
60270         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
60271         instead of "TZ=America/Vancouver".  From Paul Eggert.
60272
60273 1998-10-11  Jim Meyering  <meyering@ascend.com>
60274
60275         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
60276         This adds a test for a recently added compatibility fix for mktime.c.
60277         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
60278
60279 1998-09-27  Jim Meyering  <meyering@ascend.com>
60280
60281         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
60282
60283         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
60284         ../configure.in, including a change from Gordon Matzigkeit to allow
60285         cross-compiling for the Hurd.
60286
60287         * m4/glibc.m4: New file/macro to test for the GNU C Library
60288         versions 1 and 2.  From Gordon Matzigkeit.
60289         Indent.
60290
60291 1998-09-21  Jim Meyering  <meyering@ascend.com>
60292
60293         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
60294
60295 1998-08-18  Paul Eggert  <eggert@twinsun.com>
60296
60297         Port nanosecond-resolution times to UnixWare 2.1.2 and
60298         pedantic Solaris 2.6.
60299
60300         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
60301         AC_STRUCT_ST_MTIM.
60302         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
60303         Generate name of ns member, instead of just 1 or undef.
60304         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
60305
60306 1998-08-15  Jim Meyering  <meyering@ascend.com>
60307
60308         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
60309         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
60310         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
60311         instead of jm_TYPE_SSIZE_T.
60312
60313 1998-08-12  Jim Meyering  <meyering@ascend.com>
60314
60315         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
60316
60317 1998-08-02  Jim Meyering  <meyering@ascend.com>
60318
60319         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
60320         in acconfig.h manually.
60321
60322 1998-07-31  Paul Eggert  <eggert@twinsun.com>
60323
60324         * m4/st_mtim.m4: New file.
60325
60326 1998-07-28  Jim Meyering  <meyering@ascend.com>
60327
60328         * m4/utimes.m4: Undef stat.
60329
60330 1998-07-25  Jim Meyering  <meyering@ascend.com>
60331
60332         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
60333         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
60334
60335 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
60336
60337         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
60338         uid and gid actually remain unchanged.
60339
60340 1998-07-07  Jim Meyering  <meyering@ascend.com>
60341
60342         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
60343
60344 1998-07-04  Jim Meyering  <meyering@ascend.com>
60345
60346         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
60347         to prove that this macro can be used in packages without regex.c.
60348
60349 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
60350
60351         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
60352         is to be used.
60353
60354 1998-07-03  Jim Meyering  <meyering@ascend.com>
60355
60356         * m4/gettext.m4: Add -lintl if it's found to be necessary.
60357
60358         * m4/gettext.m4: New file -- from gettext-0.10.35.
60359         * m4/lcmessage.m4: Likewise.
60360         * m4/progtest.m4: Likewise.
60361
60362         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
60363         * m4/jm-macros.m4: Require the new macro.
60364
60365 1998-06-29  Jim Meyering  <meyering@ascend.com>
60366
60367         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
60368         for the definition of NGROUPS (used in a system header included
60369         by sys/mount.h).
60370
60371 1998-06-28  Jim Meyering  <meyering@ascend.com>
60372
60373         * m4/ls-mntd-fs.m4: New file.
60374         * m4/fstypename.m4: New file.
60375
60376         * m4/jm-macros.m4: Require the new macro.
60377         * m4/jm-glibc-io.m4: New file.
60378
60379 1998-05-19  Jim Meyering  <meyering@ascend.com>
60380
60381         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
60382         * m4/lchown.m4: New file.
60383
60384         * m4/Makefile.am.in: New file.
60385         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
60386
60387 1998-05-14  Jim Meyering  <meyering@ascend.com>
60388
60389         * m4/Makefile.am (EXTRA_DIST): Add them.
60390         * m4/jm-macros.m4: New file.
60391         * m4/utimbuf.m4: New file.
60392
60393 1998-05-12  Jim Meyering  <meyering@ascend.com>
60394
60395         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
60396
60397 1998-05-11  Jim Meyering  <meyering@ascend.com>
60398
60399         * m4/isc-posix.m4: New file.
60400
60401 1998-05-10  Jim Meyering  <meyering@ascend.com>
60402
60403         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
60404
60405 1998-05-09  Jim Meyering  <meyering@ascend.com>
60406
60407         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
60408         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
60409         with automake.
60410
60411         * m4/ssize_t.m4: New file.
60412         * m4/mktime.m4: Remove file -- the new automake has this now.
60413
60414 1998-04-26  Jim Meyering  <meyering@ascend.com>
60415
60416         * m4/assert.m4: New file.
60417         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
60418
60419 1998-04-05  Jim Meyering  <meyering@ascend.com>
60420
60421         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
60422         (jm_PREREQ): Use it here.
60423
60424 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
60425
60426         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
60427         in acconfig.h.
60428
60429 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
60430
60431         * m4/prereq.m4: New file.
60432         * m4/error.m4: New file.
60433         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
60434
60435 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
60436
60437         * m4/getline.m4: Don't set am_cv_func_working_getline before the
60438         cache-check for the same variable -- that defeated the purpose of
60439         the test; the test program was never run.  This was a problem only
60440         on systems with losing getline functions -- HP-UX 10.20 is one.
60441         Reported by Bjorn Helgaas.
60442
60443 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
60444
60445         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
60446
60447 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
60448
60449         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
60450
60451         * m4/const.m4: New file.  Use an initializer in this declaration
60452         typedef int charset[2]; const charset x;
60453         Reported by Bob Glickstein.
60454
60455 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
60456
60457         * m4/chown.m4: Fix reversed types on -1 args to chown.
60458         From Kaveh Ghazi.
60459
60460 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
60461
60462         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
60463         Add lseek and memchr.
60464
60465         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
60466         T.E.Dickey <dickey@clark.net> said that some older preprocessors
60467         have a 20-character limit on names.
60468
60469 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
60470
60471         * m4/inttypes_h.m4: New file.
60472         * m4/uintmax_t.m4: New file.
60473         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
60474
60475
60476         -----
60477
60478         Local Variables:
60479         coding: utf-8
60480         End:
60481
60482         Copyright (C) 1997-2009 Free Software Foundation, Inc.
60483
60484         Copying and distribution of this file, with or without
60485         modification, are permitted provided the copyright notice
60486         and this notice are preserved.